跳到主要内容
SecondHome

Dive into MCP——概览

约 6 分钟原创Agentic#mcp#agents

MCP 有过度设计的嫌疑,过多的概念和特性对新手不友好,优先使用它的 Tools 特性即可。

然而,MCP 在智能体的实际应用场景和交互体验上做了大量优化,这正是其能迅速流行原因。

目前为止,模型能力还是问题的关键,任何框架都只是锦上添花。无疑 Claude 对 MCP 的适配最好,Qwen3 也加强了对 MCP 的支持。


MCP 为智能体工具供应商提供了一套工具说明书的定义规范和工具的使用规范,并支持多语言。智能体通过协议找到说明书,按说明书的要求给出补充信息,并通过协议操作对应工具。

核心总结

  1. MCP 作为推动 Agentic 应用落地的创新方案,已获得市场快速认可。
  2. 该架构与微服务设计理念高度契合,我把它定义为一种面向智能体的编程范式。
  3. 在 MCP 的各项能力中,OpenAI 提出的 tools use 功能仍占据核心地位,并在此基础上扩展了工具发现等实用特性(需注意与 MCP 服务发现的区别)。其他功能目前可暂缓深入关注。
  4. MCP 为多语言提供标准化开发框架,其中 TypeScript 和 Python 的支持最为完善。
  5. 大模型需针对该编程模式进行适配优化,这也解释了 Cursor 对 Claude 系列模型的兼容性优势。

MCP 架构解析

MCP 架构

该示意图常见于 MCP 概念普及资料,直观呈现了典型应用场景:智能体应用(如 Claude desktop、Cursor 等)作为 MCP 客户端,通过协议调用服务端能力。

当前估值超百亿美元的 Cursor,以及曾短暂亮相的 Manus 都采用了类似架构。

需要特别指出的是,MCP 协议并未严格限定客户端与服务端的角色定义。MCP host 既可以是智能体,也可能是普通应用或其他 MCP 服务端。Anthropic 在 MCP Roadmap 中对 Agents 的规划已体现这一设计理念。

在现有模型能力条件下,将 MCP hosts 设计为智能体、服务端作为高可靠性工具程序,能有效提升系统整体稳定性。

类微服务架构

从企业级系统视角看,MCP 架构可视为更高抽象层次的微服务架构。虽然当前工程细节尚不及微服务架构成熟。

关于服务发现机制的质疑需要澄清:该功能对智能体的价值远超传统微服务。在微服务架构中,服务发现主要解决服务治理问题,而业务逻辑仍需开发人员编码实现。但在 MCP 体系里,服务注册与发现能直接扩展智能体能力边界,这种差异正是智能体与传统系统的本质区别 — 从面向程序员编程转向面相大模型编程。

编程范式

MCP 架构本质上是面向智能体(大模型)编程的规范范式。

这种模式其实并不陌生:如同高级语言服务于程序员,MCP 这类基于文本的协议也更适合大模型。选择 JSON-RPC 2.0 作为传输协议是综合考量结果(文本协议更适配大模型处理特性,且调试便利性优于二进制协议)。

MCP 框架能力解析

服务端核心能力

Tools

Tool use 仍是大模型能力扩展的核心方案。MCP 在 OpenAI Built-in tools 和 Function call 基础上进行抽象整合,新增 SSE 模式实现 HTTP 直连。

标准化 Tool 定义规范如下:

{
  name: string;          // 工具唯一标识
  description?: string;  // 可读描述
  inputSchema: {         // 参数JSON Schema
    type: "object",
    properties: { ... }  // 工具特定参数
  },
  annotations?: {        // 行为提示
    title?: string;      // 可读标题
    readOnlyHint?: boolean;    // 环境只读标识
    destructiveHint?: boolean; // 破坏性操作标识
    idempotentHint?: boolean;  // 幂等性标识
    openWorldHint?: boolean;   // 外部交互标识
  }
}

除基础调用外,MCP 还完善了工具发现、错误处理等实用功能。

Resources
定义为静态资源支持,但实际应用场景尚不明确。

Prompts
提供提示词与流程管理,官网建议与客户端交互设计结合,实际落地效果有待验证。

能力使用建议

官网推荐的三类能力使用方式:

  • Tools — 模型控制(面向大模型)
  • Resources — 应用控制(面向智能体应用)
  • Prompts — 用户控制(面向终端用户)

不同能力使用方式未匹配到实际业务场景,这里就不强行解释了。

客户端能力

提供 Sampling(LLM 能力调用)和 Roots(工作范围限定)功能,在当前智能体工具定位下,这些功能存在设计冗余。

官网记录的实际应用情况显示,Tools 功能被广泛采用,而其他特性(特别是客户端功能)使用率较低。

多语言支持

MCP 为主流语言提供 SDK 支持,显著降低开发门槛:

支持的编程语言列表

目前 TypeScript SDK(1.10.2 版)领先,Python(1.6.0 版)次之,其他语言尚未发布稳定版本。

模型适配要求

主流模型虽已具备 JSON 处理能力,但针对 MCP 模式的专项优化能显著提升效果。这也是 Cursor 中 Claude 表现更优的原因之一。最新发布的 Qwen3.0 明确加强了对 MCP 的支持。

相关阅读

持续耕种,欢迎订阅 🌱

RSS全站 ·原创 ·策展 ·雷达;公众号「炼金术」同步更新。