Skip to content

[Schema][Server][SEP-1686] Tasks #139

Closed as not planned
Closed as not planned

Description

@chr-hertel

Issue to track and address implementation of SEP-1686:

This SEP improves support for task-based workflows in the Model Context Protocol (MCP). It introduces both the task primitive and the associated task ID, which can be used to query the state and results of a task, up to a server-defined duration after the task has completed. This primitive is designed to augment other requests (such as tool calls) to enable call-now, fetch-later execution patterns across all requests for servers that support this primitive.

Spec Changes: https://github.com/modelcontextprotocol/modelcontextprotocol/pull/1732/files
Reference Implementation: modelcontextprotocol/typescript-sdk#1041

Activity

  1. added
    ServerIssues & PRs related to the Server component
    SchemaIssues & PRs related to the Schema component
    on Nov 7, 2025
  2. moved this from Backlog to No status in 2025-11-25 Implementationon Nov 7, 2025
  3. LucaButBoring commented on Nov 21, 2025

    @LucaButBoring

    Relaying here from #general-sdk-dev:

    There doesn't seem to be a central ticket for all SDK implementations of a particular change, so sharing this here for SEP-1686 -- the following revisions have been merged on top of the base specification PR for tasks:

    • Clarify request lifetimes in task diagrams: PR
    • Fix capability phrasing in spec: PR
    • Remove an incorrectly-added field from notifications/cancelled: PR
    • Adjust schema to better-communicate where tasks are valid: PR
    • Rename/move annotations.taskHint to execution.taskSupport, tweak its enum values, and change a SHOULD to a MUST for the behavior when this is declared:
    • GetTask polling clarification: PR
    • SSE stream management clarification: PR

    The actual functional changes should be limited to taskHint, but the rest should help clarify some details around polling.

    To save the trouble of going through each of the above PRs one by one, you can also go to the file on the "Files changed" tab here, searching for docs/specification/draft/basic/utilities/tasks.mdx, and then using the "Display the rich diff" button, as shown:
    Image

  4. LucaButBoring commented on Nov 24, 2025

    @LucaButBoring

    One very last change (we're doing a hard cutoff on additional changes here): adding a lastUpdatedAt to the Task object: modelcontextprotocol/modelcontextprotocol#1875

  5. added this to the 1.0 milestone on Dec 28, 2025
  6. added
    help wantedContributions especially welcome if you have a good knowledge of the codebase and language
    improves spec complianceImproves consistency with other SDKs such as TyepScript
    on Jan 23, 2026
  7. chr-hertel commented on May 26, 2026

    @chr-hertel
    MemberAuthor

    Closing in favor of the new SEP-2663 Tasks Extension work, which supersedes SEP-1686.

    SEP-2663 (spec PR #2663) reframes Tasks as a stateless extension under the new SEP-2133 extensions framework. The SEP-1686 design from the 2025-11-25 spec is removed entirely. Since the PHP SDK never shipped the SEP-1686 design, there is nothing to deprecate.

    The replacement work is tracked under umbrella #335 (with this milestone's sub-issues). See:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    SchemaIssues & PRs related to the Schema componentServerIssues & PRs related to the Server componenthelp wantedContributions especially welcome if you have a good knowledge of the codebase and languageimproves spec complianceImproves consistency with other SDKs such as TyepScript

    Type

    No type

    Projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions