2026 年 10 月 26 日——Anthropic 在 Claude Code 中引入 MCP Tasks 任务机制与 Elicitations 交互能力:MCP 服务器接到长耗时请求时可先返回任务 ID 再继续执行,Claude 无需持续等待,任务完成后结果自动回传;任务执行中途还能通过 Elicitation 对话框向用户提问。官方文档显示,MCP Tasks 目前处于公开测试(public beta)阶段,需要 Claude Code CLI v2.1.304 或更高版本(2026 年 10 月 19 日发布)。
MCP Tasks:先返回任务 ID,长任务转入后台
Tasks 是 Model Context Protocol 的官方扩展,扩展标识为 io.modelcontextprotocol/tasks,源自 2026 年 4 月 29 日提交、5 月 15 日合入的 SEP-2663 提案。规范与文档托管在 modelcontextprotocol/ext-tasks 仓库(Apache 2.0 许可),最新版本 v0.2.2 于 2026 年 9 月 30 日发布,配套 2026-07-28 稳定版 schema。
按官方规范,当服务器判断某个请求属于长耗时操作(如报告导出、构建、批处理)时,不再阻塞连接等待完成,而是返回一个任务句柄(CreateTaskResult),其中包含 taskId、初始状态、有效期 ttlMs 与建议轮询间隔 pollIntervalMs。客户端随后用 tasks/get 轮询状态、用 tasks/update 提交中途输入、用 tasks/cancel 发起取消(协作式,服务器确认但不保证停止)。
Claude Code 侧的具体行为是:主会话中的 MCP 工具调用运行超过 2 分钟即自动转入后台任务,Claude 立即拿到任务 ID 继续手头工作,结果在任务结束时以通知形式回传;界面底部显示"N MCP task"计数,/tasks 面板可查看进度、按 x 停止任务。2 分钟阈值可通过环境变量 CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS 调整(设为 0 则关闭自动转后台)。
任务状态共五种,其中三种为终态:
| 状态 | 含义 |
|---|---|
| working | 任务执行中 |
| input_required | 服务器需要客户端输入才能继续 |
| completed | 任务完成,result 字段携带最终结果 |
| failed | 执行出错,error 字段携带 JSON-RPC 错误 |
| cancelled | 任务已取消 |
任务 ID 是持久句柄:客户端断线、崩溃或重启后,可凭同一 ID 继续轮询取回结果;远程服务器上的任务在退出 Claude Code 后仍会继续运行,重新恢复启动它的会话(claude --resume 或 --continue)即可再次跟踪,若任务在离线期间已完成则直接拿到结果。
Elicitations:任务中途向用户提问
Elicitation 是 MCP 的客户端特性,允许服务器主动向用户请求补充信息。Claude Code 对它的支持分三步落地:
- v2.1.76(2026 年 3 月 14 日):新增 MCP elicitation 支持,服务器可在任务执行中通过交互对话框(表单字段或浏览器 URL)请求结构化输入,并配套
Elicitation与ElicitationResult两个 Hook 供拦截、改写应答; - v2.1.281(2026 年 9 月 23 日):在 2026-07-28 协议连接上新增 URL 模式 elicitation,服务器可让 Claude Code 打开基于浏览器的交互流程;
- v2.1.310(2026 年 10 月 23 日):优化非交互会话中的超时提示,当 MCP 工具调用因服务器的 elicitation 未被应答而超时,报错信息现在会明确告知 Claude"没有收到答案、不要重复调用"。
Elicitations 已与 Tasks 打通:任务进入 input_required 状态时,轮询响应会携带 inputRequests,Claude Code 弹出对话框向用户收集输入;拒绝或按 Esc 同样视为一种应答,由服务器决定任务是否继续。非交互会话中没有人在终端旁应答,Claude Code 会请求服务器取消这类任务,且不触发 Elicitation Hook。
可用条件与版本时间线
按官方文档,一次 MCP 工具调用要成为 MCP 任务,需同时满足:服务器支持 tasks 扩展并以 HTTP、stdio 或 claude.ai connector 方式接入 2026-07-28 协议;会话可拉取 feature flags(Amazon Bedrock 等第三方供应商、关闭遥测的会话不可用);调用来自主会话而非子代理;Anthropic 已对该会话类型放开支持。非交互会话(claude -p)还需设置 CLAUDE_AUTO_BACKGROUND_TASKS=1 等环境变量。
| 版本 / 发布 | 日期 | 内容 |
|---|---|---|
| v2.1.76 | 2026-03-14 | 新增 MCP elicitation 支持(表单或 URL 对话框)与配套 Hook |
| SEP-2663 合入 | 2026-05-15 | Tasks 扩展提案正式进入 MCP 规范流程 |
| v2.1.281 | 2026-09-23 | 新增 URL 模式 elicitation(2026-07-28 协议) |
| ext-tasks v0.2.2 | 2026-09-30 | Tasks 扩展规范最新发布版 |
| v2.1.304 | 2026-10-19 | MCP Tasks 公开测试的最低版本,覆盖终端 CLI、Agent SDK、GitHub Actions |
| v2.1.310 | 2026-10-23 | 当前最新版,优化 elicitation 未应答的超时报错 |
口径说明:MCP Tasks 属于协议扩展,需客户端与服务器双方声明支持才生效;VS Code 扩展与桌面应用暂不支持 MCP 任务。本文数据核验自 MCP 官方规范站点(modelcontextprotocol.io)与 Claude Code 官方文档(code.claude.com),检索日期 2026 年 10 月 26 日。
举手提问