MCP 协议
Model Context Protocol — AI 工具的"USB-C"标准。理解 MCP 是什么、怎么用、为什么重要。
核心观点
MCP(Model Context Protocol)是 Anthropic 推出的开放协议,目的是给 AI 模型提供一个统一的接口来连接外部工具和数据源。
你可以把它理解为 AI 世界的 USB-C:以前每个设备都要专用线(每个 AI 工具都要单独集成),现在一根线通用。
对独立开发者来说,MCP 的意义在于:不需要再为每个 AI 工具写不同的集成代码。只要提供 MCP 接口,任何支持 MCP 的 AI 都能直接使用。
解决了什么问题
在 MCP 出现之前,让 AI 操作外部工具有两种方式:
- 每个工具自己写插件(OpenAI Plugin、Claude 的 Tool Use 定义等)
- 用 Agent 框架的集成层(LangChain 的工具包)
问题是这两种方式都不通用。你给 Cursor 写的工具集成,在 Claude Code 上不能用。MCP 统一了这个接口。
Server/Client 架构
MCP 采用简单的 C/S 架构:
- MCP Server:提供具体的工具和数据。比如你写一个"读取数据库"的 MCP Server,它暴露
query_database这个工具。 - MCP Client:AI 应用。比如 Claude Code、Cursor、VS Code 的 AI 插件。当 AI 需要查数据库时,Client 通过 MCP 协议调用 Server 的工具。
通信方式有两种:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| stdio | Server 作为子进程运行,通过标准输入输出通信 | 本地工具,运行在开发者机器上 |
| SSE | Server 作为 HTTP 服务运行,通过 Server-Sent Events 通信 | 远程工具,部署在服务器上 |
用 MCP 而不是写死工具调用的原因
MCP 的核心设计理念是解耦。AI 模型本身不需要知道你的数据库结构、文件系统布局——它只需要知道 MCP Server 暴露了哪些工具。
这意味着你可以在不修改 AI 配置的情况下,替换或升级底层工具。今天用 SQLite,明天切 PostgreSQL,只要 MCP 接口不变,AI 侧不需要任何改动。
常见 MCP Server
| Server | 功能 | 使用频率 |
|---|---|---|
| filesystem | 文件读写、目录操作 | ⭐⭐⭐⭐⭐ 几乎每天用 |
| github | 创建 PR、管理 Issue、搜索代码 | ⭐⭐⭐⭐ 项目协作必备 |
| puppeteer | 浏览器自动化、网页截图 | ⭐⭐⭐ 测试和抓取 |
| postgres | 数据库查询、Schema 管理 | ⭐⭐⭐ 后端开发常用 |
| 飞书 | 飞书文档和消息 | ⭐⭐ 团队协作 |
| web-search | 联网搜索 | ⭐⭐⭐ 查资料 |
实际使用中,我最常用的是 filesystem 和 web-search。filesystem 让 AI 直接读写项目文件,web-search 让 AI 获取最新信息。
MCP 社区发展很快。可以去 mcpserverlist.com 或 github.com/topics/mcp-server 找现成的 Server。
在 Claude Code 中使用 MCP
Claude Code 原生支持 MCP。配置方式是通过项目目录下的 .claude/settings.json:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-server-filesystem"]
}
}
}配置后重启 Claude Code,AI 就能直接通过 MCP 调用这些工具。它会自动决定什么时候该用什么工具。
更多配置详见 Claude Code MCP 集成。
下一步
- AI Agent — MCP 是 Agent 的工具接口
- Claude Code 高级用法 — 配置和使用 MCP Server
- MCP 官方文档 — 标准和 Python/TypeScript SDK