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


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

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

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

图片


 


    ✅ MCP 的愿景

    • 提供标准协议:简化 LLM 与外部系统的通信

    • 安全可扩展:支持权限管理、细粒度访问控制

    • 模块化生态:建立社区驱动的“AI工具市场”

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

    MCP 架构图

    MCP 架构图

    官方资源

    • MCP 协议简介:https://modelcontext.org/

    • GitHub 示例项目:https://github.com/modelcontextprotocol/servers


    2. 如何用 LangChain 集成 MCP?

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

    准备步骤概览:

    步骤内容

    1

    创建并激活 Python 虚拟环境

    2

    安装必要依赖

    3

    编写 MCP Server(数学工具)

    4

    编写客户端接入 LangChain 智能体

    5

    分析输出流程

    3. 环境准备与依赖安装

    创建虚拟环境

    python3 -m venv MCP_Demosource MCP_Demo/bin/activate

    安装依赖:

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

    请将文本<your_api_key> 替换为您的OpenAI API密钥。

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

    创建 math_server.py 文件:

    from mcp.server.fastmcp import FastMCP
    mcp  FastMCP("Math")
    @mcp.tool()def add(a: int, b: int) -> int:    return a + b
    @mcp.tool()def multiply(a: int, b: int) -> int:    return a * b
    if __name__ == "__main__":    mcp.run(transport="stdio")

    运行服务器:

    python3 math_server.py

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

    创建 client.py

    from mcp import ClientSession, StdioServerParametersfrom mcp.client.stdio import stdio_clientfrom langchain_mcp_adapters.tools import load_mcp_toolsfrom langgraph.prebuilt import create_react_agentfrom langchain_openai import ChatOpenAIimport asyncio
    model = ChatOpenAI(model="gpt-4o")
    server_params = StdioServerParameters(    command="python",    args=["math_server.py"],  # 替换为绝对路径)
    async def run_agent():    async with stdio_client(server_params) as (read, write):        async with ClientSession(read, write) as session:            await session.initialize()            tools = await load_mcp_tools(session)            agent = create_react_agent(model, tools)            result = await agent.ainvoke({"messages": "what's (3 + 5) x 12?"})            return result
    if __name__ == "__main__":    print(asyncio.run(run_agent()))

    运行客户端:

    python3 client.py

    6. 消息交互流程解析

    完整消息

    客户端输出如下:

    {    'messages': [        # 1. 用户原始提问        HumanMessage(            content="what's (3 + 5) x 12?",            id='87a8b6b6-...',  # 消息唯一标识            metadata={...}        ),
            # 2. AI首次响应(工具调用)        AIMessage(            content='',            tool_calls=[                {                    'name': 'add',          # 第一个工具调用:加法                    'args': {'a':3, 'b':5},  # 参数                    'id': 'call_1eyRzR...'   # 工具调用ID                },                {                    'name': 'multiply',      # 第二个工具调用:乘法                    'args': {'a':8, 'b':12},                    'id': 'call_q82CX...'                }            ],            token_usage={...},             # 本次调用的Token消耗            finish_reason='tool_calls'      # 终止原因:触发了工具调用        ),
            # 3. 工具执行结果返回        ToolMessage(            content='8',                   # add工具的执行结果            name='add',                     # 对应工具名称            tool_call_id='call_1eyRzR...'   # 关联的工具调用ID        ),        ToolMessage(            content='96',                   # multiply工具的执行结果            name='multiply',            tool_call_id='call_q82CX...'        ),
            # 4. AI最终响应        AIMessage(            content='content=‘The result of (3 + 5) × 12 is 96.',  # 最终自然语言答案            finish_reason='stop',          # 正常终止            token_usage={                  # 总Token消耗                'input_tokens': 143,                'output_tokens': 22,                'total_tokens': 165            }        )    ]}

    执行流程说明

    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 使用情况示例

    阶段输入

     令牌

    输出令牌总计

    初始请求

    77

    51

    128

    最终响应

    143

    22

    165

    总计

    220

    73

    293

    8. 小结:MCP + LangChain 的价值

    • ✅ 标准化接入:无需为每种数据源编写专属适配器

    • ✅ 模块化复用:工具作为可组合单元,多智能体可复用

    • ✅ 提升智能体能力:突破“模型只能聊天”的边界

    • ✅ 安全可控:客户端-服务端通信可附带权限控制

     

     如何学习AI大模型?

    我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

    我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

    第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

    第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

    第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

    第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

    第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

    第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

    第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


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

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

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

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


    1.AI大模型学习路线图
    2.100套AI大模型商业化落地方案
    3.100集大模型视频教程
    4.200本大模型PDF书籍
    5.LLM面试题合集
    6.AI产品经理资源合集

    👉获取方式:
    😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

    Logo

    北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

    更多推荐