MCP协议导读
> **本章阅读时间**:约20分钟(共3篇)
MCP 协议导读:AI 工具调用的行业新标准
本章阅读时间:约20分钟(共3篇)
在理解 MCP 之前,先想象一个现实痛点。
MCP 是什么
官方定义(来自 MCP 官方文档 modelcontextprotocol.io):
MCP is an open protocol that standardizes how applications provide context to LLMs.
MCP 是一个开放协议,用于标准化应用程序向 LLM 提供上下文的方式。
官方文档用一个类比来解释 MCP 的定位:
Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
把 MCP 想象成 AI 应用的 USB-C 接口。就像 USB-C 为设备连接各种外设提供了标准化方式,MCP 为 AI 模型连接不同数据源和工具提供了标准化方式。
MCP 由 Anthropic 于 2024 年 11 月发布,是一个开放标准(非 Anthropic 专有),任何 AI 应用都可以实现和使用。
MCP 的三角色架构
MCP 协议定义了三个核心角色:
| 角色 | 说明 | 举例 |
|---|---|---|
| MCP Host(宿主) | 使用 LLM 的应用程序,发起 MCP 连接 | Claude Desktop、Cursor、自定义 AI 应用 |
| MCP Client(客户端) | 运行在宿主内部,与 MCP Server 保持连接 | Claude Desktop 内置的 MCP 客户端 |
| MCP Server(服务端) | 提供工具、资源、提示模板的服务程序 | GitHub MCP Server、数据库 MCP Server |
MCP Server 可以提供四类能力:
- Tools:可调用的函数(如"查询数据库"、"搜索网络")
- Resources:可读取的数据(如文件内容、数据库记录)
- Prompts:预定义的提示模板
- Sampling:让 Server 请求 LLM 生成内容
没有 MCP 之前的世界
假设你是一位 AI 应用开发者,正在给公司构建一个智能助手,需要接入以下工具:查询内部数据库、读写 GitHub 代码仓库、搜索网络信息、查询天气。
在 MCP 出现之前,每接入一个 AI 应用就是一场重复劳动:
- 同样的查询数据库逻辑,在 LangChain Agent 里要写一遍,在 AutoGen 里要改写一遍,直接调 Claude API 又要再写一遍
- 每个工具都要手写 JSON Schema 定义,每次格式稍有不同
- 工具写好之后只能在当前框架里用,换个地方就废了
- 同事开发了一套好用的工具集,你没法直接复用,只能看着他的代码重新实现
这不是某个框架设计不好,而是整个行业缺少一个统一标准。每家都在造自己的轮子,每个开发者都在做重复劳动。
2024 年 11 月,Anthropic 发布了 MCP(Model Context Protocol,模型上下文协议),正是为了解决这个问题。
MCP 解决了什么
MCP 的核心价值是:为 AI 工具调用建立统一标准,让工具可以跨应用复用。
类比一下 USB 接口的诞生。在 USB 之前,每个外设厂商都有自己的接口——鼠标插口、键盘插口、打印机插口各不相同,买了一台新电脑,所有外设可能都得换。USB 出现之后,一个接口搞定所有外设,任何符合 USB 标准的设备插上就能用。
MCP 想做的,就是 AI 工具调用领域的 USB:定义一套标准协议,任何工具按照这个标准实现一次,就能被所有支持 MCP 的 AI 应用使用。
有了 MCP:
- 工具提供方(比如 GitHub、数据库供应商、SaaS 工具)写一次 MCP Server
- 所有支持 MCP 的 AI 客户端——Claude 桌面版、Cursor 编辑器、自定义 AI 应用——都能直接使用
- 开发者不需要为每个 AI 框架单独写集成代码
MCP 的行业采纳情况(截至 2026 年 3 月)
MCP 发布于 2024 年 11 月,在短短一年多时间里已获得主流 AI 厂商的广泛支持:
- Anthropic(Claude):MCP 的发起者,Claude 桌面版原生支持
- OpenAI:2025 年宣布支持 MCP,这是最重要的里程碑——最大的竞争对手也采用这个标准,意味着 MCP 已成为事实上的行业标准
- Google:在 AI 工具生态上也支持 MCP
- 开发工具:Cursor、Windsurf、Continue、VS Code GitHub Copilot 等主流 AI 编程工具全面支持
- 官方 Server:Anthropic 官方维护的 MCP Server 涵盖文件系统、GitHub、PostgreSQL、Google Drive、Slack、Puppeteer 等常见工具
- 社区生态:数千个社区贡献的 MCP Server,覆盖各种 SaaS 工具和数据库
本章内容
| 文章 | 核心内容 |
|---|---|
| 01.MCP 协议详解 | MCP 的架构设计、三角色(Host/Client/Server)、通信方式、与 Function Calling 的关系 |
| 02.动手写第一个 MCP Server | 用官方 Python SDK 从零实现一个可用的 MCP Server,在 Claude 桌面版中验证 |
| 03.MCP 生态与常用 Server 实践 | 官方和社区常用 Server、配置方法、企业内部系统接入实战 |
推荐阅读顺序:先读第 01 篇理解概念,再读第 02 篇动手实现,最后读第 03 篇了解生态。
和第 9 章工具调用的关系
第 9 章讲的是工具调用的底层机制:LLM 如何决定调哪个工具、消息格式如何传递工具调用和结果。这是基础能力。
MCP 是在这个基础上的标准化协议层:
- Function Calling(第 9 章):告诉模型"你可以调用这些函数",是模型层面的能力
- MCP(第 10 章):定义了工具服务如何被发现、调用和返回结果,是生态层面的标准
理解了 Function Calling,才能真正理解 MCP 的设计动机和价值。
学完本章你能做什么
- 理解 MCP 的三层架构(Host/Client/Server)和工作原理
- 用 Python SDK 写一个 MCP Server,把任何内部工具暴露给 AI
- 在 Claude 桌面版中配置和使用 MCP Server
- 了解常用的 MCP Server,避免重复造轮子
- 判断什么场景用 MCP,什么场景用普通 Function Calling