MCP(Model Context Protocol,模型上下文协议)是一个开放标准,定义了大型语言模型与外部数据源、工具和服务之间的通信方式。
在 MCP 出现之前,每个 AI 应用都需要为每个工具单独编写集成代码:Claude 调用数据库需要一套代码,GPT 调用同一个数据库需要另一套。MCP 的目标是彻底解决这种重复建设问题。
MCP 就是 AI 工具调用的"USB 标准"——有了它,任何 AI 模型都能用同一个接口调用任意工具,而不需要每次单独适配。
核心设计理念
- 标准化:定义统一的工具描述格式、调用协议和返回格式
- 解耦合:AI模型与工具实现完全分离,互不依赖
- 安全性:工具在独立进程中运行,有明确的权限边界
- 可扩展:任何人都可以开发符合MCP规范的工具服务器
MCP 采用 Client-Server 架构,由三个核心组件构成:
1. MCP Host(宿主)
运行AI模型的应用程序,如 Claude Desktop、Cursor、VS Code 等。Host 负责管理用户交互和协调多个 MCP Client。
2. MCP Client(客户端)
嵌入在 Host 中的协议客户端,负责与 MCP Server 建立连接并发送工具调用请求。
3. MCP Server(服务器)
独立的进程或服务,暴露具体的工具能力(文件读写、数据库查询、API调用等)。Server 向 Client 声明自己提供哪些工具,以及每个工具的输入/输出规范。
本地工具:通过 stdio(标准输入输出)通信,安全隔离
远程工具:通过 HTTP + SSE 或 WebSocket 通信,支持云端服务
tools/list 请求,获取所有可用工具的描述(名称、功能说明、参数规范)tools/call 请求,Server 执行具体操作(查数据库、读文件等)并返回结构化结果1. Tools(工具)
可执行的操作,如发送邮件、查询数据库、运行代码。工具有明确的输入参数和返回值。
2. Resources(资源)
可读取的数据源,如文件内容、数据库记录、API响应。资源是只读的,通过 URI 标识。
3. Prompts(提示模板)
预定义的提示模板,可帮助用户以最佳方式使用特定工具或执行特定任务。
MCP 发布不到18个月,已形成相当规模的生态:
- 官方 Server:Anthropic 提供 GitHub、Google Drive、Slack、PostgreSQL、Brave Search 等20+官方 Server
- 主流 IDE 支持:Cursor、Claude Desktop、VS Code、JetBrains 全面支持
- 社区 Server:GitHub 上 MCP Server 仓库超过 5000 个,覆盖几乎所有主流 SaaS 工具
- 企业采用:Block、Apollo、Replit 等公司已在生产环境使用 MCP
- 竞争对手跟进:Google、OpenAI 均表示支持或计划兼容 MCP
MCP 正在向以下方向演进:
- Agent 协作:MCP 将支持 Agent 之间的互相调用,构建多 Agent 协作网络
- 流式支持:长时间运行的工具(如数据分析)将支持流式返回中间结果
- 权限细化:更精细的权限控制,用户可审批每次工具调用
- 工具市场:Anthropic 计划建立官方 MCP Server 市场,类似 NPM/PyPI
- 行业标准:有望成为 AI 工具调用的 ISO 级标准,取代各厂商私有实现
MCP 大概率会成为 AI 工具调用的事实标准。核心原因:Anthropic 开源、大厂跟进、生态先发优势已建立。对于开发者而言,现在学习 MCP 是高性价比投入。