modelcontextprotocol / modelcontextprotocol/php-sdk
[Schema] SEP-2663 Tasks: Task shape, resultType discriminator, tasks/* request/result types
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 1.6k
- Forks
- 173
- Avg merge
- 2d 49m
- Merged PRs (30d)
- 23
Description
Schema portion of SEP-2663 (Tasks extension, io.modelcontextprotocol/tasks) for the 2026-07-28 release. Tracked by umbrella #335; sits on the SEP-2133 extensions framework (#344).
Scope
Mcp\Schema\Task:taskId,status,createdAt,lastUpdatedAt,ttlMs,pollIntervalMs,statusMessage,result,error,inputRequests. Flat on the wire in both places it appears (no nestedtaskkey). Enforces the status semantics: a tool that ran and reported a problem iscompletedwithisError;failedis reserved for protocol-level errors and carries the error inlined.Mcp\Schema\Enum\TaskStatus:working,input_required,completed,failed,cancelled(what the merged spec and conformance suite use — notpending/running).Mcp\Schema\Enum\ResultType::Task("task") alongsideCompleteandInputRequired.CreateTaskResult— a result in its own right (resultType: "task"+ the task envelope), returned by any task-augmentable handler instead of a discriminator bolted ontoCallToolResult.TaskResultfortasks/get;tasks/updateandtasks/cancelanswerEmptyResult.TasksGetRequest,TasksUpdateRequest(taskId,inputResponses),TasksCancelRequest.inputRequestsreuse the multi round-trip (SEP-2322) encoding: a map of server-assigned keys to bare method/params pairs.
Notes
SEP-2663 supersedes SEP-1686 (#139, closed).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the existing schema and enum patterns for TaskStatus, ResultType, CallToolResult, and EmptyResult, then review the extensions framework in #344 and the umbrella scope in #335. Implement the listed task envelope, result, request, and enum types, preserving the flat wire shape and inputRequests encoding; done means all named types and status semantics match the merged spec and conformance expectations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100