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 操作外部工具有两种方式:

  1. 每个工具自己写插件(OpenAI Plugin、Claude 的 Tool Use 定义等)
  2. 用 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 的工具。

通信方式有两种:

方式说明适用场景
stdioServer 作为子进程运行,通过标准输入输出通信本地工具,运行在开发者机器上
SSEServer 作为 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.comgithub.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 集成

下一步