什么是 MCP?
MCP(Model Context Protocol,模型上下文协议) 是由 Anthropic 于 2024 年 11 月发布的一项开放协议,旨在标准化 AI 模型与外部数据源、工具之间的交互方式。
它被广泛比喻为 "AI 的 USB-C 接口"——正如 USB-C 让你用一根线连接各种设备,MCP 让 AI 模型用统一的方式连接各种外部系统。
传统方式:
模型 ←→ 自定义适配器 A ←→ 工具 A
模型 ←→ 自定义适配器 B ←→ 工具 B
模型 ←→ 自定义适配器 C ←→ 工具 C
MCP 方式:
模型 ←→ MCP 协议 ←→ 工具 A / 工具 B / 工具 C为什么需要 MCP?
痛点:集成碎片化
在 MCP 出现之前,AI 应用要对接每一个外部工具或数据源,都需要单独编写适配代码:
- 对接数据库需要一套代码
- 对接文件系统需要另一套
- 对接第三方 API 又需要重新写
这导致了 "M × N 问题":M 个 AI 应用 × N 个外部工具 = M×N 个独立集成,维护成本呈指数增长。
MCP 的解决方案
MCP 将 M×N 问题简化为 M+N:
- 每个 AI 应用只需实现一次 MCP Client
- 每个工具只需实现一次 MCP Server
- 两者通过标准协议自动对接
MCP 核心架构
MCP 采用经典的 Client-Server 架构,由三个核心组件构成:
1. MCP Host(宿主)
发起连接的 AI 应用,如 Claude Desktop、IDE 插件、自定义 Agent 等。
2. MCP Client(客户端)
嵌入在 Host 中的协议实现,负责与 Server 建立一对一连接。
3. MCP Server(服务端)
暴露工具和数据的轻量级服务,每个 Server 专注于一种能力:
| Server 类型 | 功能 | 示例 |
|---|---|---|
| 文件系统 | 读写本地文件 | @modelcontextprotocol/filesystem |
| 数据库 | 查询 SQL/NoSQL | @modelcontextprotocol/postgres |
| Web 搜索 | 联网搜索 | Exa MCP Server |
| 代码分析 | 语义检索代码 | Auggie MCP Server |
MCP 提供的三大能力
Resources(资源)
Server 向 Client 暴露结构化数据,如文件内容、数据库查询结果。类似 REST API 中的 GET 请求。
Tools(工具)
Server 暴露可执行的函数,由 AI 模型决定何时调用。类似 Function Calling,但标准化且跨模型兼容。
Prompts(提示模板)
Server 预定义的提示词模板,帮助用户快速执行特定任务。
MCP vs API vs Function Calling
| 维度 | 传统 API | Function Calling | MCP |
|---|---|---|---|
| 标准化 | 各自定义 | 厂商特定 | 统一开放协议 |
| 跨模型 | ✅ | ❌ | ✅ |
| 动态发现 | ❌ | ❌ | ✅ 自动发现可用工具 |
| 双向通信 | ❌ | ❌ | ✅ 实时双向 |
| 上下文保持 | ❌ | 有限 | ✅ 长期上下文 |
| 生态 | 碎片化 | 平台锁定 | 开放生态 |
开发者如何上手?
1. 使用现成的 MCP Server
已有大量开源 MCP Server 可直接使用,覆盖文件系统、数据库、搜索引擎、代码库等常见场景。
2. 开发自定义 MCP Server
如果你有特定的工具或数据需要暴露给 AI,可以用 TypeScript 或 Python SDK 快速构建:
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"
const server = new McpServer({ name: "my-tool", version: "1.0.0" })
server.tool("search_products", { query: "string" }, async ({ query }) => {
const results = await db.products.search(query)
return { content: [{ type: "text", text: JSON.stringify(results) }] }
})3. 在 AI 应用中集成 MCP Client
Claude Desktop、Cursor、Windsurf 等主流 AI 产品已内置 MCP Client 支持。
MCP 的未来
MCP 正在成为 AI 生态系统的基础设施级协议。随着越来越多的工具和平台支持 MCP,AI 应用将从"模型智能"进化到"系统智能"——不再只是聪明的对话,而是能真正操作外部世界的智能 Agent。
💡 了解各中转站对工具调用和 Agent 能力的支持情况,可查看 APIS 模型矩阵。