LLM上下文协议(MCP)
一、智能体(Agent)互联协议栈
**MCP(模型上下文协议)**和 **A2A(Agent2Agent协议)**是 AI Agent落地的核心协议栈,二者互补支撑智能体生态规模化落地。
- MCP(模型上下文协议)是解决Agent与Tools交互的核心标准;
- A2A(Agent2Agent协议)是破解Agent间/用户交互的关键方案。
1.1 Agent与Tools交互问题
核心挑战
- 工具链错配:现有编程语言、编译器等工具为人类设计,隐藏内部状态,导致Agent无法溯源错误原因。
- 调用鲁棒性不足:易出现工具选择错误、参数填写偏差,且缺乏结果验证与重试机制。
- 多工具协作成本高:不同工具接口差异大,集成难度高,难以形成“计划-执行-验证”闭环。
MCP的解决方案
- 标准化通信层:基于JSON-RPC/gRPC定义统一请求/响应格式,实现工具“即插即用”。
- 上下文统一管理:整合工具调用过程中的参数、结果等信息,避免上下文丢失。
- 多工具调度协同:作为“神经系统”协调多工具配合,比如旅游规划中同步调用天气、地图、酒店API。
1.2 Agent与Agent/用户交互问题
核心挑战
- 意图理解模糊:人类或Agent的指令常含隐性需求,易出现理解偏差。
- 跨平台互操作性差:不同框架、供应商的Agent缺乏通用通信语言,无法直接协作。
- 协作无规范:缺乏任务分配、状态同步机制,易出现重复劳动或责任真空。
A2A的解决方案
- 统一通信标准:定义智能体卡片、消息格式等核心结构,让Agent可动态发现彼此能力。
- 多模式协作支持:兼容文本、文件、结构化数据等多种交互形式,适配协同任务与自然对话。
- 安全异步交互:基于HTTP(S)实现长任务异步通信,保障企业级场景的身份验证与数据安全。
1.3 MCP与A2A的互补关系
两者共同构成智能体互联的基础:
- MCP解决“Agent与工具的连接问题”,让智能体具备高效执行能力;
- A2A解决“Agent与同类/用户的沟通问题”,让智能体具备协同合作能力。
例如零售场景中,库存Agent通过MCP访问数据库,再通过A2A协议与供应商Agent通信完成补货。
MCP 与 A2A 协议核心特性对比表
| 对比维度 | MCP(模型上下文协议) | A2A(Agent2Agent 协议) |
|---|---|---|
| 核心定位 | 智能体与外部工具的“执行层协议”,聚焦“工具调用效率与标准化” | 智能体与同类/用户的“通信层协议”,聚焦“意图传递与协同协作” |
| 解决核心问题 | 工具接口碎片化、调用上下文丢失、多工具协作难 | 跨Agent互操作性差、意图理解偏差、协作流程无规范 |
| 通信标准基础 | 基于 JSON-RPC 2.0 / gRPC,强调低延迟、高吞吐 | 基于 HTTP(S) / WebSocket,兼容同步(短对话)与异步(长任务)通信 |
| 交互对象 | 无智能的工具/系统(API、数据库、代码解释器、编译器、硬件接口等) | 有智能的Agent(跨框架/跨供应商)、人类用户(自然对话场景) |
| 数据交换格式 | 结构化数据为主(JSON/Protobuf),字段固定(参数名、返回值、错误码) | 混合格式(文本+结构化数据+文件),支持动态字段(意图标签、任务状态、能力描述) |
| 关键核心功能 | 1. 工具注册与发现(标准化元数据描述); 2. 调用上下文统一管理(参数/结果/错误溯源); 3. 多工具调度编排(串行/并行执行); 4. 错误重试与降级机制 | 1. Agent身份认证与能力声明; 2. 意图解析与隐性需求挖掘; 3. 任务分配与状态同步; 4. 多轮对话上下文保持; 5. 协作权限控制 |
| 可靠性保障机制 | 超时重试、结果校验(基于Schema)、调用幂等性设计 | 消息回执、异步回调、断点续传、数据加密(TLS)、身份鉴权(JWT/OAuth2.0) |
| 典型应用场景 | 1. 智能办公:文档解析+数据统计+报表生成(调用Excel/数据库/图表工具); 2. 开发辅助:代码编译+测试+部署(调用Git/CI/CD工具); 3. 生活服务:旅游规划(调用天气/地图/酒店API) | 1. 供应链协同:库存Agent→供应商Agent→物流Agent 补货协作; 2. 智能客服:用户→咨询Agent→售后Agent 问题流转; 3. 科研协作:多个领域Agent 联合数据分析 |
| 技术依赖与门槛 | 依赖工具标准化改造(添加MCP兼容接口)、调度引擎开发(流程编排) | 依赖自然语言处理(意图识别)、协作协议落地(跨平台适配)、安全机制设计 |
| 落地优先级建议 | 先落地MCP(工具调用是Agent基础能力,无工具则Agent无法执行具体任务) | 后落地A2A(协同需求依赖Agent单体能力成熟,适合多Agent场景规模化时推进) |
- 互补性:MCP 是 Agent 的“手脚”(解决“能做事”的问题),A2A 是 Agent 的“嘴巴”(解决“能沟通”的问题),两者结合才能实现“自主执行+协同合作”的完整智能体生态。
- 落地路径:建议先通过 MCP 打通核心工具链(如企业内部系统、常用API),让 Agent 具备独立完成单任务的能力;再通过 A2A 连接多个 Agent 或用户,扩展到多角色协同场景。
- 未来趋势:两者可能走向融合(如 MCP 加入 Agent 能力描述字段,A2A 兼容工具调用指令),形成统一的“智能体互联协议栈”,降低开发者集成成本。
二、MCP ( Model Context Protocal)
2.1 MCP的理解
MCP(Model Context Protocol,模型上下文协议),2024年11月底,由Claude母公司 Anthropic 推出的一种开放标准。旨在为大语言模型提供统一的.标准化方式与外部数据源和工具之间进行通信。
1. MCP的核心价值
通过架构对比体现其核心价值:
- 传统无MCP架构的痛点
- 应用与数据源间采用“两两直接连接”模式,形成M*N级连接复杂度(M、N为不同类型应用/数据源的数量);
- 直接引发架构碎片化、扩展性差,同时限制AI获取外部上下文信息的能力。
- MCP的解决方案
- 以MCP Protocol为统一中间层,集中承接所有应用/服务的连接;
- 提供统一、可靠的数据源访问方式,消除传统集成的复杂度与局限性。

