modelcontextprotocol / modelcontextprotocol/php-sdk
[Server] SEP-2663 Tasks: TasksExtension, capability gate, tasks/* handlers
Nessuno ha ancora preso questa issue.
- Lingua principale
- PHP
- Stelle
- 1.6k
- Fork
- 173
- Merge medio
- 2g 49m
- PR unite (30g)
- 23
Descrizione
Server-side handler portion of SEP-2663 for the 2026-07-28 release. Tracked by umbrella #335; sits on the SEP-2133 extensions framework (#344).
Scope
Mcp\Server\Task\TasksExtensionimplementsMethodProvidingExtensionInterfaceandArgumentProvidingExtensionInterface(new, generic: an extension registers its message classes, handlers and injectable handler arguments throughBuilder::enableExtension(); the core never names the extension). Enable withnew TasksExtension($store, $inputHandler)and thetasks/get/tasks/update/tasks/cancelsurface appears; no separatesetTaskStore()builder knob.- Handlers under
Mcp\Server\Task\Handler\:TasksGetHandler,TasksUpdateHandler,TasksCancelHandler. - Capability gate:
TaskCapabilityGuardreads whatinitializeleft in the session and refuses thetasks/*methods with-32021(missing required client capability) for a client that did not declare the extension. - Handlers get a
TaskContextby declaring the parameter:isSupported()so a handler that can work either way asks first,create()stores the task before returning theCreateTaskResult(so the firsttasks/getcannot arrive before the task exists) and refuses an undeclared client with-32021,getStore().
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il SEP-2133 extensions framework in #344 e il percorso Builder::enableExtension(), quindi esamina TasksExtension e gli handler sotto Mcp\Server\Task\Handler. Segui TaskCapabilityGuard e TaskContext per verificare i controlli del client dichiarato, l’ordine di creazione dei task e l’accesso allo store. Il lavoro è completato quando la superficie tasks/* è registrata tramite TasksExtension e la capacità client mancante restituisce -32021 come specificato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- php
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100