外观
API 与 MCP 的区别
API versus MCP
API(Application Programming Interface,应用程序编程接口)和 MCP 都用于软件系统之间的通信,但二者的目的不同,适用场景也不一样。API 是软件与软件之间通信的通用接口,而 MCP 则专门为 AI 智能体(Agent)与外部工具和数据交互而设计。主要区别如下:
- MCP 致力于标准化 AI Agent 与工具交互的方式,而 API 的具体实现则可能千差万别。
- MCP 的设计目标是管理动态、不断演化的上下文,包括数据资源、可执行的工具,以及用于工作流的 prompt。
- 对于那些需要在无需预先编程的情况下,适应新能力和新工具的 AI Agent 来说,MCP 尤其合适。
在传统的 API 架构下:
- 如果你的 API 最初需要两个参数(比如一个天气服务需要 location 和 date),用户就会按照这两个参数,把请求集成进自己的应用。
- 后来,如果你决定新增第三个必填参数(比如表示摄氏度/华氏度的 unit),API 的契约就发生了变化。
- 这意味着你的 API 的所有用户,都必须更新自己的代码来加入这个新参数。如果不更新,他们的请求就可能失败、返回错误,或者得到不完整的结果。



MCP 的设计是这样解决这个问题的:
- 举例来说,当一个 Client(比如 Claude Desktop 这样的 AI 应用)连接到一个 MCP Server(比如你的天气服务)时,它会先发送一个初始请求,来了解该 Server 具备哪些能力。
- Server 会返回其可用 Tools、Resources、Prompts 以及参数的详细信息。比如,如果你的天气 API 最初支持 location 和 date,Server 就会把这些作为自己能力的一部分告知对方。
- 如果你之后新增了一个 unit 参数,MCP Server 可以在下一次交互中动态更新自己的能力描述。Client 无需把参数写死或预先定义,因为它只需查询 Server 当前的能力,并据此自行适配。
- 这样一来,Client 就能实时调整自己的行为——比如在请求中加入 unit 参数——而无需重写或重新部署代码。在本课程的第 3 部分,我们会构建一个


自定义 Client,届时你会更深入地理解这一点,看看它究竟是如何与 Server 通信的。