/** * MCP Server Implementation * * SochDB MCP Server for exposing database operations to LLM agents. */ import { EmbeddedDatabase } from '../embedded'; import { McpTool, McpToolCall, McpToolResult, McpResource, McpResourceContent, McpPrompt, McpPromptMessage, McpServerConfig } from './types'; /** * MCP Server for SochDB * * Exposes database operations as MCP tools for LLM agents. * * @example * ```typescript * import { EmbeddedDatabase, McpServer } from '@sochdb/sochdb'; * * const db = EmbeddedDatabase.open('./mydb'); * const server = new McpServer(db, { * name: 'sochdb-mcp', * version: '1.0.0', * capabilities: { tools: true, resources: true } * }); * * // List available tools * const tools = server.listTools(); * * // Execute a tool call * const result = await server.callTool({ * id: 'call_1', * name: 'db_get', * arguments: { key: 'user:123' } * }); * ``` */ export declare class McpServer { private db; private config; private tools; private prompts; private customToolHandlers; constructor(db: EmbeddedDatabase, config: McpServerConfig); /** * Register built-in database tools */ private registerBuiltinTools; /** * Register a custom tool */ registerTool(tool: McpTool, handler: (args: Record) => Promise): void; /** * Unregister a tool */ unregisterTool(name: string): boolean; /** * List all available tools */ listTools(): McpTool[]; /** * Call a tool */ callTool(call: McpToolCall): Promise; /** * Register a prompt template */ registerPrompt(prompt: McpPrompt): void; /** * List all available prompts */ listPrompts(): McpPrompt[]; /** * Get prompt messages */ getPrompt(name: string, args?: Record): McpPromptMessage[] | null; /** * List available resources */ listResources(): Promise; /** * Read a resource */ readResource(uri: string): Promise; /** * Get server info */ getServerInfo(): McpServerConfig; } //# sourceMappingURL=server.d.ts.map