模型上下文协议解析:AI 工具集成的开放标准

理解模型上下文协议(MCP)

模型上下文协议(MCP)是一个开放标准,旨在创建一个统一框架,用于将 AI 应用程序连接到其运行所需的外部工具、数据和提示。它定义了通信结构——包括方法、能力协商、传输和认证——允许 AI 模型向服务器请求操作,而无需直接与该服务器通信。

核心架构与组件

MCP 通过三个主要组件运行:

  • 主机 AI 应用: 用户与之交互的应用程序(例如,Claude、Cursor、ChatGPT)。该应用充当中间人,管理用户、AI 模型和外部服务之间的通信流。
  • AI 模型: 决定何时以及如何使用外部工具的大型语言模型(LLM)。该模型仅与 AI 应用交互,而非服务器。
  • 服务器: 一个小型专用程序,暴露特定的工具、数据或提示。服务器响应 AI 应用发出的调用。

虽然 MCP 使用 JSON-RPC 作为其通信信封,但它的独特之处在于标准化了内容和协商过程,允许服务器传达超出简单请求/响应交互的能力。

MCP 消息流

MCP 利用结构化的多步通信流,使 AI 模型能够执行需要外部数据或操作的任务。此过程包括初始发现阶段和详细的执行序列。

步骤 1:工具发现(能力协商)

在执行任何任务之前,AI 应用程序必须了解有哪些可用工具。AI 应用通过向 MCP 服务器查询其能力清单来启动该过程。

  • 操作: AI 应用向 MCP 服务器发送 tools/list 请求。
  • 响应: MCP 服务器返回可用工具列表(例如,create_issue)。
  • 上下文更新: AI 应用随后将这些工具定义添加到 AI 模型可用的上下文中。

步骤 2:工具执行循环

当用户提供消息且 AI 模型确定需要工具时,会发生以下序列:

  1. 模型请求: AI 模型决定使用特定工具,并向 AI 应用发送 tool_use 请求。
  2. 服务器调用: AI 应用向 MCP 服务器发送 tools/call 请求,包括工具名称和参数。
  3. 服务器响应: MCP 服务器执行工具并向 AI 应用返回 result。
  4. 模型反馈: AI 应用使用 tool_result 消息将此结果中继回 AI 模型。
  5. 最终输出: AI 模型使用此结果生成最终的人类可读响应,返回给用户。

技术批评与社区反馈

围绕 MCP 的社区讨论突出了关于其实施和必要性的几个关键技术辩论和哲学辩论。

设计与复杂性

几位技术贡献者指出,MCP 的初始呈现可能过于密集,建议更清晰的文档、图表甚至可运行的代码示例将显著提高非专家用户的可访问性。

Sources

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch