读:理解 MCP 架构——LLM 直接调 API 与 MCP 协议的对比

💡 原文中文,约5000字,阅读约需12分钟。
📝

内容提要

本文讨论了两种架构选择:直接调用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与客户端进行通信。

🏷️

标签

➡️

继续阅读