| import { Server, ServerOptions } from "./index.js"; |
| import { z, ZodRawShape, ZodObject, AnyZodObject, ZodTypeAny, ZodType, ZodTypeDef, ZodOptional } from "zod"; |
| import { Implementation, CallToolResult, Resource, ListResourcesResult, GetPromptResult, ReadResourceResult, ServerRequest, ServerNotification, ToolAnnotations } from "../types.js"; |
| import { UriTemplate, Variables } from "../shared/uriTemplate.js"; |
| import { RequestHandlerExtra } from "../shared/protocol.js"; |
| import { Transport } from "../shared/transport.js"; |
| |
| |
| |
| |
| |
| export declare class McpServer { |
| |
| |
| |
| readonly server: Server; |
| private _registeredResources; |
| private _registeredResourceTemplates; |
| private _registeredTools; |
| private _registeredPrompts; |
| constructor(serverInfo: Implementation, options?: ServerOptions); |
| |
| |
| |
| |
| |
| connect(transport: Transport): Promise<void>; |
| |
| |
| |
| close(): Promise<void>; |
| private _toolHandlersInitialized; |
| private setToolRequestHandlers; |
| private _completionHandlerInitialized; |
| private setCompletionRequestHandler; |
| private handlePromptCompletion; |
| private handleResourceCompletion; |
| private _resourceHandlersInitialized; |
| private setResourceRequestHandlers; |
| private _promptHandlersInitialized; |
| private setPromptRequestHandlers; |
| |
| |
| |
| resource(name: string, uri: string, readCallback: ReadResourceCallback): RegisteredResource; |
| |
| |
| |
| resource(name: string, uri: string, metadata: ResourceMetadata, readCallback: ReadResourceCallback): RegisteredResource; |
| |
| |
| |
| resource(name: string, template: ResourceTemplate, readCallback: ReadResourceTemplateCallback): RegisteredResourceTemplate; |
| |
| |
| |
| resource(name: string, template: ResourceTemplate, metadata: ResourceMetadata, readCallback: ReadResourceTemplateCallback): RegisteredResourceTemplate; |
| |
| |
| |
| tool(name: string, cb: ToolCallback): RegisteredTool; |
| |
| |
| |
| tool(name: string, description: string, cb: ToolCallback): RegisteredTool; |
| |
| |
| |
| |
| |
| |
| |
| tool<Args extends ZodRawShape>(name: string, paramsSchemaOrAnnotations: Args | ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool; |
| |
| |
| |
| |
| |
| |
| |
| |
| tool<Args extends ZodRawShape>(name: string, description: string, paramsSchemaOrAnnotations: Args | ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool; |
| |
| |
| |
| tool<Args extends ZodRawShape>(name: string, paramsSchema: Args, annotations: ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool; |
| |
| |
| |
| tool<Args extends ZodRawShape>(name: string, description: string, paramsSchema: Args, annotations: ToolAnnotations, cb: ToolCallback<Args>): RegisteredTool; |
| |
| |
| |
| prompt(name: string, cb: PromptCallback): RegisteredPrompt; |
| |
| |
| |
| prompt(name: string, description: string, cb: PromptCallback): RegisteredPrompt; |
| |
| |
| |
| prompt<Args extends PromptArgsRawShape>(name: string, argsSchema: Args, cb: PromptCallback<Args>): RegisteredPrompt; |
| |
| |
| |
| prompt<Args extends PromptArgsRawShape>(name: string, description: string, argsSchema: Args, cb: PromptCallback<Args>): RegisteredPrompt; |
| |
| |
| |
| |
| isConnected(): boolean; |
| |
| |
| |
| sendResourceListChanged(): void; |
| |
| |
| |
| sendToolListChanged(): void; |
| |
| |
| |
| sendPromptListChanged(): void; |
| } |
| |
| |
| |
| export type CompleteResourceTemplateCallback = (value: string) => string[] | Promise<string[]>; |
| |
| |
| |
| |
| export declare class ResourceTemplate { |
| private _callbacks; |
| private _uriTemplate; |
| constructor(uriTemplate: string | UriTemplate, _callbacks: { |
| /** |
| * A callback to list all resources matching this template. This is required to specified, even if `undefined`, to avoid accidentally forgetting resource listing. |
| */ |
| list: ListResourcesCallback | undefined; |
| /** |
| * An optional callback to autocomplete variables within the URI template. Useful for clients and users to discover possible values. |
| */ |
| complete?: { |
| [variable: string]: CompleteResourceTemplateCallback; |
| }; |
| }); |
| |
| |
| |
| get uriTemplate(): UriTemplate; |
| |
| |
| |
| get listCallback(): ListResourcesCallback | undefined; |
| |
| |
| |
| completeCallback(variable: string): CompleteResourceTemplateCallback | undefined; |
| } |
| |
| |
| |
| |
| |
| export type ToolCallback<Args extends undefined | ZodRawShape = undefined> = Args extends ZodRawShape ? (args: z.objectOutputType<Args, ZodTypeAny>, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => CallToolResult | Promise<CallToolResult> : (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => CallToolResult | Promise<CallToolResult>; |
| export type RegisteredTool = { |
| description?: string; |
| inputSchema?: AnyZodObject; |
| annotations?: ToolAnnotations; |
| callback: ToolCallback<undefined | ZodRawShape>; |
| enabled: boolean; |
| enable(): void; |
| disable(): void; |
| update<Args extends ZodRawShape>(updates: { |
| name?: string | null; |
| description?: string; |
| paramsSchema?: Args; |
| callback?: ToolCallback<Args>; |
| annotations?: ToolAnnotations; |
| enabled?: boolean; |
| }): void; |
| remove(): void; |
| }; |
| |
| |
| |
| export type ResourceMetadata = Omit<Resource, "uri" | "name">; |
| |
| |
| |
| export type ListResourcesCallback = (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => ListResourcesResult | Promise<ListResourcesResult>; |
| |
| |
| |
| export type ReadResourceCallback = (uri: URL, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => ReadResourceResult | Promise<ReadResourceResult>; |
| export type RegisteredResource = { |
| name: string; |
| metadata?: ResourceMetadata; |
| readCallback: ReadResourceCallback; |
| enabled: boolean; |
| enable(): void; |
| disable(): void; |
| update(updates: { |
| name?: string; |
| uri?: string | null; |
| metadata?: ResourceMetadata; |
| callback?: ReadResourceCallback; |
| enabled?: boolean; |
| }): void; |
| remove(): void; |
| }; |
| |
| |
| |
| export type ReadResourceTemplateCallback = (uri: URL, variables: Variables, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => ReadResourceResult | Promise<ReadResourceResult>; |
| export type RegisteredResourceTemplate = { |
| resourceTemplate: ResourceTemplate; |
| metadata?: ResourceMetadata; |
| readCallback: ReadResourceTemplateCallback; |
| enabled: boolean; |
| enable(): void; |
| disable(): void; |
| update(updates: { |
| name?: string | null; |
| template?: ResourceTemplate; |
| metadata?: ResourceMetadata; |
| callback?: ReadResourceTemplateCallback; |
| enabled?: boolean; |
| }): void; |
| remove(): void; |
| }; |
| type PromptArgsRawShape = { |
| [k: string]: ZodType<string, ZodTypeDef, string> | ZodOptional<ZodType<string, ZodTypeDef, string>>; |
| }; |
| export type PromptCallback<Args extends undefined | PromptArgsRawShape = undefined> = Args extends PromptArgsRawShape ? (args: z.objectOutputType<Args, ZodTypeAny>, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => GetPromptResult | Promise<GetPromptResult> : (extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => GetPromptResult | Promise<GetPromptResult>; |
| export type RegisteredPrompt = { |
| description?: string; |
| argsSchema?: ZodObject<PromptArgsRawShape>; |
| callback: PromptCallback<undefined | PromptArgsRawShape>; |
| enabled: boolean; |
| enable(): void; |
| disable(): void; |
| update<Args extends PromptArgsRawShape>(updates: { |
| name?: string | null; |
| description?: string; |
| argsSchema?: Args; |
| callback?: PromptCallback<Args>; |
| enabled?: boolean; |
| }): void; |
| remove(): void; |
| }; |
| export {}; |
| |