MCP(Model‑Context‑Protocol)整体架构

MCP(Model‑Context‑Protocol)整体架构

标题与核心主旨

标题:Understanding MCP Architecture(理解 MCP 架构) 总述:MCP 生态的核心作用:在 AI 智能体和外部工具之间搭建标准化桥梁。

整体架构模型

  1. AI Assistant(客户端,蓝色模块):示例采用 LangGraph,也就是你之前代码里搭建 Agent 的框架;
  2. MCP‑Server(服务端,绿色模块):封装外部工具(Your Tools,数据库、GitHub、文件系统等);
  3. 通信标准:MCP Protocol 支持 3 种传输方式:
    • stdio:本地子进程调用(开发阶段最常用)
    • SSE:服务端推送
    • HTTP:远程网络调用 两端基于 JSON‑RPC 通信,彻底将 Agent 逻辑和工具代码解耦。

四个模块拆解(对应图中四块内容)

1. MCP‑Server(MCP 服务端,由社区开发者编写,用 Fast‑MCP 实现)

  • Exposes tools:向外暴露可供 AI 调用的工具函数;
  • Defines schemas:定义入参的数据格式(JSON Schema);
  • Handles requests:接收来自 AI 助手的调用请求,执行对应逻辑,返回结果。

对应你前面的认知:MCP 开发者只编写一次 MCP‑Server,后续使用者不用改动服务端代码。

2. Tools(实际工具函数)

  • Functions with @tool:通过装饰器@tool定义工具方法(Fast‑MCP 标准写法);
  • Input parameters:声明工具接收的入参;
  • Structured responses:返回结构化的数据,方便大模型解析。

3. Integration(集成层,对应 langchain‑mcp‑adapters,就是你导入的MultiServerMCPClient)

  • Bind to LLMs:对接大模型(GPT‑4o、Muse Spark 1.1 等);
  • Route queries:把 LLM 产生的调用指令转发给对应的 MCP‑Server;
  • Handle responses:接收服务端返回的数据,转换成 LangChain 可识别的 Tool 返回值;

你的 Python 代码就是在做这一层工作:适配器充当中间翻译层。

4. Naming(命名规范,工程层面约定)

  • 格式示例:mcp__server__tool;
  • Consistent pattern:统一命名范式,区分不同 MCP 服务里的同名工具;
  • Clear hierarchy:层级清晰,防止多个 MCP‑Server 接入后出现工具名称冲突,对应代码里prefixToolNameWithServerName配置项。

和你之前代码以及行业现状串联总结

  1. 开发者(社区):使用 Fast‑MCP 完成 MCP‑Server 和 Tools;
  2. 集成层 :langchain‑mcp‑adapters负责协议适配;
  3. Agent 编排:LangGraph 做任务规划、状态管理;
  4. 底层大模型:现在可以替换成 Meta 刚发布的 Muse Spark‑1.1,实现低成本 Agent 应用;
  5. 解耦优势:MCP‑Server 可以独立部署在远程服务器;LangGraph Agent 可以单独运行;二者只依靠标准 MCP 协议通信,后期更换工具或者更换大模型互不影响。

对应代码映射

复制代码
# MultiServerMCPClient 就是这里的Integration层
client = MultiServerMCPClient({
    "filesystem": { # MCP‑Server
        "transport": "stdio",
        "command": "python",
        "args": ["filesystem_mcp.py"] # 里面包含@tool修饰的Tools
    }
})
tools = await client.get_tools()
agent = create_react_agent(llm, tools) # LangGraph作为AI‑Assistant
相关推荐
xrlfreedom14 小时前
MCP 面试高频考点:用 Resources 暴露只读业务上下文,JSON Schema 与 OpenTelemetry 怎么配合?
json schema·opentelemetry·mcp
跨境Jacky1 天前
选品数据采集: MCP 比爬虫稳在哪? 实测 46/47
跨境电商·mcp·sorftime
誰在花里胡哨2 天前
Qoder + Blender MCP:对话建模到网页渲染
ai编程·three.js·mcp
坐吃山猪3 天前
Python22-PostMan调试MCP
测试工具·postman·mcp
Danny转行做跨境3 天前
AI 搜索时代选品数据采集: MCP 与爬虫实战对比
跨境电商·mcp·sorftime
壹米饭3 天前
手搓 MCP 到最简 Agent,我都做了什么?
agent·ai编程·mcp
Sakura_j_h_4 天前
从零写一个 MCP stdio Server:用 Python 校验博客文章格式
开发语言·python·自动化·ai工具·mcp·json-rpc
xrlfreedom4 天前
MCP 面试高频考点:企业内网统一管理多个 MCP Server,Tools 权限与审计怎么落地?
tools·mcp·最小权限与审计日志·typescript mcp sdk
风雨中的小七4 天前
解密Prompt系列73. 爆改对话框:揭秘 Intelligent UI 的动态界面魔法
llm·agent·mcp
正在走向自律4 天前
AI Agent 落地这一年:从“能跑起来”到“敢放出去”
大数据·人工智能·ai agent·智能体·mcp·a2a