前面几节,我们一直在和 Agent 的 loop 打交道:它读文件、跑命令、看结果,再决定下一步。
不过你很快会发现一个问题:Agent 能碰到的东西,基本就是你电脑上的文件和终端。
想让它查一下业务数据库里上周的订单?它得先想办法写个脚本连数据库,还要你告诉它连接串、表结构。想让它读一份 Notion 文档、看看 GitHub 上的 issue、查一下 Sentry 的报错?它要么做不到,要么只能绕很大一圈。
这一节要讲的 MCP,就是来解决这个问题的。接上 MCP 以后,loop 本身不变,但 Agent 多了几只能伸出去的手。
一、MCP 是什么

1. 一句话定义
MCP(Model Context Protocol,模型上下文协议)是一套标准协议,规定 AI 应用怎么发现和调用外部工具。
MCP 像是 AI 世界里的 USB 接口:
- 没有统一接口的时候,每个 AI 应用接每个服务都得单独写适配代码,N 个应用配 M 个服务,就是 N×M 份活。
- 有了 MCP,服务方只要按协议实现一个 MCP Server,所有支持 MCP 的客户端(Claude Code、Cursor、Claude Desktop、Windsurf……)都能直接用。
2. 它在 Agent 里的位置
在 Agent loop 中 思考 → 调用工具 → 观察结果 → 再思考 → ……
MCP 改的只有「调用工具」这一步:可用的工具变多了。
┌─────────────────────────────┐
│ Agent(Claude Code) │
│ 思考 → 调工具 → 看结果 │
└──────────────┬──────────────┘
│ 可用工具列表
┌────────────────────┼─────────────────────┐
│ │ │
内置工具 MCP Server A MCP Server B
Read / Edit / Bash (SQLite 数据库) (文档服务)
read_query search_docs
list_tables get_page
describe_table ...
整个过程大致是这样: