#!/usr/bin/env php info('Starting MCP Manual Registration (Stdio) Server...'); $server = Server::builder() ->setServerInfo('Manual Reg Server', '1.0.0') ->setLogger(logger()) ->setContainer(container()) ->addTool([SimpleHandlers::class, 'echoText'], 'echo_text') ->addResource([SimpleHandlers::class, 'getAppVersion'], 'app://version', 'application_version', mimeType: 'text/plain') ->addPrompt([SimpleHandlers::class, 'greetingPrompt'], 'personalized_greeting') ->addResourceTemplate([SimpleHandlers::class, 'getItemDetails'], 'item://{itemId}/details', 'get_item_details', mimeType: 'application/json') ->setServerCapabilities(new ServerCapabilities( tools: true, toolsListChanged: false, resources: true, resourcesSubscribe: false, resourcesListChanged: false, prompts: true, promptsListChanged: false, logging: false, completions: false, )) ->build(); $transport = new StdioTransport(logger: logger()); $result = $server->run($transport); logger()->info('Server listener stopped gracefully.', ['result' => $result]); exit($result);