export interface MCPServerConfig { name: string; command: string; args?: string[]; env?: Record; } export interface MCPTool { name: string; description?: string; inputSchema: any; serverName: string; } export interface MCPResource { uri: string; name: string; description?: string; mimeType?: string; serverName: string; } export declare class MCPManager { private static instance; private configPath; private servers; private tools; private resources; constructor(configPath?: string); static getInstance(): MCPManager; /** * Load MCP server configurations from file */ loadConfig(): Promise; /** * Save default MCP configuration * Note: Bash tools are built-in, no external server needed */ private saveDefaultConfig; /** * Connect to an MCP server */ connectServer(name: string, config: MCPServerConfig): Promise; /** * Disconnect from an MCP server */ disconnectServer(name: string): Promise; /** * Call an MCP tool */ callTool(toolName: string, args: any): Promise; /** * Read an MCP resource */ readResource(uri: string): Promise; /** * Get all available tools */ getTools(): MCPTool[]; /** * Get all available resources */ getResources(): MCPResource[]; /** * Get connected servers */ getServers(): string[]; /** * Check if any servers are connected */ hasServers(): boolean; /** * Format tools for AI system prompt */ formatToolsForPrompt(): string; /** * Convert tools to OpenAI tools array format * Used when sending tools parameter in chat completion requests */ toOpenAITools(): any[]; /** * Parse tool call from AI response * Supports multiple formats: * 1. JSON: {"tool": "bash.execute_command", "args": {...}} * 2. Function tags: */ parseToolCall(response: string): { tool: string; args: any; } | null; /** * Disconnect all servers */ disconnectAll(): Promise; } /** * Usage Example: * * const mcp = MCPManager.getInstance(); * await mcp.loadConfig(); * * // Bash server is enabled by default on first run * // Config created at: ~/.langmart/mcp-servers.json * * // List available tools * const tools = mcp.getTools(); * // Example tools: bash.execute_command, bash.run_script * * // Call a bash tool * const result = await mcp.callTool('bash.execute_command', { command: 'ls -la' }); * * // Add tools to AI prompt * const systemPrompt = "You are a helpful assistant." + mcp.formatToolsForPrompt(); * * // AI can now execute bash commands via tool calling */ //# sourceMappingURL=mcp-manager.d.ts.map