import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js'; import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js'; import { ListToolsResult, CallToolResult, CompatibilityCallToolResult } from '@modelcontextprotocol/sdk/types'; export type ToolCallOutput = CompatibilityCallToolResult; export declare abstract class MCPServer { abstract connect(): Promise; abstract cleanup(): Promise; abstract listTools(): Promise; abstract callTool(toolName: string, args?: Record): Promise; abstract name: string; } export declare class MCPServerStdio extends MCPServer { private command; private args; private cacheTools; client: Client; transport: StdioClientTransport; private toolsCache?; readonly name: string; constructor(command: string, args?: string[], name?: string, cacheTools?: boolean); connect(): Promise; listTools(): Promise; callTool(toolName: string, args?: Record): Promise; cleanup(): Promise; } export declare class MCPServerSse extends MCPServer { private url; private cacheTools; client: Client; transport: StreamableHTTPClientTransport; private toolsCache?; readonly name: string; constructor(url: string, name?: string, cacheTools?: boolean); connect(): Promise; listTools(): Promise; callTool(toolName: string, args?: Record): Promise; cleanup(): Promise; }