MCP — 模型上下文协议
“A USB-C port for AI applications.”
什么是MCP
MCP(Model Context Protocol,模型上下文协议)是连接AI应用与外部系统的开源标准协议。它由Anthropic发起,设计灵感源自微软的Language Server Protocol (LSP)。MCP的设计哲学与LSP一致:通过标准化的协议层,将N x M的集成问题简化为N + M。 官方规范: modelcontextprotocol.io 规范仓库: github.com/modelcontextprotocol/specification 当前协议版本:2025-11-25
通俗解释: USB-C让你的手机连接充电器、显示器、U盘。MCP让AI应用连接数据库、API、文件系统和各种工具。一个标准接口,连接一切。
广泛的生态支持
MCP已被以下AI应用和开发工具支持:MCP架构
三个参与方
MCP是一个有状态协议,采用客户端-服务器架构,有三个核心参与方:两层架构
传输方式
MCP的核心能力(Primitives)
Server端 Primitives
1. Tools(工具) — 模型控制 AI模型自主决定何时调用的可执行函数。通过tools/list 发现,通过 tools/call 执行。支持 inputSchema 定义输入参数,可选 outputSchema 定义结构化输出。
resources/list 发现,通过 resources/read 读取,支持 resources/subscribe 订阅变化。资源附带Annotations(audience、priority、lastModified等元数据)。
3. Prompts(提示词) — 用户控制
可复用的交互模板。通过 prompts/list 发现,通过 prompts/get 获取(支持arguments参数化)。
Client端 Primitives
内容类型
MCP支持五种内容类型,均可携带Annotations:MCP在商务中的应用场景
MCP Server开发流程
1. 定义工具
确定你的MCP Server要暴露哪些工具。每个工具需要:- 名称和描述(description直接影响AI模型的选择决策)
- 输入参数的JSON Schema(
inputSchema) - 可选的输出Schema(
outputSchema,定义结构化返回格式) - 执行逻辑
2. 选择SDK
MCP提供多语言SDK:- TypeScript/JavaScript:
@modelcontextprotocol/sdk - Python:
mcp - 其他语言: 通过JSON-RPC 2.0自行实现
3. 实现Server
4. 部署
- 本地Server: 使用stdio传输,在用户机器上运行
- 远程Server: 使用Streamable HTTP传输,部署在你的服务器上
5. 用户连接
用户在Claude/ChatGPT/VS Code等支持MCP的应用中添加你的Server连接信息即可使用。协议生命周期
MCP连接有三个阶段:章节目录
- MCP核心概念 — 架构详解、参与方角色、协议生命周期
- 数据层协议 — JSON-RPC 2.0消息格式、能力协商
- 传输层 — stdio vs Streamable HTTP、OAuth 2.1认证
- 构建MCP Server — TypeScript/Python完整开发指南
- 商务MCP Server — 电商场景的MCP Server设计模式
- 资源与提示词 — Resources和Prompts的使用
- 安全与认证 — OAuth 2.1集成、PKCE、权限管理
- 测试与调试 — MCP Inspector使用指南
- 部署指南 — 本地部署vs远程部署
- 实战案例 — 不同场景的MCP Server实现
AI提示词:构建商务MCP Server
MCP是一个活跃发展的协议,规范持续更新中。本章内容基于截至2026年4月的官方文档(协议版本
2025-11-25)。请始终以 modelcontextprotocol.io 的最新版本为准。