协议标准

MCP

模型上下文协议

MCP(Model Context Protocol)是 Anthropic 推出的开放协议,让 AI 模型能够安全地访问外部数据源和工具。类似于 AI 世界的 USB-C 接口,统一了 LLM 与外部资源的连接方式。

2026-08-03
MCP协议Anthropic工具调用

什么是 MCP

MCP(Model Context Protocol,模型上下文协议) 是 Anthropic 于 2024 年 11 月开源的协议标准,旨在让 AI 模型(LLM)以统一的方式连接外部数据源和工具。

用一句话理解:MCP 是 AI 世界的 USB-C 接口。在 MCP 出现之前,每个 AI 应用要连接数据库、文件系统、API,都需要单独写集成代码。MCP 定义了统一的标准协议,任何 MCP 客户端(如 Claude Code、Cursor)都可以连接任何 MCP 服务器(如数据库 MCP、文件系统 MCP)。

核心概念

MCP 客户端

发起请求的一方,通常是 AI 应用:

  • Claude Code(Anthropic 官方 CLI)
  • Cursor(AI IDE)
  • VS Code + Continue 插件
  • Cline / 其他 MCP 兼容客户端

MCP 服务器

提供能力的一方,封装了具体的数据源或工具:

  • 文件系统 MCP:让 AI 读写本地文件
  • 数据库 MCP:让 AI 查询 MySQL/PostgreSQL
  • GitHub MCP:让 AI 管理 Issue、PR
  • Slack MCP:让 AI 发送 Slack 消息

通信协议

MCP 基于 JSON-RPC 2.0 协议,支持两种传输方式:

  • stdio:通过标准输入输出通信(本地运行)
  • SSE(Server-Sent Events):通过 HTTP 通信(远程运行)

MCP 解决了什么问题

之前的问题

每个 AI 应用要连接 N 个数据源,需要 M × N 个集成:

  • Claude 连 MySQL → 写一套代码
  • Cursor 连 MySQL → 再写一套代码
  • VS Code 连 MySQL → 又写一套代码

MCP 之后

每个数据源只需写一个 MCP 服务器,每个客户端只需实现 MCP 协议:

  • MySQL MCP 服务器(1 个)
  • 所有 MCP 客户端都能用(N 个)
  • 集成复杂度从 M × N 降为 M + N

如何使用 MCP

1. 安装 MCP 服务器

大多数 MCP 服务器可通过 npx 直接运行:

npx -y @modelcontextprotocol/server-filesystem /path/to/dir

2. 配置客户端

以 Claude Code 为例,在配置文件中添加 MCP 服务器:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/projects"]
    }
  }
}

3. 使用

配置完成后,AI 就能自动调用 MCP 工具。你只需用自然语言说"读取 projects 目录下的所有文件",AI 会自动调用 filesystem MCP。

常见 MCP 服务器

服务器功能安装命令
Filesystem文件读写npx -y @modelcontextprotocol/server-filesystem
PostgreSQL数据库查询npx -y @modelcontextprotocol/server-postgres
GitHub仓库管理npx -y @modelcontextprotocol/server-github
Slack消息发送npx -y @modelcontextprotocol/server-slack
Brave Search网页搜索npx -y @modelcontextprotocol/server-brave-search

MCP vs Function Calling

维度Function CallingMCP
定义方各模型自定义开放标准
互操作性低(每个模型不同)高(统一协议)
部署方式代码内嵌独立进程
动态发现不支持支持(运行时发现工具)

相关概念

  • Agent:能自主调用工具完成任务的 AI
  • RAG:检索增强生成,让 AI 基于外部知识回答
  • Function Calling:模型调用外部函数的能力(MCP 的前身概念)