LangChain + 模型上下文协议(MCP):AI 智能体 Demo

MCP(Model Context Protocol) 是由 Anthropic 推出的开源协议,旨在为大型语言模型(LLM)提供安全、可解释、可扩展的外部数据与工具集成方案。


1. 背景与动机:MCP 的意义何在?

在基于大语言模型构建应用时,一个核心痛点是 数据与工具的接入困难。模型虽然能力强大,但通常处于“沙盒”状态,无法直接访问外部环境。

为此,RAG(检索增强生成)、微调、插件等方案陆续诞生。而 MCP 的目标正是统一接口协议,以便标准化集成上下文、工具、服务与数据源。

img

✅ MCP 的愿景

  • 提供标准协议:简化 LLM 与外部系统的通信
  • 安全可扩展:支持权限管理、细粒度访问控制
  • 模块化生态:建立社区驱动的“AI工具市场”

可以将 MCP 看作 AI 世界的“软件版 USB-C”。

MCP 架构图MCP 架构图

官方资源

  • MCP 协议简介:https://modelcontext.org/
  • GitHub 示例项目:https://github.com/modelcontextprotocol/servers

2. 如何用 LangChain 集成 MCP?

本节将通过实操演示,介绍如何将 LangChainMCP 工具集成,打造一个拥有算术能力的 AI 智能体。
注意:示例来自 https://github.com/langchain-ai/langchain-mcp-adapters

准备步骤概览:

步骤内容
1创建并激活 Python 虚拟环境
2安装必要依赖
3编写 MCP Server(数学工具)
4编写客户端接入 LangChain 智能体
5分析输出流程

3. 环境准备与依赖安装

创建虚拟环境

python3 -m venv MCP_Demo
source MCP_Demo/bin/activate

安装依赖:

pip install langchain-mcp-adapters langgraph langchain-openai
export OPENAI_API_KEY=<your_api_key>

请将文本`` 替换为您的OpenAI API密钥。

4. 编写 MCP Server(数学计算工具)

创建 math_server.py 文件:

在这里插入图片描述

运行服务器:

python3 math_server.py

5. 编写客户端(集成 LangGraph 智能体)

创建 client.py
在这里插入图片描述

运行客户端:

python3 client.py

6. 消息交互流程解析

完整消息

客户端输出如下:

在这里插入图片描述
在这里插入图片描述

执行流程说明

  1. 用户输入阶段

    • HumanMessage 记录原始问题:“3加5乘12等于多少?”
    • 包含元数据:消息ID、响应元数据等
  2. AI推理阶段

    • 第一步调用add工具计算3+5
    • 第二步调用multiply工具计算8x12
    • AIMessage 显示分步思考过程:
    • finish_reason: tool_calls 表示需要等待工具执行结果
  3. 工具执行阶段

    • add工具返回8(对应3+5)
    • multiply工具返回96(对应8x12)
    • ToolMessage 包含工具执行结果:
    • 每个结果都通过tool_call_id关联到对应的工具调用请求
  4. 最终响应阶段

    • 新的AIMessage生成自然语言答案
    • 使用LaTeX格式展示数学表达式:
    • finish_reason: stop 表示正常结束

7. 元数据与性能指标分析

关键字段说明

字段说明
token_usage记录各阶段的令牌消耗情况
system_fingerprint模型版本指纹(fp_eb9dce56a8)
tool_call_id工具调用的唯一关联标识
finish_reason终止类型(tool_calls/stop)

Token 使用情况示例

阶段输入 令牌输出令牌总计
初始请求7751128
最终响应14322165
总计22073293

8. 小结:MCP + LangChain 的价值

  • ✅ 标准化接入:无需为每种数据源编写专属适配器
  • ✅ 模块化复用:工具作为可组合单元,多智能体可复用
  • ✅ 提升智能体能力:突破“模型只能聊天”的边界
  • ✅ 安全可控:客户端-服务端通信可附带权限控制

如何零基础入门 / 学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

那么我作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,希望可以帮助到更多学习大模型的人!至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

全套AGI大模型学习大纲+路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

read-normal-img

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉 福利来袭优快云大礼包:《2025最全AI大模型学习资源包》免费分享,安全可点 👈

img

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

<think>好的,用户现在想要查找与MCP模型上下文协议)相关的演示或示例代码或教程。首先,我需要回顾一下之前提供的引用内容,特别是引用[3],里面提到MCP是一个开放协议,旨在标准化应用向LLM提供上下文的方式,类似于通用接口。但用户提供的引用中没有直接提到示例代码或教程,所以可能需要根据现有信息进行推断,或者建议用户查找相关资源的方法。 用户之前的问题是关于MCP的演示或示例代码,而之前的回答可能已经给出了一些方向,比如查看官方文档或GitHub仓库。现在需要进一步扩展这些建议,并提供更具体的步骤。 首先,我应该考虑MCP作为一个开放协议,可能会有官方提供的资源。比如,建议用户访问官方网站或GitHub查找示例代码。另外,考虑到MCP可能较新,社区资源可能有限,所以可以建议搜索GitHub、Stack Overflow等平台,或者关注相关论坛和博客。 另外,用户可能需要具体的配置示例,比如如何设置MCP上下文,或者如何集成到现有应用中。根据引用[3]中的描述,MCP类似于USB-C接口,可能需要定义标准化的数据格式和接口,所以可能需要编写配置文件或使用特定的SDK。 可能还需要提到,如果官方资源不足,可以尝试查找使用类似协议的项目,或者参考其他标准化接口的实现方式。例如,REST API或gRPC的示例可能对理解MCP的结构有帮助。 同时,需要注意用户的技术背景,可能更倾向于实际的代码示例,因此建议分步骤指导如何查找或构建示例,比如使用GitHub搜索关键词,检查官方文档的快速入门部分,或者加入开发者社区获取支持。 最后,确保回答结构清晰,分点说明,并提供备选方案,以防用户无法找到现有资源时,可以自行构建基础示例。</think>关于模型上下文协议MCP)的示例代码和教程,目前公开资源相对有限。以下是分步骤的解决方案: ### 1. 官方文档与GitHub仓库 首先建议访问MCP协议官方资源: - 访问[模型上下文协议官网](https://modelcontext.org/)查找"Getting Started"或"Examples"板块 - 在GitHub搜索关键词`ModelContextProtocol`或`mcp-protocol`,筛选最新更新时间排序的仓库 - 典型代码结构可能包含: ```yaml # 示例配置文件(假设) context_providers: - type: database connection: jdbc:mysql://localhost:3306/mcp_demo - type: api endpoint: https://api.dataservice.com/v1/context ``` ### 2. 协议实现参考 根据MCP标准化接口特性,可参考类似协议的实现模式: ```python # 伪代码示例:上下文生成器 class MCPContextBuilder: def __init__(self, data_sources): self.sources = data_sources def generate_context(self, query): context = [] for source in self.sources: if source.type == 'database': context.append(self._query_db(source, query)) elif source.type == 'api': context.append(self._call_api(source, query)) return self._format_mcp(context) ``` ### 3. 开发者社区资源 建议通过以下渠道获取最新信息: - 加入MCP官方Slack/Discord频道(需官网确认) - 在Stack Overflow使用`[model-context-protocol]`标签提问 - 关注AI工程化相关会议(如LLM DevCon)的议程公告 ### 4. 自建基础示例 若暂无公开示例,可通过协议文档自行构建: ```java // 假设的Java接口定义 public interface MCPAdapter { ContextPacket provideContext(UserQuery query); void configure(Map<String, Object> config); } ``` [^3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值