diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index aea6ce03..2b758bb5 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -570,12 +570,6 @@ parameters: count: 1 path: src/Server/ServerBuilder.php - - - message: '#^Method Mcp\\Server\\ServerBuilder\:\:registerManualElements\(\) is unused\.$#' - identifier: method.unused - count: 1 - path: src/Server/ServerBuilder.php - - message: '#^Method Mcp\\Server\\ServerBuilder\:\:withDiscovery\(\) has parameter \$excludeDirs with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue diff --git a/src/Server/ServerBuilder.php b/src/Server/ServerBuilder.php index 2b257873..189d14b7 100644 --- a/src/Server/ServerBuilder.php +++ b/src/Server/ServerBuilder.php @@ -34,6 +34,7 @@ use Psr\Container\ContainerInterface; use Psr\EventDispatcher\EventDispatcherInterface; use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; use Psr\SimpleCache\CacheInterface; /** @@ -218,6 +219,8 @@ public function build(): Server $container = $this->container ?? new Container(); $registry = new Registry(new ReferenceHandler($container), $this->eventDispatcher, $this->logger); + $this->registerManualElements($registry, $this->logger); + if (null !== $this->discoveryBasePath) { $discovery = new Discoverer($registry, $this->logger); $discovery->discover($this->discoveryBasePath, $this->discoveryScanDirs, $this->discoveryExcludeDirs); @@ -233,7 +236,7 @@ public function build(): Server * Helper to perform the actual registration based on stored data. * Moved into the builder. */ - private function registerManualElements(Registry $registry, LoggerInterface $logger): void + private function registerManualElements(Registry $registry, LoggerInterface $logger = new NullLogger()): void { if (empty($this->manualTools) && empty($this->manualResources) && empty($this->manualResourceTemplates) && empty($this->manualPrompts)) { return;