Tasks have been removed from the MCP specification and will return as a
separate extension in a future release. This removes all task-related
code, types, examples, tests, and documentation from the SDK.
Removed:
- All Task* types, capability fields, Tool.execution, and union members
from mcp.types
- mcp.{client,server,shared}.experimental packages
- mcp.server.lowlevel.experimental and mcp.shared.response_router
- experimental properties on ClientSession, ServerSession, Server, and
the experimental field on ServerRequestContext
- ServerSession._build_*_request helpers, send_message, and the tasks
capability check (task-only consumers)
- BaseSession.add_response_router and the router-dispatch loop in
_handle_response (the method extraction itself is kept)
- tests/experimental/ and the tasks:* entries in
tests/interaction/_requirements.py
- examples/{clients,servers}/simple-task* and their uv.lock workspace
members
- docs/experimental/ and the mkdocs nav section
Kept:
- CancelledNotificationParams.request_id stays optional to match the
draft schema; only the docstring was updated
- server/validation.py (non-task sampling-validation refactor)
- _handle_response extraction in BaseSession
Added a test for ServerSession.check_client_capability since the
experimental task tests were its only coverage.
Tasks (SEP-1686) have been removed from the MCP specification (modelcontextprotocol/modelcontextprotocol#2663) and will return as a separate extension. This removes all task-related code, types, examples, tests, and documentation from the SDK.
Motivation and Context
The original Tasks SEP that landed in the 2025-11-25 spec has been pulled from the draft schema and is moving to an extension. Keeping the experimental implementation around would mean maintaining ~13k lines against a moving target that no longer matches the spec, so this strips it entirely. When the extension lands it can be re-added against the new shape.
How Has This Been Tested?
Breaking Changes
Yes (v2 only — main is already a breaking-change branch). Documented in docs/migration.md:
Types of changes
Checklist
Additional context
A few non-obvious decisions:
AI Disclaimer