import * as z from "zod"; /** * Transport type for MCP server connection */ export type MCPTransport = "stdio" | "sse"; /** * Base MCP server configuration */ export interface MCPServerConfig { /** Unique server identifier/name */ name: string; /** Transport protocol */ transport: MCPTransport; /** Optional default timeout in milliseconds for MCP tool calls */ defaultToolTimeout?: number; } /** * Stdio transport configuration (for local subprocess) */ export interface MCPStdioConfig extends MCPServerConfig { transport: "stdio"; /** Command to execute (e.g., "node", "python") */ command: string; /** Command arguments (e.g., ["/path/to/server.js"]) */ args?: string[]; /** Environment variables for the subprocess */ env?: Record; } /** * SSE transport configuration (for HTTP/remote servers) */ export interface MCPSSEConfig extends MCPServerConfig { transport: "sse"; /** Server URL (e.g., "http://localhost:8000/mcp") */ url: string; /** Optional headers for authentication */ headers?: Record; } /** * Union type for all MCP server configurations */ export type MCPServerConfiguration = MCPStdioConfig | MCPSSEConfig; /** * Container for multiple MCP servers */ export interface MCPServersConfig { /** List of MCP server configurations */ servers?: MCPServerConfiguration[]; } /** * Zod schema for Stdio transport configuration */ export declare const MCPStdioConfigSchema: z.ZodObject<{ name: z.ZodString; transport: z.ZodLiteral<"stdio">; defaultToolTimeout: z.ZodOptional; command: z.ZodString; args: z.ZodOptional>; env: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for SSE transport configuration */ export declare const MCPSSEConfigSchema: z.ZodObject<{ name: z.ZodString; transport: z.ZodLiteral<"sse">; defaultToolTimeout: z.ZodOptional; url: z.ZodString; headers: z.ZodOptional>; }, z.core.$strip>; /** * Zod schema for MCP server configuration (discriminated union) */ export declare const MCPServerConfigSchema: z.ZodUnion; defaultToolTimeout: z.ZodOptional; command: z.ZodString; args: z.ZodOptional>; env: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodString; transport: z.ZodLiteral<"sse">; defaultToolTimeout: z.ZodOptional; url: z.ZodString; headers: z.ZodOptional>; }, z.core.$strip>]>; /** * Zod schema for MCP servers configuration container */ export declare const MCPServersConfigSchema: z.ZodObject<{ servers: z.ZodOptional; defaultToolTimeout: z.ZodOptional; command: z.ZodString; args: z.ZodOptional>; env: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ name: z.ZodString; transport: z.ZodLiteral<"sse">; defaultToolTimeout: z.ZodOptional; url: z.ZodString; headers: z.ZodOptional>; }, z.core.$strip>]>>>; }, z.core.$strip>; export type MCPServersConfigType = z.infer; /** * Validate MCP server configuration */ export declare function validateMCPConfig(config: unknown): { success: boolean; data?: MCPServersConfigType; error?: string; };