Skip to content

Add TaskStore and InMemoryTaskStore for task state management #694

Closed as not planned
Closed as not planned

Description

@devcrocod

Add abstractions for task state persistence:

  • TaskStore interface — CRUD for task state and results
  • TaskMessageQueue interface — FIFO message queue per task
  • InMemoryTaskStore — reference implementation with TTL-based cleanup, session isolation, pagination

Activity

  1. added
    enhancementNew feature or request
    apiPublic API changes
    ready for workHas enough information to start
    P2Moderate issues, valuable feature requests
    on Apr 13, 2026
  2. thierrypdamiba commented on May 20, 2026

    @thierrypdamiba

    Hi @devcrocod, mind if I take this on?

    I went through the ts implementation at packages/core/src/experimental/tasks/ and the python implementation at src/mcp/shared/experimental/tasks/.

    The plan is to follow the spec: TaskStore + TaskMessageQueue as separate interfaces, InMemoryTaskStore with lazy TTL eviction, sessionId: String required (aligning with #732 and how EventStore already passes streamId), pagination, and marked as experimental.

    One question: python ships a separate polling.py helper forpoll_until_terminal; ts leaves polling to consumers. I'm leaning toward leaving it out for now and letting people layer that on if they need it, but happy to include if you'd rather have it in from the start. Let me know which way you'd prefer.

  3. devcrocod commented on May 26, 2026

    @devcrocod
    ContributorAuthor

    Hi @thierrypdamiba
    Glad to hear you'll take this issue

    One question: python ships a separate polling.py helper forpoll_until_terminal; ts leaves polling to consumers. I'm leaning toward leaving it out for now and letting people layer that on if they need it, but happy to include if you'd rather have it in from the start. Let me know which way you'd prefer.

    I agree with you, let's keep this out of scope for now

  4. devcrocod commented on Jun 19, 2026

    @devcrocod
    ContributorAuthor

    superseded by SEP-2663

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

    P2Moderate issues, valuable feature requestsapiPublic API changesenhancementNew feature or requestready for workHas enough information to start

    Projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions