/** * Factory for creating MCP servers * Creates McpServer instances with tool handlers configured */ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import { type ToolServices } from './tools/index.js'; /** * Configuration for creating an MCP server */ export interface McpServerConfig { serverName: string; serverVersion: string; } /** * Result of creating an MCP server */ export interface McpServerResult { server: McpServer; toolCount: number; } /** * Creates an MCP server with all NeuBird tools registered. * * This uses McpServer (the high-level API) but registers tools using * the underlying Server's setRequestHandler since: * 1. We have JSON schemas, not Zod schemas * 2. We need to inject services dynamically at call time * * The deprecation notice says "Only use Server for advanced use cases" - * our dependency injection pattern qualifies as an advanced use case. * * @param config Server configuration (name, version) * @param getServices Function that returns ToolServices for the current request * @returns McpServer instance with all tools registered */ export declare function createMcpServer(config: McpServerConfig, getServices: () => ToolServices): McpServerResult;