UNPKG

xmcp

Version:

The TypeScript MCP framework

38 lines (37 loc) • 1.74 kB
import { Implementation, McpServer } from "@modelcontextprotocol/server"; import { ZodRawShape } from "zod/v3"; import { PromptMetadata } from "@/types/prompt"; import { ResourceCompletions, ResourceMetadata } from "@/types/resource"; import { ToolMetadata } from "@/types/tool"; import { PromptArgsRawShape } from "./prompts"; import { UserPromptHandler } from "./transformers/prompt"; import { UserResourceHandler } from "./transformers/resource"; import { UserToolHandler } from "./transformers/tool"; export type ToolFile = { metadata: ToolMetadata; schema: ZodRawShape; outputSchema?: ZodRawShape; default: UserToolHandler; }; export type PromptFile = { metadata: PromptMetadata; schema: PromptArgsRawShape; default: UserPromptHandler; }; export type ResourceFile = { metadata: ResourceMetadata; schema: ZodRawShape; complete?: ResourceCompletions; default: UserResourceHandler; }; export declare const injectedTools: Record<string, () => Promise<ToolFile>>; export declare const injectedPrompts: Record<string, () => Promise<PromptFile>>; export declare const injectedResources: Record<string, () => Promise<ResourceFile>>; export declare const INJECTED_CONFIG: Implementation & { instructions?: string; }; export declare function configureServer(server: McpServer, toolModules: Map<string, ToolFile>, promptModules: Map<string, PromptFile>, resourceModules: Map<string, ResourceFile>): Promise<McpServer>; export declare function loadTools(): Promise<Map<string, ToolFile>>; export declare function loadPrompts(): Promise<Map<string, PromptFile>>; export declare function loadResources(): Promise<Map<string, ResourceFile>>; export declare function createServer(): Promise<McpServer>;