MCP 协议:AI Agent 时代的「USB-C」接口

如果你最近关注 AI 开发工具,一定频繁看到「MCP」这个缩写。它全称 Model Context Protocol,是 Anthropic 去年底推出的开放标准。短短几个月,这个协议已经从「又一个技术提案」变成了开发者社区的热门话题。

为什么 MCP 会出现?

目前 AI 应用面临一个尴尬的局面:每当你想让 LLM 连接一个新工具——比如查询数据库、操作 GitHub、读取本地文件——都需要单独写一套集成代码。团队 A 写了一个 Slack bot 的连接器,团队 B 想用就得重新造轮子。

MCP 想解决这个问题。它的定位很像 USB-C:一次实现,到处通用。开发者只需要按照 MCP 标准实现一次服务端,任何支持 MCP 的 AI 客户端都能直接调用。

核心设计

MCP 采用经典的客户端-服务端架构:

  • MCP Client:运行在 AI 应用内部,负责发起请求
  • MCP Server:封装具体的外部能力,比如文件系统访问、API 调用
  • Transport:基于 JSON-RPC 2.0 的通信层,支持 stdio 和 HTTP

这种分层设计的好处是解耦。AI 应用不需要关心 GitHub API 的具体细节,只需要说「我要调用 github 工具的 create_issue 方法」,剩下的交给对应的 MCP Server。

实际能做什么?

根据 Anthropic 的官方示例和社区贡献,目前 MCP Server 已经覆盖这些场景:

类别示例
开发工具Git、GitHub、PostgreSQL、SQLite
文件系统本地文件读写、Google Drive
通信协作Slack、邮件发送
浏览器自动化Puppeteer、Playwright

更关键的是,这是一个开放生态。任何人都可以编写 MCP Server 并发布,就像发布 npm 包一样。这意味着工具的数量会快速增长。

开发者该怎么做?

如果你在使用 AI 编程助手(如 Cursor、Claude Desktop)

检查它们是否已支持 MCP。Cursor 最近几个版本已经内置了 MCP 客户端配置,你可以在设置里添加第三方 MCP Server,让 AI 直接操作你的开发环境。

如果你在构建 AI 应用

考虑将外部能力抽象成 MCP Server,而不是直接耦合在应用代码里。这样你的工具既可以被自家产品使用,也能被其他 MCP 客户端调用。

如果你在做 DevOps/平台工程

MCP 可能是下一个需要纳入标准的技术栈。就像现在每个团队都有 REST API 规范一样,未来可能也会有 MCP Server 的治理规范。

我的看法

MCP 的聪明之处在于时机。Agent 概念已经火了一年多,但开发者很快发现「让 AI 调用工具」这件事做起来比说起来难得多。每个工具都有不同的认证方式、参数格式、错误处理逻辑。MCP 提供了一个务实的中间层

它不是要取代现有的 API,而是让 AI 更容易消费这些 API。这种定位很务实,也很符合 Anthropic 一贯的风格。

当然,协议还处于早期阶段。真正的考验是生态能否做起来——足够多的 Server 实现、足够多的 Client 支持、足够清晰的治理模式。但至少,方向是对的。


参考链接: