import type { Tool, ToolInformation, ToolInvocationResult } from "./engine/tool.js"; export type MCPServerConfig = { type: "stdio"; command: string; args?: string[]; env?: Record; cwd?: string; } | { type: "http"; url: string; headers?: Record; }; export type MCPConfig = Record; /** * Configuration for MCP servers */ export interface MCPServersConfig { servers: MCPConfig; inputs?: Array<{ type: string; id: string; description: string; password?: boolean; }>; } /** * Wrapper for MCP Client */ export declare class MCPClient { private toolsMap; private clients; private config?; /** * Initialize the MCP wrapper with a configuration */ initialize(config: MCPServersConfig | undefined): Promise; /** * Get the current configuration */ getToolsMap(): Map; /** * Get the current configuration */ getConfig(): MCPServersConfig | undefined; /** * Get or create an MCP client for a server */ fillToolInformation(): Promise; /** * Invoke a tool on an MCP server */ invokeTool(toolName: string, parameters: Record, context?: string): Promise; getAllTools(): Tool[]; getTool(name: string | undefined): ToolInformation | undefined; /** * Get available tools from an MCP server */ private getTools; /** * Clean up resources */ cleanup(): Promise; } export declare const mcpWrapper: MCPClient; export declare class MockClient extends MCPClient { initialize(_config?: MCPServersConfig): Promise; getAllTools(): Tool[]; invokeTool(toolName: string, parameters: Record, _context?: string): Promise; } //# sourceMappingURL=mcp.d.ts.map