34_FastMCP 2.x 中文文档之FastMCP客户端高级功能:处理服务端发起的用户引导详解
一、用户引导
使用结构化模式处理服务器发起的用户输入请求。
新版本:2.10.0 功能
二、什么是引导?
引导允许 MCP 服务器在工具执行期间向用户请求结构化输入。服务器不需要预先获取所有输入,而是可以根据需要交互式地向用户询问信息——例如提示缺失的参数、请求澄清或收集额外上下文。
例如,文件管理工具可能会询问"我应该创建哪个目录?“,或者数据分析工具可能会请求"我应该分析哪个日期范围?”
三、FastMCP 如何简化引导
FastMCP 的客户端提供了一个有用的抽象层,它:
-
将 JSON 模式转换为 Python 类型:原始 MCP 协议使用 JSON 模式,但 FastMCP 自动将这些模式转换为 Python 数据类
-
提供结构化构造函数:您无需手动构建与模式匹配的字典,而是获得确保正确结构的数据类构造函数
-
处理类型转换:FastMCP 负责 JSON 表示和 Python 对象之间的转换
-
运行时内省:您可以检查生成的数据类字段以了解预期结构
当您实现引导处理程序时,FastMCP 会为您提供一个与服务器模式匹配的数据类类型,使得无需手动解析 JSON 模式就能轻松创建正确结构的响应。
四、引导处理程序
在创建客户端时提供一个 elicitati
