Model Context Protocol(MCP)傻瓜指南,或者说,为什么不直接用 API?
如果你和我一样也想过:MCP 不就很像 API 吗?这篇文章会讲清楚,为什么 MCP 对懒人开发者很有用。受 Gang Rui 在 Lorong AI 主办的 🎙️ Chop Chop Talk Shop(Chomp Edition):Model Context Protocol 分享启发,我把几个重点收获和终端用户如何使用 MCP 整理在这里。
太长不看版
MCP 通过把业务逻辑(Host)和工具执行(Server)解耦,并让 Client 充当两者之间的标准化桥梁,把“要做什么”和“怎么做”分开。Host 负责用户交互和 AI 推理,Server 则把能力暴露成可复用接口。借由标准化,MCP 让智能体式 AI 能够跨系统动态发现、编排、组合各种能力。
问题:开发工作量的组合爆炸
假设我们要给医院里服务医生的 AI 应用加上发送邮件的功能。没有 MCP 的时候,你得写集成逻辑:调用邮件 API、处理响应、接到模型上,再把业务逻辑补上去。现在再想象一下,同一套邮件 API 还要拿来做病人电话预约提醒,以及电商促销通知之类的其他应用。没有 MCP,你就得在多个客户端和用例里反复实现同一套集成逻辑。邮件 API 一旦出现破坏性变更?祝你享受满地重构的快乐。😤
MCP ✨ 是用线性方式解决集成复杂度这个二次问题。它有点像 React 组件之于 UI:模块化、声明式、可组合。
MCP 是什么?
就像 USB-C 让我们不再需要一堆线和接口,MCP 给 AI 应用提供了一种通用方式,让它们和外部工具、数据源沟通。关键组件包括:
- 💻 MCP Hosts:发起请求并处理用户交互的 AI 应用,例如 Claude Desktop。一个 Host 可以通过多个 Client 连接多个 MCP Server。
- 🔌 MCP Clients:内置在 Host 里,负责和 Server 交互。每个 Client 连接一个 MCP Server。
- ⚙️ MCP Servers:向 Client 暴露可调用的工具、提示词或资源。
任何人都可以写自己的 Host、Client 或 Server,也可以直接接入 Smithery.ai 上已有的 4200 多种能力。
它如何运作
用户打开你的 AI 应用 → 发出请求(例如“提醒某某别忘了预约”)→ MCP Client 检查自己有没有合适的工具(比如 send_email),上下文是否足够 → 它通过 MCP Server 调用工具——这个小进程可以在本地运行(通过 stdio),也可以远程运行(通过 HTTP Streamable,甚至自定义方式)→ Server 处理请求并返回结果 → AI 把结果写进回复 → 用户看到最终回答。
想更细看内部机制,可以看这里的架构规范。
为什么要用 MCP?
MCP 强制实现关注点分离,提升可复用性,并大幅简化维护。
神奇之处:AI 医疗应用示例
真实世界里,用户需求会长得很快;我们要支持的平台也一样。
假设你正在构建一个 AI 医疗应用,用 邮件、短信 和 应用内门户消息 发送预约提醒。
用 MCP 的话,可以这样组织:
- 每个平台 1 个 Host(例如网页端、移动端)
- 每个 Host 里有 3 个 Client - 每个渠道一个:邮件、短信、应用内消息
- 每个 Client 都 1:1 连接到一个 MCP Server,由它处理真正的逻辑
下一步想支持 WhatsApp?如果已有现成的就复用;没有就写一个新的 Server,然后所有 Host 立刻都能用,不需要重复劳动。
不只是 API
和 MCP 相比,API 主要有两个限制:
- 函数 vs. 架构 - API 多半只是暴露单个应用里的函数;MCP 给的是一套能跨应用运作的架构。写一次,到处用。
- 固定 vs. 自适应 - API 依赖写死的触发条件;MCP 允许 AI 根据上下文决定该用什么工具,从而跑出更灵活、更智能的工作流。
MCP 把 API 变成适合智能体调用的能力,让智能体可以在需要时自主推理,并对多个 API 进行组合。它的区别不是“调用一个服务”这么简单,而是能在规模化场景里编排智能、灵活的工作流。就像 Web 开发者从静态 HTML 走向可复用组件,MCP 也帮助 AI 工程师从脆弱、写死的集成,走向动态、理解上下文、能够实时响应用户需求的智能体式软件。🚀
不只是 Anthropic
MCP 由 Anthropic 推出,现在在主要 LLM 厂商和社区贡献的支持下增长很快。
- OpenAI 在 Agents SDK 中正式支持 MCP;OpenAI API 和 ChatGPT 桌面应用的支持也即将推出
- Microsoft 为 MCP 开发了官方 C# SDK,并把这个协议集成进 Copilot Studio、VS Code 的 GitHub Copilot agent mode,以及 Semantic Kernel
- GitHub、Slack 和 Cloudflare 等主要平台也加入了官方 MCP 连接
- 官方语言 SDK 已经有不少:Python(Anthropic)、TypeScript(Anthropic)、Java(Spring AI)、C#(Microsoft)、Kotlin(JetBrains)、Swift(Loopwork AI),以及 Rust(Anthropic)
- 使用 OAuth 2.1 的授权已在 3 月 26 日发布
这个生态还很早期,最快试水的方法,就是自己把一个 Host 接到工具上。
局限与潜力
LLM 常见的限制一个不少。我才刚装了几个 Server 试用,Obsidian 那个就已经挂了。MCP 仍处在实验阶段,而且目前主要还是本地运行;但我把它看成某种正在浮现的未来蓝图。它是构建真正模块化、递归式、自我扩展的 AI 原生应用所缺的那一块。
开始使用
我发现,作为用户试用 MCP,最简单的路径大概是这样:
-
先拿一个 Client:下载 Claude Desktop:claude.ai/download,或者使用任何现有 Host。
-
处理依赖:如果你还没有安装 Node.js,先装上。
-
寻找 Server:浏览 smithery.ai,让它帮你完成配置。
接下来你会构建什么?👩🏻💻
有了 MCP,我就可以把自己的博客写作工作流——目前分散在 Claude、Obsidian、ChatGPT 和不同设备之间——整合成一个连贯的体验,不必一直来回切换上下文。
下次你又想再写一个 API 集成时,记住:MCP 让你写一次,到处用,然后把注意力放回真正重要的事情——构建优秀的 AI 应用。所以,接下来你会构建什么?