import type { IncomingMessage, ServerResponse } from 'http'; import type { EntitySchema, OrmRequest, OrmResponse } from '@mostajs/orm'; import type { ITransport, TransportConfig, TransportInfo, TransportMiddleware, TransportContext } from '../core/types.js'; type OrmHandler = (req: OrmRequest, ctx: TransportContext) => Promise; interface ProjectInfo { name: string; schemas: EntitySchema[]; } export declare class McpTransport implements ITransport { readonly name = "mcp"; private config; private schemas; private middlewares; private ormHandler; private stats; private projectsProvider; setHandler(handler: OrmHandler): void; use(mw: TransportMiddleware): void; registerEntity(schema: EntitySchema): void; /** Set a function that returns the list of projects (called at request time) */ setProjectsProvider(fn: () => ProjectInfo[]): void; start(config: TransportConfig): Promise; stop(): Promise; getInfo(): TransportInfo; getPath(): string; /** * Handle an incoming MCP HTTP request. * Called by the main Fastify server via route handler. */ /** * Handle an incoming MCP HTTP request. * Creates a new McpServer + Transport per session for stateless mode. */ handleRequest(req: IncomingMessage, res: ServerResponse, body?: unknown): Promise; private registerEntityToolsOn; private registerEntityResourcesOn; private registerPrompts; private callOrm; /** Get server info (name, version, capabilities) */ getServerInfo(): { name: string; version: string; capabilities: string[]; }; /** List all registered tools with their schemas */ listTools(): { name: string; description: string; inputSchema: Record; }[]; /** List all registered prompts */ listPrompts(): { name: string; description: string; args?: string[]; }[]; /** Execute a tool call via the ORM handler (REST proxy for browser) */ executeTool(toolName: string, params: Record): Promise; } /** Factory */ export declare function createTransport(): ITransport; export {};