@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
63 lines • 1.85 kB
TypeScript
/**
* Stdio client implementation for MCP servers using official MCP SDK
*/
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { ListToolsResult, CallToolRequest } from "@modelcontextprotocol/sdk/types.js";
import { EventEmitter } from "events";
import { StdioServerConfig } from "../../types/config.js";
import { ConnectionOptions } from "../types.js";
import { BaseConnection } from "./base.js";
/**
* Stdio client wrapper using proper MCP SDK Client
*/
export declare class StdioClient extends EventEmitter {
private config;
private client;
private isConnected;
constructor(config: StdioServerConfig);
get isRunning(): boolean;
/**
* Start the MCP server process using SDK Client
*/
start(): Promise<void>;
/**
* Stop the MCP server process
*/
stop(): Promise<void>;
/**
* List tools from the MCP server
*/
listTools(): Promise<ListToolsResult>;
/**
* Call a tool on the MCP server
*/
callTool(params: CallToolRequest["params"]): Promise<any>;
/**
* Ping the server to check if it's responsive
*/
ping(): Promise<boolean>;
/**
* Get the SDK client instance for advanced operations
*/
get sdkClient(): Client | null;
}
/**
* Stdio connection implementation
*/
export declare class StdioConnection extends BaseConnection<StdioClient> {
protected _client: StdioClient | null;
constructor(serverName: string, config: StdioServerConfig, options?: ConnectionOptions);
/**
* Connect to the stdio server
*/
protected doConnect(): Promise<void>;
/**
* Disconnect from the stdio server
*/
protected doDisconnect(): Promise<void>;
/**
* Ping the stdio server
*/
protected doPing(): Promise<boolean>;
}
//# sourceMappingURL=stdio.d.ts.map