php-sdk/src/Server/Handler/Request
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Christopher Hertel 60711951d4
[Schema][Server] Add the extensions framework SEP-2133 defines (#443)
* [Schema][Server] Add the extensions framework SEP-2133 defines

enableExtension() took any string and advertised it, with no way for an
extension to add a method: MessageFactory could not decode one, so nothing
downstream ever saw it.

Identifiers are now checked against the _meta key naming rules through
ExtensionIdentifier - a prefix is mandatory, since an unprefixed name has no
owner, and the modelcontextprotocol/mcp second labels the specification
reserves are recognised. An extension implementing
MethodProvidingExtensionInterface contributes both its message classes and
the handlers serving them.

MessageFactory::make() takes an $additional list of message classes, and
RequestHandlerInterface's result template is covariant so a handler
declaring a concrete result satisfies a collection typed by the interface.

* Fix stale @see reference in MethodProvidingExtensionInterface docblock

* [Schema][Server][Client] Make ExtensionIdentifier a value object

ExtensionInterface::getId() now returns ExtensionIdentifier, which
validates the SEP-2133 naming rules at construction instead of the
callers checking it. getMessages()/getRequestHandlers() move into
ExtensionInterface itself; AbstractExtension gives them empty
defaults for extensions that only announce a capability.
2026-08-18 20:47:27 +02:00
..
CallToolHandler.php [Schema][Server] Close the 2025-11-25 schema gaps and add the 2026-07-28 surface (#421) 2026-08-17 23:09:39 +02:00
CompletionCompleteHandler.php [Server] Fix completion/complete crash for plain ref/resource (#388) 2026-07-06 00:09:45 +02:00
GetPromptHandler.php Add PSR-3 compliant exception context when logging exceptions (#300) 2026-05-12 23:20:42 +02:00
InitializeHandler.php [Client][Schema][Server] Implement protocol version negotiation (#403) 2026-08-15 01:41:19 +02:00
ListPromptsHandler.php Rework registry to combine provider and registry interface, move capabilities out and enable Registry injection in Builder (#150) 2025-11-20 19:36:57 +01:00
ListResourcesHandler.php Rework registry to combine provider and registry interface, move capabilities out and enable Registry injection in Builder (#150) 2025-11-20 19:36:57 +01:00
ListResourceTemplatesHandler.php Rework registry to combine provider and registry interface, move capabilities out and enable Registry injection in Builder (#150) 2025-11-20 19:36:57 +01:00
ListToolsHandler.php Rework registry to combine provider and registry interface, move capabilities out and enable Registry injection in Builder (#150) 2025-11-20 19:36:57 +01:00
PingHandler.php [Server] Add Bidirectional Client Communication Support (#109) 2025-10-26 22:48:17 +01:00
ReadResourceHandler.php Add PSR-3 compliant exception context when logging exceptions (#300) 2026-05-12 23:20:42 +02:00
RequestHandlerInterface.php [Schema][Server] Add the extensions framework SEP-2133 defines (#443) 2026-08-18 20:47:27 +02:00
ResourceSubscribeHandler.php Add PSR-3 compliant exception context when logging exceptions (#300) 2026-05-12 23:20:42 +02:00
ResourceUnsubscribeHandler.php Add PSR-3 compliant exception context when logging exceptions (#300) 2026-05-12 23:20:42 +02:00
SetLogLevelHandler.php [Schema][Client][Server] Deprecate Roots, Sampling and Logging (SEP-2577) (#427) 2026-08-18 01:23:32 +02:00