[AIAgent-MCP]MCP Client 全景:Elicitation、Roots 与 Sampling 一次讲透

本文预览:

  • MCP Client 到底是什么
  • Elicitation/ Roots/ Sampling 三大核心分别做什么

是什么

由AI应用程序 Host中创建管理,与 MCP Server 连接的协议级组件,一个 HostAI应用程序可以包含多个 MCP Client。

核心能力与作用

MCPCliet除了可以从MCPServer获取上下文信息外,还可以向服务器提供多种功能。

MCPCliet的这些功能使MCPServer开发者能够构建更丰富的交互体验。

Elicitation

简单说就是按需向用户补充信息

该能力的作用为:让 MCPServer在流程中向用户**寻求信息补充, **从而创建更动态、响应更迅速的工作流程。

当MCPServer 执行 Client 请求的工作流程时, 如果发现 Client 提供的信息不足以MCPServer完成当前工作流程,MCPServer会发起一个 结构化 的请求,让用户手动去填写必要的信息以来完成任务流程,防止 MCPServer在信息不充足的情况下导致任务失败。

这样Client与Server有了更灵活的交互方式,Server能够适应用户需求,而不是遵循僵化的模式。

交互路径如下**: **

最佳实践

**原则: **设计清晰、符合语境,尊重用户自主权:

  • 请求呈现 : 向用户展示本次请求的**具体目的和 数据结构**; Client以清晰的上下文信息展示请求,包括请求的Server端信息、本次信息用途、信息使用方式。
  • 用户响应选择 : 用户可以选择同意或者拒绝补充提供信息 ; 用户可以通过清晰可以的界面控件(文本框、下拉菜单、复选框)同意提供所需信息,并且Client 会根据请求的具体结构进行信息验证保障数据信息的准确性;也可以选择不提供信息并附上解释、或者取消整个操作。
  • 隐私保护 : 请求过程中不建议包含**密码、 密钥**等隐私数据请求,同时Client会对此类请求给出警告,让用户谨慎选择。

Roots

定义服务器操作的文件系统边界, 告诉用户(Client)可以关注的资源文件范围,但是在服务器端具体的文件权限还是需要服务器本身的操作系统通过文件权限或沙箱机制来实施。

Roots是客户端 向服务器 传达文件系统访问边界 的一种机制。由文件 URI 组成,指示服务器可以操作的目录 ,帮助服务器了解可用文件和文件夹的范围 。虽然Roots指定了操作范围,但它们并不强制执行安全限制。实际的安全措施必须在操作系统层面通过文件权限或沙箱机制来实施。

Roots** 结构:**

复制代码
{
  "uri": "file:///Users/agent/travel-planning",
  "name": "Travel Planning Workspace"
}

使用方式

默认情况下Roots由应用程序根据用户操作自动管理,但也提供手动管理选项

  • 自动检测: 用户打开对应的资源文件时,客户端会向服务器自动发送相关资源Roots请求,帮助服务端了解哪些资源属于当前用户使用的场景
  • **手动配置: **通过配置指定根目录, 告诉服务器可以的资源范围。如 /travel-templates

Sampling

Server ** 借助 Client 完成 LLM 调用**

本质是:Server 自己不直接接大模型,而是请求 Client 代为完成模型推理。

这样,模型访问权、权限策略、速率限制、敏感信息 处理等,仍由 **Client **一侧掌控。

Sampling 请求可以包含消息内容、模型偏好、system prompt、token 上限等。

复制代码
{
  messages: [
    {
      role: "user",
      content: "分析这些航班选项,并推荐最佳选择:\n" +
"[47 条航班信息,包括价格、时间、航空公司和中途停留情况]\n" +
"用户偏好:早上出发,最多 1 次中途停留"
    }
  ],
  modelPreferences: {
    hints: [{
      name: "claude-sonnet-4-20250514"  // Suggested model
    }],
    costPriority: 0.3,      // Less concerned about API cost
    speedPriority: 0.2,     // Can wait for thorough analysis
    intelligencePriority: 0.9  // Need complex trade-off evaluation
  },
  systemPrompt: "您是一位旅行专家,致力于根据用户的偏好为他们推荐最优质的航班。",
  maxTokens: 1500
}

它通常带有 人机交互 (human-in-the-loop)的设计:用户可以审批、拒绝、修改请求,也可以在响应返回 Server 前先查看结果。

大致交互流程

以上即为对MCP Client 的核心原理的初步了解,下一步进行更深入实战~~~

我是小C,每天学一点 Agent 也拆一点 Agent;尽量把原理弄懂,框架每天都在迭代,不只看用法,更看实现思路。框架会变,原理不变。后续继续分享Agent相关知识笔记~

#MCP #AIAgent #大模型应用 #AI工程化 #技术学习笔记

相关推荐
J-JunLiang8 小时前
提示词修炼手册-04-让AI先想后说
人工智能·提示词工程·agent prompt·agent提问·提示词修炼手册
終不似少年遊*8 小时前
【Skill】为中型研发团队制作的敏捷迭代AI副驾Skill
人工智能·python·华为云·agent·ai编程·skill
爱吃火鸡面呀8 小时前
BERT 从入门到实战:为什么需要它、核心原理与工程落地全解析
人工智能·自然语言处理·bert
电子科技圈8 小时前
2026 RISC-V中国峰会观察:编译调试工具链的“在场节奏”,释放了什么信号?
大数据·人工智能·设计模式·软件工程·软件构建·代码规范·risc-v
紧跟先前的步伐8 小时前
Go AI Agent 实战 22|完善 Agent 执行循环:从工具调用到最终回答
人工智能·ai·golang
IT智慧客07318 小时前
前端 AI 面试题:从基础原理到工程实践的完整题库
人工智能
紧固件情报站8 小时前
紧固件报价逻辑重构:成本、合规与智能博弈
大数据·人工智能·重构
FastCAE20229 小时前
FastCAE AI应用助手重构(一)架构与桥接详解
人工智能·重构·架构
七牛云行业应用9 小时前
爆火OpenFilm 0.2.6:开源 AI 视频 Agent 的安装、编辑与渲染流程(2026 年 10 月 )
人工智能·开源·音视频
咕泡科技9 小时前
AI前沿速递:Gemini双连发+混元双档落地!智元发布首个机器人工时KPI,具身智能分出工厂与客厅两条赛道
人工智能·机器人·腾讯混元·智元机器人·gemini4carbon·巴布机器人