TL;DR
MCP(Model Context Protocol)是 Anthropic 于 2024 年 11 月开源的开放协议,目标是统一"AI 应用 ↔ 工具/数据源"的连接方式,常被比作"AI 的 USB-C"。它解决的是传统集成里每个工具都要写一套自定义接口的问题:一次实现,多个 AI 客户端(Claude Desktop、IDE、自建 agent)都能用。
架构
| 角色 | 作用 | 示例 |
|---|---|---|
| MCP Host | 发起连接的 AI 应用/客户端 | Claude Desktop、IDE、agent 框架 |
| MCP Server | 提供工具(tools)、资源(resources)、提示词(prompts) | GitHub、数据库、浏览器、文件系统 |
| 传输层 | 连接方式 | stdio(本地子进程)、HTTP+SSE/Streamable HTTP(远程) |
核心原语
- Tools:可被模型调用的函数(如"查订单""执行 SQL"),类似 function calling;
- Resources:可读取的数据/文档(如配置文件、README),类似"上下文注入";
- Prompts:可复用的提示词模板,用户或应用可显式调用。
为什么重要
- 一次实现 Server,多个 Host 复用,降低集成成本;
- 工具能力是标准化的 JSON-RPC 消息,模型无需为每个平台写专属格式;
- 2025 年起多家主流工具(GitHub、Slack、浏览器、IDE)都推出了官方 MCP Server。
常见问题
MCP 和插件/Function Calling 有什么区别?
Function calling 是模型侧的接口约定;MCP 是工具侧的标准化协议。可以理解为:MCP 定义工具"怎么暴露",Function calling 定义模型"怎么调用"。
MCP Server 怎么部署?
本地工具常用 stdio(作为子进程启动);远程服务用 Streamable HTTP 暴露端点,客户端按 MCP 规范发现和调用工具列表。
MCP 支持哪些传输方式?
目前主要有 stdio 和基于 HTTP 的流式传输(Streamable HTTP,支持 SSE);规范由 modelcontextprotocol.io 维护。
来源
- modelcontextprotocol.io(MCP 规范),2026-08-04 访问
- Anthropic 官方公告(2024-11-25),2026-08-04 访问