MCP 是什么
MCP(Model Context Protocol,模型上下文协议)由 Anthropic 提出并开源,旨在为AI模型连接外部资源提供标准化的协议规范。它定义了模型如何发现可用工具、如何请求数据上下文、以及如何执行外部操作的统一接口。
可以将 MCP 类比为AI领域的 USB 协议——正如 USB 让各种外设无需专用驱动即可连接电脑一样,MCP 让各种数据源和工具无需为每个AI应用单独开发集成,通过标准协议即可互通。
MCP 的架构与使用方式
MCP 采用客户端-服务器架构:
- MCP Server:封装了具体的数据源或工具能力(如文件系统访问、数据库查询、API 调用),向外暴露标准化的接口。
- MCP Client:集成在AI应用中,负责发现并连接可用的 MCP Server,将模型的工具调用请求路由到对应的 Server。
- 传输层:支持 stdio 和 HTTP/SSE 两种传输方式,分别适用于本地进程间通信和网络远程调用。
开发者可以选择使用社区已有的 MCP Server(覆盖 GitHub、Slack、PostgreSQL 等常见服务),或基于 MCP SDK 自行开发 Server 以暴露内部系统的能力。
常见误区
- MCP 不是一种模型:MCP 是连接协议,不涉及模型推理本身,任何支持工具调用的模型都可以通过 MCP 连接外部资源。
- MCP 与 Function Calling 不冲突:MCP 是在 Function Calling 能力之上构建的标准化通信层,使得工具定义和调用流程跨应用复用。
- 安全边界需自行管理:MCP Server 能访问的资源取决于其配置和部署方式,开发者需要根据最小权限原则配置 Server 的访问范围。