专栏名称: 高可用架构
高可用架构公众号。
目录
相关文章推荐
51好读  ›  专栏  ›  高可用架构

MCP协议详解:一文读懂跨时代的模型上下文协议

高可用架构  · 公众号  · 架构  · 2025-04-10 09:12

正文

请到「今天看啥」查看全文


1.4 工具


MCP 中的工具允许服务器公开可由客户端调用并由 LLM 用来执行操作的可执行函数。工具的关键方面包括:

  1. 发现 tools/list:客户端可以通过端点列出可用的工具

  2. 调用:使用端点调用工具 tools/call,服务器执行请求的操作并返回结果

  3. 灵活性:工具范围从简单的计算到复杂的 API 交互


与资源一样,工具也由唯一名称标识,并可以包含说明来指导其使用。但是,与资源不同的是,工具表示可以修改状态或与外部系统交互的动态操作。


{  name: string;          // Unique identifier for the tool  description?: string;  // Human-readable description  inputSchema: {         // JSON Schema for the tool's parameters    type"object",    properties: { ... }  // Tool-specific parameters  }}


1.5 采样


采样是 MCP 的一项强大功能,允许服务器通过客户端请求 LLM 完成,从而实现复杂的代理行为,同时保持安全性和隐私性。这种人机交互设计确保用户可以控制 LLM 所看到和生成的内容。采样流程遵循以下步骤:

  1. sampling/createMessage 服务器向客户端发送请求。

  2. 客户审核请求并可以修改。

  3. 来自 LLM 的客户样本。

  4. 客户检查完成情况。

  5. 客户端将结果返回给服务器。


{  messages: [    {      role"user" | "assistant",      content: {        type"text" | "image",
        // For text:        text?: string,
        // For images:        data?: string,             // base64 encoded        mimeType?: string      }    }  ],  modelPreferences?: {    hints?: [{      name?: string                // Suggested model name/family    }],    costPriority?: number,         // 0-1, importance of minimizing cost    speedPriority?: number,        // 0-1, importance of low latency    intelligencePriority?: number  // 0-1, importance of capabilities  },  systemPrompt?: string,  includeContext?: "none" | "thisServer" | "allServers",  temperature?: number,  maxTokensnumber,  stopSequences?: string[],  metadata?: Record<stringunknown>}




02



目标及优势


由于 LLM 难以直接访问 实时数据源 (如企业内部数据库、实时文档、在线服务等),开发者通常需要为每个应用场景定制专用的适配器或插件,这既耗时费力,又缺乏可扩展性。

  • 标准化: MCP 希望通过定义一个标准化的协议,使开发者在无需重复开发的情况下快速连接模型与数据源,提升模型的通用性和落地效率,降低了模型与多样化数据源之间的连接复杂度。

  • 灵活性: MCP 通过帮助 LLM 直接与数据和工具集成,保证 LLM 切换的灵活性。

  • 开放性:







请到「今天看啥」查看全文