import * as zod from 'zod'; import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { RequestOptions } from '@modelcontextprotocol/sdk/shared/protocol.js'; import { Tool, Prompt, Resource, ResourceTemplate, ServerCapabilities, ElicitRequest, ElicitResult, CallToolRequest, CallToolResultSchema, CompatibilityCallToolResultSchema, ReadResourceRequest, GetPromptRequest } from '@modelcontextprotocol/sdk/types.js'; import { ToolSet } from 'ai'; import { SSEClientTransport, SSEClientTransportOptions } from '@modelcontextprotocol/sdk/client/sse.js'; import { StreamableHTTPClientTransport, StreamableHTTPClientTransportOptions } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; import { AgentsOAuthProvider } from './mcp/do-oauth-client-provider.js'; declare class SSEEdgeClientTransport extends SSEClientTransport { private authProvider; /** * Creates a new EdgeSSEClientTransport, which overrides fetch to be compatible with the CF workers environment */ constructor(url: URL, options: SSEClientTransportOptions); authHeaders(): Promise<{ Authorization: string; } | undefined>; } declare class StreamableHTTPEdgeClientTransport extends StreamableHTTPClientTransport { private authProvider; /** * Creates a new StreamableHTTPEdgeClientTransport, which overrides fetch to be compatible with the CF workers environment */ constructor(url: URL, options: StreamableHTTPClientTransportOptions); authHeaders(): Promise<{ Authorization: string; } | undefined>; } type MCPTransportOptions = (SSEClientTransportOptions | StreamableHTTPClientTransportOptions) & { authProvider?: AgentsOAuthProvider; type?: "sse" | "streamable-http" | "auto"; }; type TransportType = Exclude; declare class MCPClientConnection { url: URL; options: { transport: MCPTransportOptions; client: ConstructorParameters[1]; }; client: Client; connectionState: "authenticating" | "connecting" | "ready" | "discovering" | "failed"; instructions?: string; tools: Tool[]; prompts: Prompt[]; resources: Resource[]; resourceTemplates: ResourceTemplate[]; serverCapabilities: ServerCapabilities | undefined; constructor(url: URL, info: ConstructorParameters[0], options?: { transport: MCPTransportOptions; client: ConstructorParameters[1]; }); /** * Initialize a client connection * * @param code Optional OAuth code to initialize the connection with if auth hasn't been initialized * @returns */ init(code?: string): Promise; /** * Notification handler registration */ registerTools(): Promise; registerResources(): Promise; registerPrompts(): Promise; registerResourceTemplates(): Promise; fetchTools(): Promise<{ [x: string]: unknown; name: string; inputSchema: { [x: string]: unknown; type: "object"; properties?: { [x: string]: unknown; } | undefined; required?: string[] | undefined; }; outputSchema?: { [x: string]: unknown; type: "object"; properties?: { [x: string]: unknown; } | undefined; required?: string[] | undefined; } | undefined; _meta?: { [x: string]: unknown; } | undefined; title?: string | undefined; description?: string | undefined; annotations?: { [x: string]: unknown; title?: string | undefined; readOnlyHint?: boolean | undefined; destructiveHint?: boolean | undefined; idempotentHint?: boolean | undefined; openWorldHint?: boolean | undefined; } | undefined; }[]>; fetchResources(): Promise<{ [x: string]: unknown; name: string; uri: string; _meta?: { [x: string]: unknown; } | undefined; title?: string | undefined; description?: string | undefined; mimeType?: string | undefined; }[]>; fetchPrompts(): Promise<{ [x: string]: unknown; name: string; _meta?: { [x: string]: unknown; } | undefined; title?: string | undefined; description?: string | undefined; arguments?: { [x: string]: unknown; name: string; description?: string | undefined; required?: boolean | undefined; }[] | undefined; }[]>; fetchResourceTemplates(): Promise<{ [x: string]: unknown; name: string; uriTemplate: string; _meta?: { [x: string]: unknown; } | undefined; title?: string | undefined; description?: string | undefined; mimeType?: string | undefined; }[]>; /** * Handle elicitation request from server * Automatically uses the Agent's built-in elicitation handling if available */ handleElicitationRequest(_request: ElicitRequest): Promise; /** * Get the transport for the client * @param transportType - The transport type to get * @returns The transport for the client */ getTransport(transportType: TransportType): SSEEdgeClientTransport | StreamableHTTPEdgeClientTransport; tryConnect(transportType: MCPTransportOptions["type"], code?: string): Promise; } /** * Utility class that aggregates multiple MCP clients into one */ declare class MCPClientManager { private _name; private _version; mcpConnections: Record; private _callbackUrls; /** * @param _name Name of the MCP client * @param _version Version of the MCP Client * @param auth Auth paramters if being used to create a DurableObjectOAuthClientProvider */ constructor(_name: string, _version: string); /** * Connect to and register an MCP server * * @param transportConfig Transport config * @param clientConfig Client config * @param capabilities Client capabilities (i.e. if the client supports roots/sampling) */ connect(url: string, options?: { reconnect?: { id: string; oauthClientId?: string; oauthCode?: string; }; transport?: MCPTransportOptions; client?: ConstructorParameters[1]; }): Promise<{ id: string; authUrl?: string; clientId?: string; }>; isCallbackRequest(req: Request): boolean; handleCallbackRequest(req: Request): Promise<{ serverId: string; }>; /** * @returns namespaced list of tools */ listTools(): NamespacedData["tools"]; /** * @returns a set of tools that you can use with the AI SDK */ unstable_getAITools(): ToolSet; /** * Closes all connections to MCP servers */ closeAllConnections(): Promise; /** * Closes a connection to an MCP server * @param id The id of the connection to close */ closeConnection(id: string): Promise; /** * @returns namespaced list of prompts */ listPrompts(): NamespacedData["prompts"]; /** * @returns namespaced list of tools */ listResources(): NamespacedData["resources"]; /** * @returns namespaced list of resource templates */ listResourceTemplates(): NamespacedData["resourceTemplates"]; /** * Namespaced version of callTool */ callTool(params: CallToolRequest["params"] & { serverId: string; }, resultSchema?: typeof CallToolResultSchema | typeof CompatibilityCallToolResultSchema, options?: RequestOptions): Promise, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; } & { content: zod.ZodDefault; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>]>, "many">>; structuredContent: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; isError: zod.ZodOptional; }, zod.ZodTypeAny, "passthrough"> | zod.objectOutputType<{ _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; } & { toolResult: zod.ZodUnknown; }, zod.ZodTypeAny, "passthrough">>; /** * Namespaced version of readResource */ readResource(params: ReadResourceRequest["params"] & { serverId: string; }, options: RequestOptions): Promise, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; } & { contents: zod.ZodArray; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>, "many">; }, zod.ZodTypeAny, "passthrough">>; /** * Namespaced version of getPrompt */ getPrompt(params: GetPromptRequest["params"] & { serverId: string; }, options: RequestOptions): Promise, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; } & { description: zod.ZodOptional; messages: zod.ZodArray; content: zod.ZodUnion<[zod.ZodObject<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>]>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ role: zod.ZodEnum<["user", "assistant"]>; content: zod.ZodUnion<[zod.ZodObject<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>]>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ role: zod.ZodEnum<["user", "assistant"]>; content: zod.ZodUnion<[zod.ZodObject<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"text">; text: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"image">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"audio">; data: zod.ZodEffects; mimeType: zod.ZodString; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; }, { uri: zod.ZodString; description: zod.ZodOptional; mimeType: zod.ZodOptional; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }>, { type: zod.ZodLiteral<"resource_link">; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, "passthrough", zod.ZodTypeAny, zod.objectOutputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">, zod.objectInputType<{ type: zod.ZodLiteral<"resource">; resource: zod.ZodUnion<[zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { text: zod.ZodString; }>, zod.ZodTypeAny, "passthrough">>, zod.ZodObject; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, "passthrough", zod.ZodTypeAny, zod.objectOutputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">, zod.objectInputType; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, { blob: zod.ZodEffects; }>, zod.ZodTypeAny, "passthrough">>]>; _meta: zod.ZodOptional, zod.objectInputType<{}, zod.ZodTypeAny, "passthrough">>>; }, zod.ZodTypeAny, "passthrough">>]>; }, zod.ZodTypeAny, "passthrough">>, "many">; }, zod.ZodTypeAny, "passthrough">>; } type NamespacedData = { tools: (Tool & { serverId: string; })[]; prompts: (Prompt & { serverId: string; })[]; resources: (Resource & { serverId: string; })[]; resourceTemplates: (ResourceTemplate & { serverId: string; })[]; }; declare function getNamespacedData(mcpClients: Record, type: T): NamespacedData[T]; export { MCPClientManager as M, SSEEdgeClientTransport as S, StreamableHTTPEdgeClientTransport as a, getNamespacedData as g };