读:理解 MCP 架构——LLM 直接调 API 与 MCP 协议的对比
内容提要
本文讨论了两种架构选择:直接调用LLM API和使用MCP协议。直接调用适合单一应用,简单直接;而MCP协议适合多个客户端共享工具,提供更好的复用性和标准化。MCP通过协议将工具独立出来,增强了灵活性和可组合性。选择依据在于工具的使用场景。
关键要点
-
假设要做一个能读 PDF 的聊天机器人,面临架构选择。
-
直接调用 LLM API 适合单一应用,简单直接,工具定义硬编码在应用里。
-
MCP 协议适合多个客户端共享工具,工具通过协议独立出来,增强灵活性和可组合性。
-
直接调用 LLM API 的特点是工具和应用紧耦合,执行工具的逻辑在同一进程中。
-
MCP 协议通过 JSON-RPC 通信,客户端运行时发现工具,服务端负责实现逻辑。
-
MCP 提供了工具的复用性,任何支持 MCP 的 LLM 应用都能直接使用工具。
-
选择依据在于工具的使用场景:单一应用选择直接调用 API,多个消费者选择 MCP。
延伸解读
架构选择的实用性
在选择架构时,需考虑应用的使用场景。直接调用 LLM API 适合单一应用,简化了开发流程,但限制了工具的复用性。而 MCP 协议则适合多个客户端共享工具,提供了更高的灵活性和可组合性,适合构建复杂的 AI 生态系统。
MCP 的优势与局限
MCP 协议通过将工具独立出来,增强了工具的复用性和标准化,适合需要跨多个客户端的场景。然而,MCP 的实现相对复杂,可能需要额外的开发和维护成本,适合对工具管理有更高要求的项目。
工具发现与配置管理
MCP 协议的一个重要优势是工具的动态发现,客户端可以在运行时获取可用工具,避免了硬编码的麻烦。这种灵活性使得新工具的添加变得简单,适合快速迭代的开发环境。
延伸问答
直接调用LLM API和MCP协议有什么主要区别?
直接调用LLM API适合单一应用,工具定义硬编码在应用里;而MCP协议适合多个客户端共享工具,工具通过协议独立出来,增强灵活性和可组合性。
在什么情况下应该选择MCP协议?
当多个客户端需要共用同一套工具,或者希望构建一个可复用的工具服务时,应该选择MCP协议。
MCP协议如何增强工具的复用性?
MCP协议通过将工具独立出来,任何支持MCP的LLM应用都能直接使用这些工具,从而实现复用。
直接调用LLM API的优缺点是什么?
优点是实现简单,适合单一应用;缺点是工具和应用紧耦合,无法复用。
MCP协议的通信方式是什么?
MCP协议通过JSON-RPC进行通信,客户端可以运行时发现工具并调用。
如何实现一个支持MCP的服务?
需要创建一个独立的MCP服务,使用MCP SDK定义工具,并通过JSON-RPC与客户端进行通信。