Repository navigation
[Major-5] Migrate tasks to official extension #5683
Copy link
Copy link
Labels
2.0CF1.5 with the bolt on external data plane + Redis as a communication channelCF1.5 with the bolt on external data plane + Redis as a communication channelCF-EXTERNAL-DATAPLANEExternal dataplane which can extend ContextForge functionality.External dataplane which can extend ContextForge functionality.mcp-2026-07-28Issues related to compliance with MCP 2026-07-28Issues related to compliance with MCP 2026-07-28rustRust programmingRust programming
Description
Activity
- addedCF-EXTERNAL-DATAPLANEExternal dataplane which can extend ContextForge functionality.External dataplane which can extend ContextForge functionality.mcp-2026-07-28Issues related to compliance with MCP 2026-07-28Issues related to compliance with MCP 2026-07-28
on Jul 17, 2026 - added sub-issues
on Aug 11, 2026 - addedblockedBlocked by some other predecessor issue or PR. See notes.Blocked by some other predecessor issue or PR. See notes.and removedblockedBlocked by some other predecessor issue or PR. See notes.Blocked by some other predecessor issue or PR. See notes.
on Aug 11, 2026 - addedtriageIssues / Features awaiting triageIssues / Features awaiting triage2.0CF1.5 with the bolt on external data plane + Redis as a communication channelCF1.5 with the bolt on external data plane + Redis as a communication channeland removedtriageIssues / Features awaiting triageIssues / Features awaiting triage
on Aug 19, 2026 - removed a parent issue
on Sep 7, 2026 - added a parent issue
on Sep 7, 2026
Metadata
Metadata
Assignees
Labels
2.0CF1.5 with the bolt on external data plane + Redis as a communication channelCF1.5 with the bolt on external data plane + Redis as a communication channelCF-EXTERNAL-DATAPLANEExternal dataplane which can extend ContextForge functionality.External dataplane which can extend ContextForge functionality.mcp-2026-07-28Issues related to compliance with MCP 2026-07-28Issues related to compliance with MCP 2026-07-28rustRust programmingRust programming
Part of #5677.
Blocked by
server/discover, and per-request client metadata.resultType.Protocol sources
The dated core schema is authoritative for core error codes: Missing Required Client Capability is
-32021. Do not use the stale-32003value currently shown in the Tasks extension draft.Required behavior
io.modelcontextprotocol/tasksextension, not a core capability._meta.io.modelcontextprotocol/clientCapabilities.extensionson every relevant request; the server advertises it throughserver/discover.CreateTaskResultto a request that omitted the extension capability. If task support is required, return-32021.tools/callcurrently supports task-augmented execution.CreateTaskResultusesresultType: "task"; lifecycle acknowledgements andtasks/getuseresultType: "complete".tasks/getbefore itsCreateTaskResultis returned.pollIntervalMs; the gateway performs no polling loop.tasks/get,tasks/update, andtasks/cancel.tasks/listandtasks/resultdo not exist.Mcp-MethodandMcp-Name: <taskId>.Gateway work
tools/callresult union.tasks/get,tasks/update, andtasks/cancelrequest to exactly one backend; restore the upstream task ID at that boundary.Mcp-Namefrom the exposed handle downstream to the upstream task ID upstream.-32602for invalid or nonexistent task IDs and-32021for missing per-request Tasks capability.tasks/list,tasks/result, MCP sessions, and legacy SSE out of the modern dataplane path.Implementation split
tools/call.tasks/get,tasks/update, andtasks/cancelproxying.Acceptance criteria
io.modelcontextprotocol/tasksinserver/discover.resultType: "task"; missing capability returns-32021.tools/callpreserves either its standard result, MRTR result, orCreateTaskResult.tasks/get,tasks/update, andtasks/cancelroute through opaque stable handles without session affinity.resultType, and routing headers are preserved at both boundaries.tasks/listandtasks/resultreturn method-not-found on the modern path.Out of scope
2025-11-25Tasks compatibility, legacyinitialize, sessions, or SSE.tasks/resultadapter.notifications/tasksdelivery unless separately scoped.