This repository contains the official Model Context Protocol Tasks extension (io.modelcontextprotocol/tasks), based on SEP-2663.
Some MCP requests finish quickly. Others run for minutes, wait for human input, or need to survive a disconnected client. The Tasks extension lets a receiver return a durable task handle so the requester can follow progress and retrieve the result later.
Use Tasks for long computations, approval workflows, external job systems, and call-now/fetch-later APIs.
Extension Identifier: io.modelcontextprotocol/tasks
The @modelcontextprotocol/ext-tasks package provides generation-agnostic requester lifecycle APIs and 2025-11-25 Tasks receiver support. Start with the TypeScript package guide or call your first task-enabled tool.
| Version | Status | TypeScript | JSON Schema |
|---|---|---|---|
2026-07-28 |
Stable | schema.ts |
schema.json |
draft |
Development | schema.ts |
schema.json |
Released schema directories are immutable snapshots with version-specific JSON Schema identifiers. Development and schema generation target schema/draft/ only. To create a release snapshot from the current draft:
npm run snapshot:schema -- YYYY-MM-DDThe redistributable package lives in packages/ext-tasks and publishes as @modelcontextprotocol/ext-tasks.
# Run schema, package, and packed-consumer checks
npm run check
# Run the package tests in watch mode
npm run test:watch
# Create the publishable tarball
npm run pack:packageThe package intentionally has no root export. Consumers import /client, /receiver, /core, /core/v1, or /core/v2; the guide explains which entry point owns each workflow.
The draft JSON Schema is auto-generated from the TypeScript type definitions using ts-to-zod and Zod's toJSONSchema(). Do not hand-edit schema.json or generated/schema.ts.
# Generate draft Zod schemas and JSON Schema from schema.ts
npm run generate:schemas
# Verify TypeScript compiles and draft generated files are up to date
npm run check:schema
This repository follows the Model Context Protocol Governance process. See MAINTAINERS.md for the list of maintainers specific to this repository.
This repository follows the Model Context Protocol project policies:
This project is licensed under the Apache License 2.0. See LICENSE for details.