构建大语言模型与数据世界的通用桥梁
标准化 · 安全 · 高效
在 AI 应用爆发的今天,开发者面临着一个棘手的 "M × N" 问题: 假设有 M 个 AI 模型和 N 个数据源/工具,传统方式需要开发 M × N 个连接器。 例如:3 个模型 × 5 个数据源 = 15 个独立适配器,带来大量重复开发和维护成本。
Model Context Protocol (MCP) 是一个开放的标准化协议, 旨在统一 AI 模型与外部工具、数据源之间的通信方式。 它就像是 AI 时代的 USB 接口 —— 一次开发,处处连接。
通常指大语言模型 (LLM) 或 AI 应用程序(如 Claude Desktop、Cursor、各类 AI IDE)。 它是请求的发起者,向 Server 请求数据或调用工具完成任务。
提供特定功能的组件。它可以连接本地文件、数据库、API 接口等。 Server 向 Client 暴露 Resources(数据资源,如文件、数据库记录)和 Tools(可执行的功能,如查询天气、发送邮件)。
定义了 Client 和 Server 如何"对话"的规则。 基于 JSON-RPC 格式,规定了握手、能力发现、工具调用、错误处理等标准流程。
场景:用户对 AI 说 “帮我查一下北京今天的天气,并推荐穿搭。”
Client 连接到 Server,询问:“你有什么本事?”
Server 回复:“我有 get_weather 和 get_clothing_recommendation 两个工具。”
Client 分析用户意图,决定调用 get_weather。
发送请求:{ "name": "get_weather", "args": { "city": "北京" } }
Server 查询气象 API,获取数据。
返回结果:{ "temp": 22, "condition": "晴朗", "humidity": 40 }
Client 收到天气数据后,结合用户"推荐穿搭"的意图:
• 可继续调用 get_clothing_recommendation 获取搭配建议
• 或基于已有数据直接生成回复给用户
图例:● 发现能力 ● 调用请求 ● 返回结果
不再需要为每个数据源编写特定的连接器。只要遵循 MCP 协议,任何 Client 都可以连接任何 Server。
Client 不直接访问数据库或文件系统,而是通过 Server 暴露的受控接口进行交互,数据边界清晰。
开发者可以专注于构建高质量的 Server,一次编写,即可被所有支持 MCP 的 AI 应用使用。
MCP 基于 JSON-RPC 2.0 协议进行通信,下面是核心消息类型和字段说明。
{
"jsonrpc": "2.0", // 协议版本,固定为 "2.0"
"id": 1, // 请求唯一标识,用于匹配响应
"method": "tools/call", // 调用的方法名
"params": { ... } // 方法参数(可选)
}
{
"jsonrpc": "2.0", // 协议版本
"id": 1, // 对应请求的 ID
"result": { ... } // 成功时返回结果
// 或
"error": { // 失败时返回错误信息
"code": -32600,
"message": "Invalid Request"
}
}
initialize
初始化连接,交换客户端/服务端能力信息
tools/list
获取 Server 提供的所有可用工具列表
tools/call
调用指定工具并传入参数
resources/list
获取 Server 提供的资源列表
resources/read
读取指定 URI 的资源内容
prompts/list
获取预定义的 Prompt 模板列表
{
"jsonrpc": "2.0",
"id": 42,
"method": "tools/call",
"params": {
"name": "get_weather", // 工具名称
"arguments": { // 工具参数(对象格式)
"city": "北京",
"unit": "celsius"
}
}
}
MCP 支持多种传输方式,适应不同的部署场景。
适用于本地进程通信。Client 启动 Server 作为子进程,通过 stdin/stdout 交换 JSON-RPC 消息。
适用于远程服务。Client 通过 HTTP POST 发送请求,Server 通过 SSE (Server-Sent Events) 推送响应和通知。
让 AI 访问项目文件、运行命令、查询文档,实现代码编写、调试、重构的全流程辅助。
连接内部文档、Wiki、数据库,AI 可智能检索并综合企业知识回答问题。
让 AI 调用 GitHub、Slack、Jira 等服务,实现跨平台自动化工作流。
连接数据库、BI 工具,AI 可执行 SQL 查询、生成报表、提供数据洞察。
让 AI 访问订单系统、CRM,自动查询订单状态、处理用户请求。
连接图像生成、视频处理、文件管理服务,实现多模态创作工作流。
MCP 生态正在快速发展,以下是一些核心资源。
modelcontextprotocol.io
协议规范、教程、最佳实践的官方站点
TypeScript / Python
官方提供的 SDK,快速构建 MCP Server
社区贡献
GitHub、Slack、Notion、PostgreSQL 等常用服务的 MCP Server
示例项目
官方和社区提供的各类 MCP Server 示例代码