@toolplex/client
Version:
The official ToolPlex client for AI agent tool discovery and execution
38 lines (37 loc) • 1.6 kB
TypeScript
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js";
import { Tool } from "@modelcontextprotocol/sdk/types.js";
import { ServerConfig } from "../shared/mcpServerTypes.js";
import { InitializeResult } from "../shared/serverManagerTypes.js";
export declare class ServerManager {
private sessions;
private tools;
private serverNames;
private configPath;
private config;
private installationPromises;
private configLock;
constructor();
private loadConfig;
private saveConfig;
initialize(): Promise<InitializeResult>;
getServerName(serverId: string): Promise<string>;
connectWithHandshakeTimeout(client: Client, transport: SSEClientTransport | StdioClientTransport, ms?: number): Promise<{
tools?: Tool[];
}>;
install(serverId: string, serverName: string, description: string, config: ServerConfig): Promise<void>;
private performInstall;
callTool(serverId: string, toolName: string, arguments_: Record<string, any>, timeout?: number): Promise<any>;
uninstall(serverId: string): Promise<void>;
removeServer(serverId: string): Promise<void>;
listServers(): Promise<Array<{
server_id: string;
server_name: string;
tool_count: number;
description: string;
}>>;
listTools(serverId: string): Promise<Tool[]>;
getServerConfig(serverId: string): Promise<ServerConfig>;
cleanup(): Promise<void>;
}