# 什么是 MCP（模型上下文协议）？

> MCP 全称 Model Context Protocol（模型上下文协议），是一项开源标准。有了它，Claude Code、VS Code 这类 AI 应用就能用上你的文件、数据库或某个网络服务。每个外部系统背后都有一个 MCP 服务器。这个程序可以运行在你自己的电脑上，也可以运行在别处，通过网址访问。接上之后，模型就能调用它提供的工具。

Mindket 编辑部 · 发布于 2026-10-05 · 更新于 2026-11-03 · https://mindket.com/cn/blog/what-is-mcp

## 要点

- 接服务器之前，先弄清它运行在你自己的机器上，还是别人的平台上。如果是远程的，你的请求就会离开你的电脑。
- 批准一次工具调用之前，先看清它要发出去的输入。
- 自己写本地服务器的话，stdout 只留给 MCP 消息，日志一律写到 stderr。

## 宿主、客户端、服务器，谁是谁

假设你的 AI 应用接了一个天气服务器，你问起纽约的天气。应用里负责发请求的部分叫**客户端**（client），它给这个服务器发一条很短的请求：运行名叫 `get_weather` 的工具，地点填纽约。服务器执行完，把结果送回来，模型再根据结果回答。

MCP 统一了这类请求和回复的格式，所以同一个服务器放进任何支持这套协议的应用里都能用。应用本身叫**宿主**（host），比如 Claude Code、Claude Desktop 或 VS Code。宿主给每个服务器配一个客户端，各管一条连接。VS Code 同时连着 [Sentry 的服务器和本地的文件系统服务器](https://modelcontextprotocol.io/docs/learn/architecture)时，里面就有两个客户端。

“服务器”这三个字，并不说明程序在哪里运行。本地服务器由宿主在你自己的机器上、以你的账户身份启动，比如 Claude Desktop 启动的文件系统服务器，一般只服务一个客户端。远程服务器运行在别人的平台上，Sentry 的就是这种，通常同时服务很多客户端。

> MCP 好比 AI 应用的 USB-C 接口：USB-C 用统一的方式连接各种电子设备，MCP 用统一的方式把 AI 应用接到外部系统。原文为英文。
>
> MCP 文档, 在它的介绍页里, [modelcontextprotocol.io，“什么是 MCP？”](https://modelcontextprotocol.io/docs/getting-started/intro) (2026-11-03 查阅)

## MCP 服务器能让智能体做什么

接上合适的服务器，智能体就能读你的 [Google 日历和 Notion](https://modelcontextprotocol.io/docs/getting-started/intro)，Claude Code 也能照着 Figma 设计稿做出一整个网页应用。

按规范，每个工具都等同于任意代码执行，宿主调用之前必须先取得你的明确同意。工具页还建议，应用发出调用之前，先把要发送的输入给你看。对本地服务器来说，这个确认来得太晚：确认框弹出来的时候，程序已经在运行了。所以要在应用启动服务器之前，[先读一遍配置里的命令](https://mindket.com/cn/blog/are-mcp-servers-safe)：它运行的是哪个程序，带了哪些参数。

- 官方[服务器仓库](https://github.com/modelcontextprotocol/servers)只留了一小组参考服务器：Everything、Fetch、Filesystem、Git、Memory、Sequential Thinking 和 Time。README 自己说，这些是给想写服务器的开发者看的教学示例，不是能直接上生产的方案。
- 启动一个只要一行，比如 `npx -y @modelcontextprotocol/server-memory` 或 `uvx mcp-server-git`。
- 远程服务器不用在本机装任何东西。在 Claude Code 里接 Notion 的服务器，用的是 `claude mcp add --transport http notion https://mcp.notion.com/mcp`，这是 [Anthropic 的 MCP 文档](https://code.claude.com/docs/en/mcp)里的例子。

[![Claude 在 X 上的帖子：Claude Code 加 Figma 把设计变成代码，Claude 通过 MCP 读取设计稿的组件层级、设计令牌和自动布局规则，发布于 2025 年 9 月 23 日](https://mindket.com/blog/shots/x-claudeai-figma-mcp.webp?v=96789639de20)](https://x.com/claudeai/status/1970541285615264071)

Claude 在 X 上，2025 年 9 月 23 日

> 本页的帖子截图都是 X 官方嵌入组件的样子，时间按美国太平洋时间显示。点开任意一张，就能在 X 上看原帖。

## 服务器提供什么：工具、资源和提示

客户端要问天气，先得知道有这个工具。它先向服务器要工具列表（`tools/list`），拿回每个工具的名称、说明和它接受的输入，然后才调用其中一个（`tools/call`）。资源用 `resources/read` 读取，提示在应用里常常就是一条斜杠命令。

以[数据库服务器](https://modelcontextprotocol.io/docs/learn/server-concepts)为例：应用把数据库结构（schema）载入上下文，这是资源。你的问题需要查数据时，模型通过工具执行查询。示范怎样调用这些工具的提示模板，由你自己选。

服务器还可以反过来向你要信息，比如请你确认某个操作。规范管这叫 elicitation（征询）。

| 类型 | 是什么 | MCP 文档里的例子 | 由谁控制 |
| --- | --- | --- | --- |
| 工具（Tools） | 模型调用来做事的函数，比如写数据库、调外部 API、改文件 | 搜索航班、发送消息、创建日历事件 | 模型 |
| 资源（Resources） | 只读数据，应用把它取来当上下文，每个资源有自己的 URI | 文档、知识库、日历 | 应用 |
| 提示（Prompts） | 现成的指令模板，告诉模型怎样配合使用服务器的工具和资源 | 规划假期、总结我的会议、起草邮件 | 用户 |

## MCP 是谁做的，现在由谁管

Anthropic 在 [2024 年 11 月 25 日](https://www.anthropic.com/news/model-context-protocol)开源了 MCP，称它是“把 AI 助手连接到数据所在系统的新标准”。它要解决的是集成各搞各的：每接一个新数据源，都得单独写一套实现。随它一起放出的，还有 Google Drive、Slack、GitHub、Git、Postgres 和 Puppeteer 的现成服务器。

现在 MCP 不属于任何一家公司。它是 LF Projects, LLC 旗下单独设立的一个项目，名称就叫 Model Context Protocol。[指导小组](https://modelcontextprotocol.io/community/governance)的席位按人算，不按雇主算。规范要改，得先提交一份规范增强提案（SEP），提案在落地之前就会公开。

官方的 [MCP Registry](https://modelcontextprotocol.io/registry/about) 还在预览阶段，只存公开服务器的元数据，不存代码。安全扫描交给 npm、PyPI 这类软件包仓库，以及收录这些服务器的第三方市场，所以在 Registry 上查得到，只说明这个服务器存在，不说明它安全。

**Anthropic 自己统计的 MCP 规模**

- **10,000+** 个活跃的公开 MCP 服务器，截至 2025 年 12 月 9 日 (来源：[Anthropic，2025 年 12 月 9 日](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation), 2026-11-03 查阅)
- **97M+** 次每月 SDK 下载，覆盖 Python 和 TypeScript，同一天统计 (来源：[Anthropic，2025 年 12 月 9 日](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation), 2026-11-03 查阅)

**MCP 从发布到无状态修订版**

1. **2024年11月25日** Anthropic 开源 MCP。同时放出一批现成的服务器。
2. **2025年3月26日** 2025-03-26 修订版定稿。Streamable HTTP 取代 HTTP+SSE，OAuth 2.1 授权框架出现。
3. **2025年11月25日** 2025-11-25 修订版。加入 URL 模式征询和实验性的 tasks。
4. **2025年12月9日** Anthropic 把 MCP 捐给 Agentic AI Foundation。这是 Linux 基金会旗下的定向基金。
5. **2026年7月28日** 2026-07-28 修订版让 MCP 变成无状态。协议层不再有会话，也没有 initialize 握手。

来源：[Anthropic，2024 年 11 月 25 日](https://www.anthropic.com/news/model-context-protocol) (2026-11-02 查阅)；[MCP 更新日志，2025-03-26 修订版](https://modelcontextprotocol.io/specification/2025-03-26/changelog) (2026-11-03 查阅)；[MCP 更新日志，2025-11-25 修订版](https://modelcontextprotocol.io/specification/2025-11-25/changelog) (2026-11-03 查阅)；[Anthropic，2025 年 12 月 9 日](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation) (2026-11-03 查阅)；[MCP 更新日志，2026-07-28 修订版](https://modelcontextprotocol.io/specification/2026-07-28/changelog) (2026-11-03 查阅)

[![Alex Albert 在 X 上介绍 Model Context Protocol 的帖子：这是 Anthropic 的开放标准，把 LLM 应用连接到你的数据，发布于 2024 年 11 月 25 日](https://mindket.com/blog/shots/x-alexalbert-mcp-intro.webp?v=bc355b2d186a)](https://x.com/alexalbert__/status/1861079762506252723)

Anthropic 的 Alex Albert 在 X 上，2024 年 11 月 25 日

[![Alex Albert 在 X 上的帖子：新版 MCP 规范定稿，带来 OAuth 2.1 授权、取代 HTTP+SSE 的 Streamable HTTP、JSON-RPC 批处理和工具注解，发布于 2025 年 3 月 26 日](https://mindket.com/blog/shots/x-alexalbert-mcp-spec-march-2025.webp?v=4b710cf2d358)](https://x.com/alexalbert__/status/1904908450473324721)

Anthropic 的 Alex Albert 在 X 上，2025 年 3 月 26 日

> 2026 年 11 月 2 日读过：文中链接和来源列表里的所有页面。次日复读：规范的更新日志、版本页和 Anthropic 的捐赠公告。本页三张帖子截图也是那天截的。

## 参考：MCP 消息怎样传输，stdio 和 Streamable HTTP

用 **stdio** 时，宿主在你的机器上把服务器当子进程启动。服务器从标准输入读请求，往标准输出写回复，一行一条。[stdio 绑定](https://modelcontextprotocol.io/specification/latest/basic/transports/stdio)规定，服务器不得往 stdout 写任何不是合法 MCP 消息的内容，所以一句调试用的 print，就可能让本地服务器出错。日志要写到 stderr，客户端可以留着，也可以不管。

用 **Streamable HTTP** 时，服务器是独立运行的进程，只开一个端点，比如 `https://example.com/mcp`。客户端每发一条消息，都是一次单独的 HTTP POST。服务器回一个 JSON 对象，或者回一小段只属于这次请求的事件流。2025-03-26 版协议用它[取代了旧的 HTTP+SSE](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http)，Claude Code 的文档也把自己的 SSE 选项标成了弃用。

[现行规范](https://modelcontextprotocol.io/specification/latest/basic/transports)是 2026-07-28 修订版，它让 MCP 变成了无状态：每个请求都带着自己的协议版本和能力声明，服务器可以一个一个单独处理。旧版本要先用 `initialize` 握手建立会话，新版本把协议层的会话和长连接的 GET 流都去掉了。客户端可以先发 `server/discover`，看服务器支持哪些版本和功能。

有两项旧的客户端功能已经弃用：一项是 sampling，即服务器请宿主的模型替它生成回答，另一项是 logging（日志）。

登录授权是可选的。按[授权规范](https://modelcontextprotocol.io/specification/latest/basic/authorization)，走 HTTP 的服务器应当用其中规定的 OAuth 2.1 流程，stdio 服务器则从环境变量里取凭据。

MCP 规范的每个修订版都用一个日期命名。这个日期标记的是最近一次让旧实现不再兼容的改动。较旧的应用，可能还在用早先的版本。

这些消息都用 JSON-RPC 2.0 格式，比如这条查天气的 `tools/call` 请求。它取自规范的[工具页](https://modelcontextprotocol.io/specification/latest/server/tools)，和原页面一样，省掉了真实请求都会带的元数据。

````json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "get_weather",
    "arguments": { "location": "New York" }
  }
}
````

**各个修订版分别有什么**

| | 2024-11-05 | 2025-03-26 | 2025-11-25 | 2026-07-28 (我们的选择) |
| --- | --- | --- | --- | --- |
| Streamable HTTP 传输 | ✗ 否 | ✓ 是 | ✓ 是 | ✓ 是 |
| OAuth 2.1 授权框架 | ✗ 否 | ✓ 是 | ✓ 是 | ✓ 是 |
| 发出任何请求之前先做 initialize 握手 | ✓ 是 | ✓ 是 | ✓ 是 | ✗ 否 |
| URL 模式征询（elicitation） | ✗ 否 | ✗ 否 | ✓ 是 | ✓ 是 |
| 长时间请求用的 tasks | ✗ 否 | ✗ 否 | 实验性 | 官方扩展 |

**我们的选择：2026-07-28。** 这是 MCP 版本页上的现行修订版，新写服务器就按它来。

来源：[MCP 更新日志，2025-03-26 修订版](https://modelcontextprotocol.io/specification/2025-03-26/changelog) (2026-11-03 查阅)；[MCP 更新日志，2025-11-25 修订版](https://modelcontextprotocol.io/specification/2025-11-25/changelog) (2026-11-03 查阅)；[MCP 更新日志，2026-07-28 修订版](https://modelcontextprotocol.io/specification/2026-07-28/changelog) (2026-11-03 查阅)；[MCP 版本页](https://modelcontextprotocol.io/specification/versioning) (2026-11-03 查阅)

## 常见问题

### MCP 服务器和 API 是一回事吗？

不是一回事，不过很多 MCP 工具的底层还是在调 API。API 是某个服务自己的接口，每家各有各的设计。比如一个天气服务器，底下可能调着某个天气 API，宿主看到的却只是一个叫 `get_weather` 的工具和它要的输入。

### 用 MCP 服务器需要写代码吗？

不用写代码，改改设置就行：在 Claude Code 里是[一条命令](https://mindket.com/cn/blog/add-mcp-server-claude-code)，在 Claude Desktop、Cursor 这类应用里是一段 JSON。只有自己写服务器才要写代码，官方 SDK 覆盖了好几种编程语言。

### MCP 和 Agent Skills 是一回事吗？

不是。技能是[装着操作说明的文件夹](https://mindket.com/cn/blog/what-are-agent-skills)，MCP 服务器是通往另一个程序的实时连接。规范里另有一个扩展叫 Skills over MCP，服务器可以借 MCP 连接，把结构化的工作流指令发给智能体。

### 哪些应用能用 MCP 服务器？

MCP 介绍页点名的有 Claude、ChatGPT、Visual Studio Code 和 Cursor，各家的配置方式各不相同。Claude Code 把服务器记在 `~/.claude.json` 或项目里的 `.mcp.json`，Claude Desktop、Cursor 等应用则读一段 `mcpServers` JSON。

### MCP 要付费吗？

协议免费。代码和规范的贡献采用 Apache License 2.0，规范以外的文档采用 Creative Commons Attribution 4.0 许可。不过服务器背后的服务，可能要你自己的账户或 API 密钥。

### MCP 服务器能看到我的全部对话吗？

看不到，它只看得到宿主发给它的内容。按规范，宿主把你的数据交给服务器之前，必须先取得你的明确同意，未经同意也不得把资源数据转给别处。

## 资料来源

- [Model Context Protocol：什么是 MCP？](https://modelcontextprotocol.io/docs/getting-started/intro) (2026-11-03 查阅)
- [MCP 文档：架构概览](https://modelcontextprotocol.io/docs/learn/architecture) (2026-11-02 查阅)
- [MCP 文档：理解 MCP 服务器](https://modelcontextprotocol.io/docs/learn/server-concepts) (2026-11-02 查阅)
- [MCP 规范（2026-07-28 修订版）](https://modelcontextprotocol.io/specification/latest) (2026-11-02 查阅)
- [MCP 规范：传输](https://modelcontextprotocol.io/specification/latest/basic/transports) (2026-11-02 查阅)
- [MCP 规范：stdio 传输](https://modelcontextprotocol.io/specification/latest/basic/transports/stdio) (2026-11-02 查阅)
- [MCP 规范：Streamable HTTP 传输](https://modelcontextprotocol.io/specification/latest/basic/transports/streamable-http) (2026-11-02 查阅)
- [MCP 规范：授权](https://modelcontextprotocol.io/specification/latest/basic/authorization) (2026-11-02 查阅)
- [MCP 规范：工具](https://modelcontextprotocol.io/specification/latest/server/tools) (2026-11-02 查阅)
- [MCP：治理与管理](https://modelcontextprotocol.io/community/governance) (2026-11-02 查阅)
- [MCP：MCP Registry 注册表](https://modelcontextprotocol.io/registry/about) (2026-11-02 查阅)
- [Anthropic：介绍 Model Context Protocol](https://www.anthropic.com/news/model-context-protocol) (2026-11-02 查阅)
- [GitHub：modelcontextprotocol/servers 仓库](https://github.com/modelcontextprotocol/servers) (2026-11-02 查阅)
- [Claude Code 文档：通过 MCP 把 Claude Code 连到工具](https://code.claude.com/docs/en/mcp) (2026-11-02 查阅)
- [MCP 规范更新日志：2025-03-26 修订版](https://modelcontextprotocol.io/specification/2025-03-26/changelog) (2026-11-03 查阅)
- [MCP 规范更新日志：2025-11-25 修订版](https://modelcontextprotocol.io/specification/2025-11-25/changelog) (2026-11-03 查阅)
- [MCP 规范更新日志：2026-07-28 修订版](https://modelcontextprotocol.io/specification/2026-07-28/changelog) (2026-11-03 查阅)
- [MCP 规范：版本管理](https://modelcontextprotocol.io/specification/versioning) (2026-11-03 查阅)
- [Anthropic：捐赠 Model Context Protocol，并成立 Agentic AI Foundation](https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation) (2026-11-03 查阅)

[浏览 MCP 服务器](https://mindket.com/cn/mcp-servers)
