ExperimentalExperimentalExperimentalCleanup all timers (useful for testing or graceful shutdown)
ExperimentalCreates a new task with the given creation parameters and original request. The implementation must generate a unique taskId and createdAt timestamp.
TTL Management:
taskParams.ttlTask objectnull TTL indicates unlimited task lifetime (no automatic cleanup)The task creation parameters from the request (ttl, pollInterval)
The JSON-RPC request ID
The original request that triggered task creation
OptionalsessionId: stringOptional session ID for binding the task to a specific session
The created Task object
ExperimentalGet all tasks (useful for debugging)
ISO 8601 timestamp when the task was created.
ISO 8601 timestamp when the task was last updated.
OptionalpollInterval?: numberOptionalstatusMessage?: stringOptional diagnostic message for failed tasks or other status information.
Time in milliseconds to keep task results available after completion.
If null, the task has unlimited lifetime until manually cleaned up.
ExperimentalGets the current status of a task.
The task identifier
OptionalsessionId: stringOptional session ID for binding the query to a specific session
The Task object, or null if it does not exist
ExperimentalRetrieves the stored result of a task.
The task identifier
OptionalsessionId: stringOptional session ID for binding the query to a specific session
The stored result
ExperimentalLists tasks, optionally starting from a pagination cursor.
Optionalcursor: stringOptional cursor for pagination
OptionalsessionId: stringOptional session ID for binding the query to a specific session
An object containing the tasks array and an optional nextCursor
ExperimentalStores the result of a task and sets its final status.
The task identifier
The final status: 'completed' for success, 'failed' for errors
The result to store
Optional_meta?: {See MCP specification
for notes on _meta usage.
Optionalio.modelcontextprotocol/related-task?: { taskId: string }If specified, this request is related to the provided task.
OptionalprogressToken?: string | numberIf specified, the caller is requesting out-of-band progress notifications for this request (as represented by notifications/progress). The value of this parameter is an opaque token that will be attached to any subsequent notifications. The receiver is not obligated to provide these notifications.
OptionalsessionId: stringOptional session ID for binding the operation to a specific session
ExperimentalUpdates a task's status (e.g., to 'cancelled', 'failed', 'completed').
The task identifier
The new status
OptionalstatusMessage: stringOptional diagnostic message for failed tasks or other status information
OptionalsessionId: stringOptional session ID for binding the operation to a specific session
In-memory
TaskStoreimplementation for development and testing. For production, use a database or distributed cache.