2. MCP的架构组成及作用
MCP作为标准化协议,简化大语言模型与外部系统的交互,其架构核心逻辑如下:
核心组件
- MCP hosts:承载大语言模型(如Claude)的载体;
- MCP clients:大模型等应用与MCP交互的客户端入口;
- MCP server:核心中转层,同时对接各类外部应用与本地数据源,实现数据的统一调度。
作用价值
让开发者以统一方式为AI应用对接各类外部能力,大幅简化大语言模型与外部世界的交互流程。

2.2 MCP的应用场景
| 应用领域 | 典型场景 | MCP价值 | 代表实现 | 实际应用案例 |
|---|---|---|---|---|
| 智能编程助手 | 代码生成、Bug修复、API集成 | 安全访问本地代码库、对接CI/CD系统 | Cursor、VS Code插件 | 开发用Cursor在本地项目中生成支付接口代码,MCP自动调取项目代码库校验规范,并触发CI/CD工具执行单元测试 |
| 数据分析工具 | 自然语言查询数据库、可视化生成 | 安全查询内部数据库、连接BI工具 | XiYanSQL-MCP、数据库MCP服务器 | 市场人员输入“上月华东区域各产品销量Top3”,工具直接查询企业内部销售库,自动生成柱状图同步到BI看板 |
| 企业知识管理 | 知识库查询、文档生成、邮件撰写 | 安全访问内部文档、保护隐私数据 | 文件系统MCP、Email-MCP | 员工查询“2025版产品售后政策”,MCP安全调取内部加密手册并生成摘要;撰写客户邮件时自动引用该客户历史沟通记录 |
| 创意设计工具 | 3D建模、图形生成、UI设计 | 与专业软件无缝集成 | Blender MCP、浏览器自动化 | 设计师输入“生成简约风格的产品包装3D基础模型”,MCP驱动Blender完成建模后,自动导入Figma供UI团队优化 |
| 工作流自动化 | 多系统协调、事件驱动流程 | 跨系统安全协作 | Cloudflare MCP、AWS自动化套件 | 客户提交官网咨询表单后,MCP自动协调CRM创建客户档案、邮件系统发送回执、项目管理工具生成跟进任务 |
2.3 MCP的通信机制
根据 MCP 的规范,当前支持两种通信机制(传输方式),分别适配本地服务通信与远程服务通信场景,用于连接不同类型的应用(如Blender、PostgreSQL等)。
1. stdio(标准输入输出)机制
适用场景
仅用于本地服务通信(客户端与服务器在同一台机器),是MCP的默认通信方式。
例如:无在线服务的本地软件(如Blender)。
核心特征
- 优点:无网络依赖、通信速度快、可靠性高且易于调试。
- 缺点:配置复杂(需提前安装命令行工具);单进程通信,无法并行处理多客户端请求;进程资源开销大,不适合本地运行大量服务。
2. SSE(Server-Sent Events)机制
适用场景
用于远程服务通信(服务本身具备在线API),也适配分布式/远程部署场景,以及实时数据更新、消息推送、轻量级监控等场景。
例如:访问谷歌邮件、天气等在线服务。
核心特征
- 优点:配置极简单,仅需复制服务链接即可使用。
2.4 MPC服务器环境的搭建
1. MCP服务器的实现分类
MCP服务器通常是一段Python或Node.js程序,对应两种开发语言Python或TypeScript,别匹配不同工具指令:
- Python编写的服务器:对应
uvx指令(依赖uv工具) - TypeScript编写的服务器:对应
npx指令(依赖Node.js环境)
2. uvx(Python服务器)对应的工具安装
uv是Python的包管理工具,uvx是其提供的执行指令,安装方式如下:
方式1(已有Python环境)
- 执行命令:
pip install uv - 验证:安装后通过
uv --version查看版本。
- 执行命令:
方式2(Windows系统)
- 执行PowerShell命令:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" - 后续配置:安装路径(如
C:\Users\shkst\.local\bin)需添加到系统环境变量PATH,重启Shell或执行对应命令(cmd/PowerShell)完成配置。
- 执行PowerShell命令:
3. npx(TypeScript服务器)对应的工具安装
npx是Node.js自带的包执行工具,需先安装Node.js环境:
- 下载安装
- 渠道:从Node.js官网(https://nodejs.org/zh-cn)下载**LTS版本**(长期支持版)。
- 验证环境
- 安装后通过以下命令确认配置:
node -v:查看Node.js版本npm -v:查看Node.js包管理器npm的版本
- npx随Node.js默认安装,无需额外操作。
- 安装后通过以下命令确认配置:
三、主流的MCP资源站点
| 资源名称 | 地址 | 核心特点与优势 | 出品公司/维护方 |
|---|---|---|---|
| 官方MCP站点 | https://modelcontextprotocol.io/ | 提供MCP协议详细规范、入门教程; | Anthropic, PBC. |
| GitHub MCP仓库 | https://github.com/modelcontextprotocol | 官方开源代码库,同时可通过社区仓库(如awesome-mcp)获取更多实战代码; | Anthropic, PBC.(含社区贡献) |
| 社区聚合站点(Awesome MCP) | https://github.com/punkpeye/awesome-mcp-servers | 收录2700+ MCP服务端实现,按功能分类(如数据库、云平台),支持多语言,是学习MCP落地的核心资源。 | 社区(punkpeye维护) |
| MCPHub | https://mcphub.io/registry | 几乎覆盖所有MCP工具,界面干净、分类清晰;支持按使用场景筛选工具(如数据科学、数据库)。 | 社区维护(无明确官方主体) |
| MCPHunt | https://mcphunt.com/zh | 定位“MCP界的Product Hunt”,聚焦优质MCP Server,带用户评分,覆盖AWS知识库、Brave搜索等高频场景。 | 社区维护(无明确官方主体) |
| Cursor Directory | https://cursor.directory/mcp | 专为AI代码编辑器Cursor定制,提供2000+专属MCP Server,支持PostgreSQL、Obsidian等工具无缝集成。 | Cursor团队 |
| PulseMCP | https://www.pulsemcp.com/servers | 收录3228+ MCP服务,每日更新;支持按热度/类别筛选,附带服务调用量数据(如669k调用)。 | 社区维护(无明确官方主体) |
| Smithery | https://smithery.ai/ | 人性化设计,清晰标注各客户端MCP Server安装方式;收录3089+ MCP能力,支持终端命令执行等场景。 | Smithery团队 |
| Claude MCP | https://modelcontextprotocol.io/examples | Anthropic官方平台,提供多语言SDK、官方示例Server(文件系统、PostgreSQL等),是学习MCP协议规范的核心入口。 | Anthropic, PBC. |
| MCP.so | https://mcp.so/servers | 收录4702+ MCP Server,分类筛选功能完善,支持百度地图等本地化工具适配,标注服务更新时间。 | 社区维护(无明确官方主体) |
| MCPWorld | https://www.mcpworld.com | 收录5000+ MCP服务端资源,支持多维度筛选(类型、兼容性、星级),提供新手入门指南与实战案例库,更新频率为每日同步。 | 百度团队 |
四、MCP 服务器管理工具
1. @smithery/cli
基本介绍
Smithery(smithery.ai)是一个专门为 Model Context Protocol (MCP) 生态系统服务的平台和网站。
官方网站
- smithery.ai 是 Smithery 项目的官方网站
- 提供 MCP 服务器的注册表和发现服务
CLI 工具的关系
@smithery/cli是 Smithery 提供的官方命令行工具- 用于与 smithery.ai 平台交互
- 管理从 smithery.ai 下载和安装 MCP 服务器
服务架构
smithery.ai (网站平台) ├── MCP 服务器注册表 ├── 文档和指南 └── API 服务 └── @smithery/cli (客户端工具) ├── 服务器发现 ├── 下载安装 └── 配置管理
主要功能
smithery.ai 提供:
MCP 服务器的托管和分发
版本管理和更新
社区贡献的服务器
使用统计和文档
@smithery/cli 提供:
# 从 smithery.ai 搜索服务器 npx @smithery/cli search database # 安装 smithery.ai 上的服务器 npx @smithery/cli install @smithery/db-mcp-server # 更新从 smithery.ai 下载的服务器 npx @smithery/cli update
使用场景
当使用 @smithery/cli 时:
服务器发现:CLI 从 smithery.ai 获取可用服务器列表
下载安装:从 smithery.ai 的 CDN 或 GitHub 仓库下载服务器
配置生成:自动为 Cursor IDE 生成正确的 MCP 配置
与 Cursor IDE 的关系:@smithery/cli 是专门为 Cursor IDE 优化的 MCP 服务器管理工具。
# 为 Cursor 安装服务器 npx @smithery/cli install @modelcontextprotocol/server-sqlite --client cursor # 生成配置文件 npx @smithery/cli init更新通知:从 smithery.ai 检查服务器更新
安装和使用
全局安装
# 全局安装 npm install -g @smithery/cli # 或直接使用 npx npx @smithery/cli --help # 查看可用服务器 npx @smithery/cli search database如果您遇到安装问题,可以直接使用 npm 或从源码安装:
# 直接安装特定服务器 npm install -g @modelcontextprotocol/server-sqlite # 或从源码安装 git clone https://github.com/smithery/db-mcp-server.git cd db-mcp-server npm install npm run build
访问地址
- 官方网站: https://smithery.ai
- MCP 服务器注册表: https://smithery.ai/registry
- 文档: https://smithery.ai/docs