MCP (Model Context Protocol)
模型上下文协议把工具描述和实现解耦成标准协议,工具能跨 Agent 复用。
详解
MCP(Model Context Protocol)是 Anthropic 于 2024 年末开源的标准化协议,解决的核心问题是:每个 Agent 框架都要自己重新实现工具的注册和调用逻辑,工具无法跨框架复用。MCP 把工具拆成两端:MCP Server 负责定义和暴露工具(用任何编程语言实现),MCP Client 内置在 Agent 框架里负责发现和调用工具。两端通过标准化的远程调用格式(JSON-RPC)通信,支持 stdio(进程间通信)和 HTTP 两种传输方式。一个「查天气」的 MCP Server 写好一次,就可以同时被 Claude Desktop、Cursor、你自己写的 Agent 共用,不需要改任何工具代码。MCP 还定义了 Resources(数据/文件上下文)和 Prompts(提示词模板)两种原语,但 Tools 是目前最常用的。
一个类比
就像 USB-C 统一了充电接口——MCP 出现之前,每个 Agent 框架都有自己的私有插口;MCP 之后,任何工具只要做成 MCP Server,任何框架都能直接插上复用,工具开发者和框架开发者彼此解耦。
举个例子
场景:团队已经写了一个「查询数据库」工具。没有 MCP 时,Claude Desktop、Cursor、内部客服 Agent 各要写一套接入代码;工具参数改名时,三个地方都要同步改。做成 MCP Server 后,工具只暴露一份标准能力清单:有哪些工具、每个工具要什么参数、返回什么结果。Claude Desktop 和 Cursor 作为 MCP Client 连接它后,会自动发现并调用同一个工具。以后数据库连接方式变了,只改 MCP Server,所有 Agent 都继续复用。
PYTHON 示例
相关概念
- → Function Calling· 函数调用
- → Tool Schema· 工具定义