Zubnet AI学习Wiki › MCP
工具

MCP

别名:模型上下文协议
一个开放协议(由Anthropic创建),用于标准化AI模型如何连接外部工具和数据源。可以将其视为AI领域的USB-C——一种统一的标准接口,而不是为每个工具都进行定制集成。MCP服务器提供功能;MCP客户端(如Claude)使用这些功能。

为什么重要

在MCP出现之前,每个AI工具集成都是定制的。MCP意味着一次构建的工具可以与任何兼容的AI配合使用。它目前已获得Claude、Cursor等的支持。这就是AI从聊天机器人转变为真正助手的方式。

深度解析

MCP 基于 JSON-RPC 的客户端-服务器架构进行工作。MCP 服务器是一个小型程序,通过标准化接口暴露一组工具、资源和提示。MCP 客户端——通常是像 Claude Desktop、Cursor 或 Windsurf 这样的 AI 应用——会发现服务器提供的功能,并将这些能力提供给模型。当模型决定使用某个工具时,客户端会向服务器发送 JSON-RPC 请求,获取结果并将其反馈到对话中。传输层是灵活的:服务器可以通过 stdio(用于本地进程)、带有服务器发送事件的 HTTP(用于远程服务)或可流式传输的 HTTP(最新的传输方式,将请求-响应和流式传输结合在单个连接中)进行通信。

构建服务器

构建 MCP 服务器被有意设计得非常简单。在 Python 中,你可以使用官方 mcp SDK,并在大约 20 行代码中构建一个可用的服务器——你只需用 @server.tool() 装饰一个函数,为其提供描述和类型化参数,SDK 会处理 JSON-RPC、模式生成和传输。在 TypeScript 中,@modelcontextprotocol/sdk 包的工作方式相同。服务器在初始化时声明其能力(拥有的工具、是否支持资源或提示),客户端则协商其想要使用的功能。这意味着你可以从小规模开始——一个仅封装公司内部 API 的服务器——并逐步增加功能。

USB 时刻

当考虑到 MCP 解决的组合问题时,MCP 相比定制工具集成的强大之处变得显而易见。在 MCP 之前,如果你有 10 个 AI 应用和 10 个工具,你需要 100 个定制集成。使用 MCP,你只需要 10 个服务器和 10 个客户端——每个只需构建一次。这正是使 USB 成功的相同模式:标准化接口,生态系统随之扩展。实际上,这意味着由一位开发者构建的 Postgres MCP 服务器无需修改即可与 Claude、Cursor、Zed 和任何其他 MCP 兼容客户端配合使用。MCP 服务器生态系统目前已包含数百个社区构建的服务器,用于数据库、API、开发工具和云服务。

注意事项与细节

有一些重要的细节需要从业者了解。首先,MCP 服务器有两种类型:运行在你本地机器上的本地服务器(适合文件访问、本地数据库和开发工具)和作为托管服务运行的远程服务器(更适合共享基础设施和 SaaS 集成)。其次,安全性是一个真实考虑因素——MCP 服务器的权限取决于运行它的进程,因此范围不当的服务器可能会暴露敏感数据。协议包含能力协商步骤,但远程服务器的访问控制和身份验证仍在发展中。第三,MCP 并不等同于工具使用——它是一个位于工具使用之下的传输和发现层。支持工具调用的模型可以与 MCP 配合使用,但 MCP 还处理诸如资源订阅(实时更新上下文)和超出简单函数调用的提示模板等事项。

未来发展方向

Anthropic 于 2024 年底开源了 MCP,其采用速度令人印象深刻。到 2025 年初,Claude、Cursor、Windsurf、Zed、Sourcegraph 和许多其他应用已支持 MCP。规范仍在持续演进——2025 年新增了可流式传输的 HTTP 传输、基于 OAuth 的远程服务器认证以及引出(允许服务器在流程中向用户请求输入)等功能。如果你在构建自定义工具集成和构建 MCP 服务器之间做出选择,MCP 通常会胜出:你免费获得与所有 MCP 客户端的兼容性,且协议足够简单,迁移成本几乎为零。

相关概念

← 所有术语
← Luma AI 机器学习 →
ESC