💡
原文英文,约900词,阅读约需3分钟。
📝
内容提要
本文介绍了如何在模型上下文协议(MCP)中集成用户输入技术,包括创建虚拟环境、安装依赖、设置API密钥、构建MCP服务器、定义数据结构和工具,以及处理用户输入。客户端通过注册的处理程序与服务器交互以获取航班状态。
🎯
关键要点
- 介绍了在模型上下文协议(MCP)中集成用户输入技术的实用方法。
- 第一步是创建虚拟环境并安装所需的依赖。
- 设置AEROAPI_KEY和GEMINI_API_KEY环境变量。
- 构建MCP服务器并定义数据结构以处理用户输入。
- 使用@dataclass定义FlightInfo类以确保用户输入的强类型和验证。
- 通过定义工具条目来实现与客户端的交互。
- 使用ctx.elicit方法请求用户输入并处理响应。
- 根据用户的操作结果处理不同的情况,如拒绝、取消或接受输入。
- 在客户端定义elicitation_handler函数以处理服务器的请求。
- 将处理程序注册到客户端,以便在服务器触发请求时自动响应。
- 在交互循环中使用处理程序来处理服务器的工具调用。
- 启动MCP客户端并查看工具的原始响应或分析结果。
❓
延伸问答
如何创建虚拟环境并安装依赖?
使用命令 'python -m venv .venv' 创建虚拟环境,然后通过 'pip install --upgrade -r requirements.txt' 安装依赖。
如何设置API密钥?
需要设置环境变量 AEROAPI_KEY 和 GEMINI_API_KEY,以便于访问 FlightAware 和 Gemini API。
如何在MCP中处理用户输入?
通过定义 FlightInfo 类和使用 ctx.elicit 方法,可以请求用户输入并处理响应。
如何定义和注册处理程序?
定义一个异步函数作为处理程序,并在客户端实例化时将其注册,以便处理服务器的请求。
如何处理用户的不同输入操作?
通过条件判断用户的操作结果,如拒绝、取消或接受输入,来决定后续的处理逻辑。
如何启动MCP客户端?
在终端中启动MCP客户端,并确保它能够与MCP服务器进行交互。
➡️