Skip to content

MCP Tasks Extension

This repository contains the official Model Context Protocol Tasks extension (io.modelcontextprotocol/tasks), based on SEP-2663.

Overview

This extension defines the Tasks primitive for the Model Context Protocol (MCP). Tasks are durable state machines that carry information about the underlying execution state of a request, enabling requestor polling and deferred result retrieval. Each task is uniquely identifiable by a receiver-generated task ID.

Tasks are useful for:

  • Representing expensive computations and batch processing requests
  • Integrating seamlessly with external job/workflow APIs
  • Enabling call-now, fetch-later execution patterns

Extension Identifier: io.modelcontextprotocol/tasks

Development

Schema Generation

The 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 Zod schemas and JSON Schema from schema.ts
npm run generate:schemas

# Verify TypeScript compiles and generated files are up to date
npm run check:schema

Governance

This repository follows the Model Context Protocol Governance process. See MAINTAINERS.md for the list of maintainers specific to this repository.

Policies

This repository follows the Model Context Protocol project policies:

License

This project is licensed under the Apache License 2.0. See LICENSE for details.

About

This repository provides a reference for the tasks extensions to the MCP protocol, allowing for long-running operations, such as Agent communication, in MCP.

Resources

Code of conduct

Contributing

Security policy

Stars

28 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages