MCP(Model Context Protocol)是Anthropic于2024年开源的标准协议,旨在统一AI模型与数据源的交互方式,提升数据访问的便捷性和可靠性,提供标准化的工具调用、资源管理和提示词功能。目前,MCP仍处于探索阶段,其行业影响力有待进一步验证。
-
- MCP是什么
-
-
MCP的应用场景举例
- 2.1 代码管理与开发
- 2.2 数据管理与交互
- 2.3 远程资源交互
- 2.4 构建智能助手应用
-
-
- MCP 的架构是什么
-
- MCP Servers 可以给我们提供什么能力?
-
-
MCP:昙花一现还是未来标准?── LangChain 首席执行官 VS LangGraph 负责人
-
Harrison Chase(支持 MCP)的观点:
-
Nuno Campos(质疑 MCP)的观点:
-
网友对双方的投票结果
-
3月8号,LangChain 首席执行官和 LangGraph 负责人对于MCP的价值表达了不同的意见。而在当下大火的AI编程工具cursor和cline中,也能看到MCP的身影。
MCP关键字的热度不断上升,那么MCP到底是什么?能引起大家的持续讨论?
1. MCP是什么
2024 年 11 月 25 日,Anthropic 宣布开源 Model Context Protocol(MCP)( https://www.anthropic.com/news/model-context-protocol)。
Anthropic是一家专注于人工智能安全和可控性的AI公司,由前OpenAI成员于2021年创立。其代表产品是Claude系列AI助手
MCP为连接AI应用与数据源提供了一个通用的开放标准,用单一协议取代了碎片化的集成。通过这个机制, 为AI应用提供所需数据的接入方式变得更简单、更可靠。他标准化了应用程序向LLMs提供上下文的方法。
可以把 MCP 想象成AI应用程序的 USB-C 接口。正如 USB-C 提供了一种标准化的方式,将设备连接到各种外设和配件。
MCP 也提供了一种标准化的方式,将 AI 模型连接到不同的数据源和工具。
通过这种连接,能力小的AI应用会变成更强的应用
Anthropic 为开发者提供了:
1. Model Context Protocol 规范和 SDK https://github.com/modelcontextprotocol
2. MCP Servers 的开源库,仓库提供了许多官方集成的和社区分享的MCP Servers:
https://github.com/modelcontextprotocol/servers
2. MCP的应用场景举例
2.1 代码管理与开发
在代码开发方面,开发人员可以利用大语言模型自动化编程,IDEs 通过 MCP 协议可以直接接入很多工具,如接入连接版本库的 MCP Server,就可以让 AI 自己写代码、创建仓库、Push 代码、创建 Issue、创建分支、创建 PR 等操作,全程无需离开聊天界面,开发人员仅需提出需求即可 。
当然也可以让IDE接入其他MCP Server
2.2 数据管理与交互
MCP 协议支持对本地资源的管理,如电脑里的文件、数据库(像 SQLite 数据库)等。
开发人员可以使用 MCP 协议让AI应用安全连接本地服务,进行文件的创建、读取、编辑等操作,还能对数据库中的数据进行交互操作,例如查询、更新等 。
2.3 远程资源交互
对于远程资源,如 GoogleDrive
等平台的数据,AI应用借助 MCP 协议可以直接进行控制和访问。这使得企业和开发者在构建 AI 应用时,能够轻松整合不同来源的数据,如从商业工具、软件、内容库、应用程序开发环境等各种来源提取资料,协助模型产生与指令更相关的回复 。
2.4 构建智能助手应用
MCP 协议可以让 AI应用更加智能和强大。AI应用不再只是简单的问答系统,而是变成了一个能够执行复杂任务、处理文件和与外部系统通信的强大工具。
例如,在构建一个企业内部的智能助手时,可以利用 MCP 协议连接企业内部的各种数据资源(如数据库、文件服务器等)以及外部相关的业务工具(如项目管理工具等),为企业员工提供更全面、更高效的服务。
AI工具接入搜索引擎,实时查询信息
3. MCP 的架构是什么
在整个MCP的应用场景中,整体架构如下:
-
MCP Hosts: 希望通过 MCP 访问数据的程序,如 Claude Desktop、Cline等开发工具或AI应用
-
MCP Clients: 与服务器保持 1:1 连接的协议客户端
-
MCP Servers: 轻量级程序,每个程序通过标准化的Model Context Protocol (MCP)暴露特定的能力
-
本地数据源(Local Data Sources): 您计算机中,MCP 服务器可以安全访问的文件、数据库和服务
-
远程服务(Remote Services): 可以通过互联网(例如,通过 API)访问的外部系统,MCP 服务器可以连接到这些系统
4. MCP Servers 可以给我们提供什么能力?
AI应用通过标准化的接口连接MCP Server后,AI应用能获取什么能力呢?
1. Prompts 提示词
Model Context Protocol (MCP) 让 servers 向客户端暴露 prompts 模板。
客户端可以发现可用的prompts,并提供参数自定义它们。
通常,Prompts会通过用户在用户界面中发起的命令触发,这使得用户能够自然地发现和调用可用的提示。
例如,通过斜杠命令:
2. Resources 资源
Model Context Protocol (MCP) 可以使 servers 向客户端暴露Resources ,例如文件、数据库schemas。每个资源都通过 URI 唯一标识,如:file:///home/user/documents/report.pdf
。
应用程序根据其需求决定如何将Resources整合到上下文。
例如,应用程序可以:
- 通过 UI 元素显式选择资源,以树形或列表视图显示
- 允许用户搜索和过滤可用资源
- 通过AI 应用选择文件,从而实现包含在上下文中
3. Tools 工具
Model Context Protocol (MCP) 允许 servers 公开可被语言模型调用的工具。工具使模型能够与外部系统交互,例如查询数据库、调用 API 或执行计算。每个工具都有一个唯一的名称,并包括描述其架构的元数据。
对于MCP 中工具使用,由模型控制,这意味着语言模型可以根据其上下文理解和用户的提示自动发现和调用工具。
对于以上所有能力的使用方式仅供参考,该协议本身并不强制特定的用户交互方式。
5. MCP:昙花一现还是未来标准?
── LangChain 首席执行官 VS LangGraph 负责人
2025 年 3 月 8 日,LangChain发布了一篇辩论,在这场关于模型上下文协议(MCP)的辩论中,Harrison Chase(LangChain 首席执行官)和 Nuno Campos(LangGraph 负责人)分别从不同角度阐述了他们对 MCP 的观点。以下是双方的主要观点总结:
Harrison Chase(支持 MCP)的观点:
- MCP 的实用性和价值:
- 为非控制Agent提供工具:MCP 在用户无法控制底层Agent(如 Claude Desktop、Cursor 和 Windsurf)时,能够为这些Agent提供额外的工具支持,添加默认不支持的工具。
- 降低技术门槛:MCP 使非开发人员能够为Agent添加工具,而无需深入编辑Agent逻辑。这有助于让业务专家(非技术背景人员)也能参与Agent构建。
- 适应未来趋势:随着基础模型的不断改进,MCP 的工具调用Agent也会变得更好。MCP 的工具定义和提示功能可以帮助Agent更好地理解和使用工具。
- MCP 的长期价值:
当前 MCP 的实现形式可能不够完善,但未来有望改进,例如通过一键安装 MCP 应用程序,使其在 Web 应用中更易用。
Nuno Campos(质疑 MCP)的观点:
- MCP 的局限性和问题:
- 工具与Agent的适配性:仅仅通过 MCP 注入工具并不能解决实际问题,因为Agent的架构和系统消息需要与工具高度适配。在实际生产环境中,Agent需要为工具定制化,否则效果不佳。
- 可靠性问题:当前模型在调用工具时的成功率较低(约一半时间失败),即使在为特定工具集定制的Agent中也是如此。这种可靠性不足使得 MCP 的实用性大打折扣。
- 复杂性:MCP 的协议过于复杂,例如MCP 的双向通信机制并不是一个足够好的理由,增加了实现的复杂性。当前的实现形式(如需要在本地终端运行服务器)并不实用。
- 对 MCP 能力的质疑:
- 实际应用不足:尽管 MCP 在 网络上引起关注,但实际应用案例很少。Nuno 认为,MCP 的生态系统并没有比插件(Plugins)更大,且插件也未能成功。
- 用户期望的挑战:即使模型性能提升,用户的期望也会随之提高。MCP 需要证明其能够满足这些不断上升的期望。
文章来源:微信公众号-AI取经路,原始发表时间:2025年03月13日。