/** * MCP 客户端:连接、list_tools、call_tool、断开。 * 支持 stdio(本地进程)与 sse(远程 HTTP)两种传输。 */ import type { McpTool, McpToolCallResult, IMcpTransport } from "./types.js"; import type { McpServerConfig } from "./types.js"; export interface McpClientOptions { initTimeoutMs?: number; requestTimeoutMs?: number; /** stdio:初始化失败时的重试次数(默认 1) */ initRetries?: number; /** stdio:初始化重试间隔毫秒(默认 3000) */ initRetryDelayMs?: number; } export declare class McpClient { private transport; private _tools; private _requestId; constructor(configOrTransport: McpServerConfig | IMcpTransport, options?: McpClientOptions); /** 建立连接并完成握手;成功后可使用 listTools / callTool */ connect(): Promise; /** 获取工具列表(会缓存;断开重连后需重新 list) */ listTools(): Promise; /** 调用指定工具 */ callTool(name: string, args: Record): Promise; close(): Promise; get isConnected(): boolean; }