import { Icon, ServerCapabilities } from '@modelcontextprotocol/sdk/types.js'; import { CanActivate, ModuleMetadata, Type } from '@nestjs/common'; import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; export type { Icon }; export declare enum McpTransportType { SSE = "sse", STREAMABLE_HTTP = "streamable-http", STDIO = "stdio" } export interface McpOptions { name: string; title?: string; version: string; description?: string; websiteUrl?: string; icons?: Icon[]; capabilities?: ServerCapabilities; instructions?: string; transport?: McpTransportType | McpTransportType[]; serverMutator?: (server: McpServer) => McpServer; sseEndpoint?: string; messagesEndpoint?: string; mcpEndpoint?: string; globalApiPrefix?: never; apiPrefix?: string; guards?: Type[]; allowUnauthenticatedAccess?: boolean; decorators?: ClassDecorator[]; sse?: { pingEnabled?: boolean; pingIntervalMs?: number; }; streamableHttp?: { enableJsonResponse?: boolean; sessionIdGenerator?: () => string; statelessMode?: boolean; }; logging?: false | { level: ('log' | 'error' | 'warn' | 'debug' | 'verbose')[]; }; } export type McpAsyncOptions = Omit; export interface McpOptionsFactory { createMcpOptions(): Promise | McpAsyncOptions; } export interface McpModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | McpAsyncOptions; inject?: any[]; extraProviders?: any[]; } //# sourceMappingURL=mcp-options.interface.d.ts.map