You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
main still carries the 2025-11 experimental tasks machinery (_taskManager, ExperimentalServerTasks, ExperimentalClientTasks, BaseContext.task, RequestOptions.task, processInbound*/processOutbound* interception). This is on its way out.
[SEP-2663] refactor!: remove 2025-11 experimental tasks #2128 — [SEP-2663] refactor!: remove 2025-11 experimental tasks (the v2-stateless stack base). Mechanical deletion (+272/-17461). Ships first so the rest of the stack doesn't have to preserve the old interception.
Activity
mattzcarey commentedon May 29, 2026
Status — SEP-2663 (Tasks Extension)
Track: B — last in the dependency chain: needs #2188 (Extensions framework) and #2187 (MRTR) before this can really land.
Spec: seps/2663-tasks-extension.md · merged spec#2663 2026-05-15
What's done
mainstill carries the 2025-11 experimental tasks machinery (_taskManager,ExperimentalServerTasks,ExperimentalClientTasks,BaseContext.task,RequestOptions.task,processInbound*/processOutbound*interception). This is on its way out.InMemoryTaskStoreetc.)tasksPlugin({store})asDispatchMiddlewareregistered viamcp.use(...); handlestasks/get|list|cancel|result; injectsctx.ext.task;taskContext(ctx)helper. MarksExperimentalServerTasks.getTask/listTasksas@deprecatedthrow-stubs.Open PR
[SEP-2663] refactor!: remove 2025-11 experimental tasks(the v2-stateless stack base). Mechanical deletion (+272/-17461). Ships first so the rest of the stack doesn't have to preserve the old interception.Outstanding (acceptance criteria, summary)
io.modelcontextprotocol/tasks; capability negotiation via Implement SEP-2133: Extensions framework for MCP #2188resultType: "task"onCreateTaskResult; server MUST NOT return it without the capabilitytasks/get,tasks/update,tasks/cancel(poll-based;tasks/resultremoved → -32601;tasks/listremoved)working/input_required/completed/cancelled/failedfield requirementstasks/get(id)resolves immediately afterCreateTaskResultreturnednotifications/cancelledMUST NOT cancel tasks; onlytasks/canceldoes (eventually-consistent, cooperative)isError: true→ statuscompleted(notfailed);failedis for JSON-RPC errorstaskparam onCallToolRequest→ silently ignored (not treated as opt-in)tasks/getwith invalid/unknowntaskId→ -32602subscriptions/listenwithtaskIdsfilter without ext-tasks → -32003 withrequiredCapabilitiesMcp-Name: <taskId>header ontasks/get/update/cancelover HTTP (overlap with SEP-2243 Implement SEP-2243: HTTP Standardization #2190)TaskStoreinputRequestskeys across consecutive pollssubscriptions/listenfor tasksPost-
85ec3771clarifications to fold inRelated spec / open PRs to monitor
Coordination
tasksPluginviamcp.use(...)from feat(core,server,client)!: tasksPlugin() replaces 2025-11 interception; remove Experimental*Tasks classes (SEP-2663) #2066) is also the reference for how every other future extension will look — worth aligning on naming/API before merging.norika1207-lab commentedon Jun 2, 2026
mcp tasks support (#2745)