什么是 MCP 采样(MCP Sampling)?

MCP 采样(MCP Sampling)是 Model Context Protocol 的一项能力,允许 MCP Server 在用户和客户端控制下,通过 MCP Host 或 Client 请求语言模型生成。

快速了解

规范文档官方规范

工作原理

MCP 采样反转了常见的模型调用方向。通常是 Host 调用 Server 工具,而 Sampling 允许 Server 请求 Host 为特定目的执行一次模型补全。当 Server 需要 LLM 辅助,但不应持有模型凭据或直接调用模型供应商时,这很有用。Sampling 必须谨慎处理,因为它会放大信任问题:Host 应审查请求、应用策略、保留用户同意,并避免让 Server 静默地把模型引向用户意图之外。

主要特点

  • Server 发起请求:允许 MCP Server 请求 Host 侧执行模型生成
  • 凭据隔离:避免把模型供应商密钥直接分发给每个 MCP Server
  • 策略控制:应继续受 Host、Client 和用户审批规则约束
  • 上下文敏感:Sampling 请求可能包含消息、系统意图和约束
  • 安全敏感:不可信 Server 不应被允许静默操纵模型行为

常见用途

  1. MCP Server 请求 Host 模型在返回前摘要检索记录
  2. 工具集成请求模型帮助把数据转换成用户可读解释
  3. 把模型凭据集中保留在 Host,而不是分散到各个 Server
  4. 在 Server 发起生成前应用用户可见策略检查
  5. 构建需要 LLM 推理但不拥有 LLM 运行时的高级 Server 工作流

示例

loading...
Loading code...

常见问题

为什么需要 MCP Sampling?

它允许 Server 请求模型辅助,而不直接持有模型凭据或绕过 Host 策略。Host 仍然是模型访问控制点。

Sampling 和工具调用是一回事吗?

不是。工具调用是请求 Server 执行操作。Sampling 是请求 Host 侧代表 Server 请求执行语言模型生成。

Host 在允许 Sampling 前应检查什么?

Host 应检查 Server 信任级别、用户意图、请求内容、数据敏感性、模型策略、token 预算,以及该请求是否应对用户可见或需要批准。

Sampling 会带来安全风险吗?

会。恶意或被入侵的 Server 可能试图影响模型行为、通过提示词泄露数据或生成误导性指令。Host 应实施严格策略和日志。

相关工具

相关术语

相关文章