1717use Mcp \Capability \Provider \DynamicToolProviderInterface ;
1818use Mcp \Capability \Registry ;
1919use Mcp \Capability \Registry \Container ;
20- use Mcp \Capability \Registry \ElementReference ;
2120use Mcp \Capability \Registry \Loader \ArrayLoader ;
2221use Mcp \Capability \Registry \Loader \DiscoveryLoader ;
2322use Mcp \Capability \Registry \Loader \LoaderInterface ;
4443use Psr \SimpleCache \CacheInterface ;
4544
4645/**
47- * @phpstan-import-type Handler from ElementReference
48- *
4946 * @author Kyrian Obikwelu <koshnawaza@gmail.com>
5047 */
5148final class Builder
@@ -86,7 +83,7 @@ final class Builder
8683
8784 /**
8885 * @var array{
89- * handler: Handler ,
86+ * handler: callable|array{0: class-string|object, 1: string}|string ,
9087 * name: ?string,
9188 * description: ?string,
9289 * annotations: ?ToolAnnotations,
@@ -98,7 +95,7 @@ final class Builder
9895
9996 /**
10097 * @var array{
101- * handler: Handler ,
98+ * handler: \Closure|array{0: class-string|object, 1: string}|string ,
10299 * uri: string,
103100 * name: ?string,
104101 * description: ?string,
@@ -113,7 +110,7 @@ final class Builder
113110
114111 /**
115112 * @var array{
116- * handler: Handler ,
113+ * handler: \Closure|array{0: class-string|object, 1: string}|string ,
117114 * uriTemplate: string,
118115 * name: ?string,
119116 * description: ?string,
@@ -126,7 +123,7 @@ final class Builder
126123
127124 /**
128125 * @var array{
129- * handler: Handler ,
126+ * handler: \Closure|array{0: class-string|object, 1: string}|string ,
130127 * name: ?string,
131128 * description: ?string,
132129 * icons: ?Icon[],
@@ -350,10 +347,10 @@ public function setProtocolVersion(ProtocolVersion $protocolVersion): self
350347 /**
351348 * Manually registers a tool handler.
352349 *
353- * @param Handler $handler
354- * @param array<string, mixed>|null $inputSchema
355- * @param ?Icon[] $icons
356- * @param array<string, mixed>|null $meta
350+ * @param callable|array{0: class-string|object, 1: string}|string $handler
351+ * @param array<string, mixed>|null $inputSchema
352+ * @param ?Icon[] $icons
353+ * @param array<string, mixed>|null $meta
357354 */
358355 public function addTool (
359356 callable |array |string $ handler ,
@@ -380,9 +377,9 @@ public function addTool(
380377 /**
381378 * Manually registers a resource handler.
382379 *
383- * @param Handler $handler
384- * @param ?Icon[] $icons
385- * @param array<string, mixed>|null $meta
380+ * @param \Closure|array{0: class-string|object, 1: string}|string $handler
381+ * @param ?Icon[] $icons
382+ * @param array<string, mixed>|null $meta
386383 */
387384 public function addResource (
388385 \Closure |array |string $ handler ,
@@ -413,8 +410,8 @@ public function addResource(
413410 /**
414411 * Manually registers a resource template handler.
415412 *
416- * @param Handler $handler
417- * @param array<string, mixed>|null $meta
413+ * @param \Closure|array{0: class-string|object, 1: string}|string $handler
414+ * @param array<string, mixed>|null $meta
418415 */
419416 public function addResourceTemplate (
420417 \Closure |array |string $ handler ,
@@ -441,9 +438,9 @@ public function addResourceTemplate(
441438 /**
442439 * Manually registers a prompt handler.
443440 *
444- * @param Handler $handler
445- * @param ?Icon[] $icons
446- * @param array<string, mixed>|null $meta
441+ * @param \Closure|array{0: class-string|object, 1: string}|string $handler
442+ * @param ?Icon[] $icons
443+ * @param array<string, mixed>|null $meta
447444 */
448445 public function addPrompt (
449446 \Closure |array |string $ handler ,
0 commit comments