MCP 实战
MCP 不只是「调工具」
大多数人理解 MCP 就是「让 AI 调外部工具」。但 MCP 协议是双向的:Alice 不仅能调别人的工具,也能让 Cursor 等外部客户端来调用 Alice 的能力。
双向流程图
日历
邮件
数据库
网页
→
←
Alice 调工具
A
Alice
既是 Client 也是 Server
←
→
外部调 Alice
Cursor
Claude Desktop
⚙️自动化脚本
两个角色,一个协议
作为 Client(消费者)
Alice 连接外部 MCP 服务,调用别人提供的工具能力:
- 日历 MCP — 查看和创建日程
- 邮件 MCP — 读写邮件
- 数据库 MCP — 查询数据
- 浏览器 MCP — 访问网页
关键:Alice 主动发起请求,获取外部能力。
作为 Server(提供者)
Alice 把自己的能力通过 MCP 协议暴露出去,被外部调用:
- Cursor — 在编程时调用 Alice 搜索笔记
- Claude Desktop — 让 Claude 发消息给 Alice
- 自动化脚本 — 定时触发 Alice 执行任务
关键:Alice 被动接收请求,提供自身能力。
为什么双向很重要?
单向集成只是工具调用,跟 API 没有本质区别。双向集成意味着 AI 不仅能用工具,还能成为工具。当多个 AI Agent 都能互相调用时,一个 AI 生态就自然形成了。
单向集成只是工具调用,跟 API 没有本质区别。双向集成意味着 AI 不仅能用工具,还能成为工具。当多个 AI Agent 都能互相调用时,一个 AI 生态就自然形成了。
MCP 不只是让 AI 调工具,它让 AI 也能被别的 AI 调用,这才是生态的力量。同一个协议、双向集成,是从工具到平台的关键跨越。
MCP 实战
懒连接:不用别连
你注册了 10 个 MCP 服务,启动时全部连接一遍?如果其中 3 个挂了,启动就卡住了。懒连接的思路很简单:注册 ≠ 连接,用到的时候再连。
启动方式对比
启动时全连
10 个服务全部同时连接,3 个超时 → 卡住 30 秒
懒连接
启动秒开,只声明能力。用到某个服务才连接
懒连接的三个原则
注册 ≠ 连接
启动时只注册「我有哪些工具可用」,不实际建立网络连接。系统能立即启动。
⚡
首次使用时连接
当 AI 第一次真正需要某个工具时,才建立连接。大多数工具可能一整天都用不到。
故障隔离
某个服务挂了,只影响那一个工具。其他工具照常使用,系统整体不受影响。
真实场景中的差异:Alice 注册了日历、邮件、WPS笔记、浏览器、数据库等 10+ 个 MCP 服务。如果启动时全连,任何一个服务不可用都会拖慢启动。懒连接后,启动从 30 秒降到 0.2 秒,用户感受到的是秒开。
注册 ≠ 连接:先声明能力,用到再连,连不上只影响一个工具,整个系统不受牵连。这不只是技术优化,更是产品稳定性的基本设计原则。
MCP 实战
AI 自己加工具
用户说「帮我查日历」,但你还没配日历工具。传统做法:报错说「不支持」。更好的做法:Agent 自己去配,问你一声就行。
对话模拟:AI 发现缺工具后自己配置
A
Alice · AI Assistant
MCP 自配置演示
自配置的关键设计
能力发现
Agent 需要知道「有哪些工具可以加」。可以是一个工具注册中心,也可以是预定义的候选列表。关键是 Agent 能根据用户需求匹配到对应工具。
用户授权
AI 不能偷偷连接新服务。必须告知用户「我想连接 XX 服务」,等用户明确同意后才执行。这是信任的底线。
⚡ 即时生效
配置完成后,新工具立即可用,不需要重启。用户的当前对话可以无缝继续。这就是热加载的价值。
安全边界
哪些工具允许自配置?哪些必须管理员手动配?对于涉及敏感数据的工具(如数据库),应该有更严格的审批流程。
从用户配工具到 AI 配工具的转变:
传统方式需要用户自己去设置页面找到 MCP 配置项、填写连接参数、测试连通性…大多数用户根本不会做这些。让 AI 代劳这个过程,用户只需要说一句「好的」,门槛从会配置降到了会说话。
传统方式需要用户自己去设置页面找到 MCP 配置项、填写连接参数、测试连通性…大多数用户根本不会做这些。让 AI 代劳这个过程,用户只需要说一句「好的」,门槛从会配置降到了会说话。
最好的工具管理是 AI 自己管理自己的工具箱,但要用户点头才行。自配置不等于让 AI 随意安装插件。它是把复杂的配置过程自动化,同时保留用户的决定权。