MCP 简介
MCP 是什么?
MCP(Model Context Protocol) 是一套开放标准,用来把 AI 应用 接到 外部系统。官方定义很直接:它让 Claude、ChatGPT 这类应用连接数据源(本地文件、数据库)、工具(搜索、计算器、业务 API)和工作流(专用提示模板),从而读取关键信息并代用户执行任务。
把它想成 AI 应用的 USB-C 接口。USB-C 统一了充电与数据插头;MCP 统一了「模型如何发现并调用外部能力」的插头。你写一次 Server,就可以被多个 Host 接入。
MCP 只规定上下文如何交换,不规定 Host 如何调用 LLM、如何做 Agent 循环、如何存会话。那些属于 Cursor、Claude Code、LangChain 等产品自己的职责。
为什么需要 MCP?
在 MCP 之前,每个 AI 产品都有自己的「插件 / Function Calling / 工具」格式:
MCP 把「能力目录」和「调用约定」标准化。开发者减少重复集成;AI 应用获得一整片 Server 生态;终端用户得到能真正碰数据、做动作的助手。
官方举例包括:Agent 访问日历与 Notion;Claude Code 对照 Figma 生成页面;企业聊天机器人跨库查询;模型在 Blender 里建模再送到 3D 打印机。共同点是:模型留在 Host 里,能力住在 Server 里。
官方项目范围
MCP 开源生态大致包含四块(见 Architecture overview):
此外还有社区与厂商维护的 Server、市场目录。本教程以规范 + Python SDK + Inspector 为主线。
谁适合学?
适合:
- 想给 Cursor / Claude Code / Codex 接内部 Wiki、工单、只读数据库的工程师
- 要发布「一次编写、多 Host 复用」工具的独立开发者
- 需要审查工具权限、Token 范围、供应链风险的安全与平台同学
- 已经会 Function Calling,但希望能力不再绑死在某一个产品上的人
可以稍后再学:
- 只做单次 Prompt、不需要外部系统
- 还没写过 Python 函数与虚拟环境(建议先看本站 Python 教程)
如果你的目标是「在某一个 Agent 里点几下装好 GitHub」,先读对应客户端章节即可;当你要 自己暴露能力 或 在多个 Host 之间复用,再回到本课。
MCP 不是什么?
- 不是 又一个聊天应用,也 不是 LangChain 那种 Agent 框架
- 不是 远程代码执行协议;Server 只暴露你声明的 Tools / Resources / Prompts
- 不是 把模型塞进 Server。规范甚至把 Sampling(让 Server 反向要 Host 去补全)标为弃用(协议版本
2026-07-28)。新实现应直接对接模型供应商 API,而不是依赖 Sampling
协议层从「带握手的有状态会话」走向 无状态请求/响应:每个请求自带版本与能力元数据,需要时用 server/discover 查询对方。这对负载均衡与水平扩展很重要,日常写工具时 SDK 会帮你处理。
学完能做什么?
- 用官方 Python SDK 写出带 Tool / Resource / Prompt 的 Server
- 用 Inspector 验证,而不是在聊天里盲猜
- 把同一进程接到 Cursor 与 Claude Code
- 评估第三方 Server:只装可信来源、最小权限 Token、审批危险工具