MCP调研及实践
MCP理论和实验
定义与核心架构
MCP是由Anthropic提出的开放协议,旨在为大模型提供标准化接口,实现与外部工具如API、数据库、文件系统等的安全、高效连接。其核心特点包括:
-
架构:采用客户端-服务器模型:
- 主机(Client):用户使用的AI应用,如Claude Desktop,发起请求。
- 服务器(Server):轻量级服务,连接具体数据源,如天气API、数据库。
- 协议层:基于JSON-RPC/gRPC通信,支持实时双向交互。
-
功能:
- 工具调用:封装外部能力,如读取文件、调用API。
- 资源访问:安全读取类文件数据,如PDF解析。
- 权限管控:内置安全机制,隔离敏感数据。
MCP使用过程
- 用户输入query到MCP 客户端,可以是cherrystudio 、claude desktop 也可以是开发者编写的client;
- 配置MCP工具库,工具库以Server的形式给出;
- 调用LLM或者规则逻辑,目的是识别出用户的意图和对应的参数;
- 返回工具库识别结果;
- MCP工具库确认
- 工具执行请求,传入工具名称、参数
- 执行工具;
- 返回工具执行结果;
- 将工具执行结果返回给客户端;
- 将工具执行结果和用户query等送入LLM,执行下一步操作。
MCP定位
从技术角度看,MCP 遵循客户端-服务器架构,其中主机应用可以连接到多个服务器,即一对多。更形象的描述,MCP 可以看作是 AI 应用程序的 “USB-C端口”。就像 USB-C 为连接设备与各种外设提供了标准化方式,MCP为 AI 模型连接不同数据源和工具提供了标准化方法。这样可以解耦客户端与服务端,开发人员只需要专注于按照MCP标准添加服务工具,或者维护客户端以满足用户需求,而不需要将大部分时间和工作精力集中在调用逻辑开发、接口开发等,也无需重复部署客户端,大大降低了开发量。
与传统API的优势
传统 API :
- 如果 API 最初需要两个参数(例如天气服务的位置和日期),用户集成应用程序会发送带有这些确切参数的请求。
- 如果后来添加第三个必需参数(例如温度单位,如摄氏度或华氏度),API的合约就会改变。
- 这意味着所有 API 用户必须更新代码以包含新参数。如果不更新,请求可能失败、返回错误或提供不完整结果。
MCP 的设计解决了这个问题:
- MCP 引入了与传统 API 截然不同的动态灵活方法。
- 当客户端(如 Claude 桌面版)连接到 MCP 服务器(如您的天气服务)时,它发送初始请求以了解服务器的能力。
- 服务器响应其可用工具、资源、提示和参数的详细信息。例如,如果您的天气 API 最初支持位置和日期,服务器会将这些作为其功能的一部分进行通信。
-
如果您稍后添加unit参数,MCP 服务器可以在下一次交换期间动态更新其功能描述。客户端不需要硬编码或预定义参数—只需查询服务器的当前功能并相应地适应。
-
这样,客户端可以及时调整其行为,使用更新的功能(例如在请求中包含unit),无需重写或重新部署代码。
和RAG、Agent的区别和联系
RAG
RAG通过检索外部知识库增强大模型生成能力,解决幻觉和知识过时问题:
- 流程:
- 检索:用数据库(如Milvus、Elasticsearch)匹配用户查询与知识库文档。
- 生成:LLM结合检索结果生成答案。
- 优势:数据驱动、低成本部署。
- 局限:依赖知识库质量,无法处理动态任务。
- 典型应用场景:
- 企业知识库问答(如腾讯乐享整合内部文档)。
- 法律/医疗咨询(引用权威资料)。
Agent
Agent是具备自主决策能力的AI系统,通过多步骤规划解决复杂问题:
- 流程:
- 规划:拆解任务(如ReAct框架的"思考-行动-观察"循环)。
- 执行:调用工具(API、数据库)。
- 反馈:动态调整策略。
- 优势:处理跨域任务(如客服全流程自动化)。
- 局限:开发复杂度高,资源消耗大。
- 典型应用场景:
- 自动化工作流(如数据分析+报告生成)。
- 动态环境交互(如特斯拉自动驾驶决策)。
三者核心区别
维度 | MCP | RAG | Agent |
---|---|---|---|
核心目标 | 标准化工具/数据连接接口 | 通过检索增强生成准确性 | 自主执行多步骤任务 |
技术焦点 | 协议规范(如JSON-RPC) | 语义检索+生成模型融合 | 规划决策+工具调用链 |
交互模式 | 被动响应请求 | 被动生成答案 | 主动规划与动态调整 |
依赖关系 | 工具生态兼容性 | 知识库质量与覆盖度 | 推理能力与工具链完整性 |
典型场景 | 实时API调用、跨系统集成 | 静态知识问答(如FAQ) | 复杂流程自动化(如订单处理) |
关键差异详解
- 功能定位:
- MCP 是"连接器",提供标准化桥梁(如AI界的USB-C接口)
- RAG 是"知识增强器",解决LLM幻觉问题
- Agent 是"执行者",模拟人类决策闭环
- 技术路径:
- MCP 需部署服务器(如文件系统MCP服务)
- RAG 依赖检索技术(如LangChain向量化、字词检索)
- Agent 需任务规划引擎(如LangGraph图结构)
- 协作关系:
- Agent可调用MCP:例如用MCP工具读取数据库,再用Agent决策
- Agent集成RAG:先检索知识库,再执行工具调用(如投资分析:RAG查市场报告 → Agent调用风险评估API)
技术选型建议
- 选MCP:需安全连接企业系统(如CRM/ERP封装为MCP服务)
- 选RAG:构建知识密集型问答(如医疗文献检索)
- 选Agent:处理多步骤动态任务(如电商客服:订单查询→退款→通知)
- 混合架构:
- Agent+MCP:复杂任务中按需调用工具(如MCP-Zero架构)
- Agent+RAG:决策时增强实时知识(如法律Agent结合判例库)
MCP典型应用场景
- 实时数据集成,如股票行情查询。
- 跨系统操作,如通过MCP连接GitHub、CRM系统。
*:复杂任务中按需调用工具(如MCP-Zero架构)- Agent+RAG:决策时增强实时知识(如法律Agent结合判例库)
MCP典型应用场景
- 实时数据集成,如股票行情查询。
- 跨系统操作,如通过MCP连接GitHub、CRM系统。
- 企业级工具链标准化,降低重复开发成本。