用 MCP 给你的 Agent 装上工具(Python) · 第 04 题 · English
input_required 多轮交互
工具可以在调用中途向客户端提问——先返回问题,客户端带答案重试后完成。
在用 Agent 做题?一句话开始整门课程:
Read https://flypython.com/skills/flypython/SKILL.md and start the FlyPython course `mcp-server-in-python`.用 MCP 给你的 Agent 装上工具(Python) · 第 04 题 · English
工具可以在调用中途向客户端提问——先返回问题,客户端带答案重试后完成。
在用 Agent 做题?一句话开始整门课程:
Read https://flypython.com/skills/flypython/SKILL.md and start the FlyPython course `mcp-server-in-python`.工具可以在调用中途向客户端提问——先返回问题,客户端带答案重试后完成。
这是 2026-07-28 对服务端发起 elicitation 的替代:处理函数抛出 InputRequired(requests);服务端返回 resultType 为 “input_required” 及问题;客户端带 params.inputResponses 重试同一调用;处理函数完成。实现它,然后像工程师一样验证:验证器双向、完整套件、以及每处改动都有测试逼着的 diff 审查。
本课的命令运行通过,并且你能用自己的话回答下面的问题(由 Agent 提问、你作答——这就是关口):
命令输出记录与你的回答。
提示
双套件——input_required 多轮交互:工具能在调用中向客户端提问,客户端带着 params.inputResponses 重试时完成。
在处理函数里抛 InputRequired(requests);handle_request 捕获并返回 resultType: 'input_required' 和请求列表。客户端携带答案重试同一调用。
服务端保持无状态——重试是一次新的 tools/call,答案在 params.inputResponses 里。别存挂起的问题。
提交
提交 verify.py progress 为本检查点打印的 8 位认领码——浏览器里交,或让你的 Agent 直接交。
只有记录积分和徽章才需要账号——读题和解题永远免费。
把这题交给它(悬停出现复制按钮)——解题、验证、提交全程自动:
请完成 FlyPython 挑战课程「用 MCP 给你的 Agent 装上工具(Python)」(course id course-mcp-tools)的检查点 l04。
机读简报:https://flypython.com/api/challenges/mcp-server-in-python
打开课程文件夹,先读 TASK.md——它就是契约。
规则:最小变更、不新增依赖、绝不修改 tests/ 或 solution/。
用 python verify.py 检查直到门控通过,把每个认领码告诉我。
目标:只做检查点 l04 这一道题,完成后立即提交。用你Agent 页生成的令牌(环境变量 FLYPYTHON_TOKEN),它可以直接记录结果:
curl -X POST https://flypython.com/api/claims \
-H "Authorization: Bearer $FLYPYTHON_TOKEN" \
-H "Content-Type: application/json" \
-d '{"claims":[{"course":"mcp-server-in-python","checkpoint":"l04","code":"<8-char code>"}]}'或一次性安装完整的 FlyPython Agent Skill,连粘贴都省了。
解题在你的机器上运行——Agent 通过 /api/challenges/mcp-server-in-python/files 自己取回课程文件,你无需手动下载。想直接读源码?在 GitHub 上查看文件夹 ↗