UNPKG

@toolprint/hypertool-mcp

Version:

HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers

72 lines • 1.97 kB
/** * Base Hypertool MCP server implementation * Provides core MCP server functionality with transport abstraction */ import { Tool } from "@modelcontextprotocol/sdk/types.js"; import { MetaMCPServerConfig, ServerInitOptions, ServerStatus } from "./types.js"; import { EventEmitter } from "events"; /** * Base Hypertool MCP server class * Handles MCP protocol implementation with pluggable transport layer */ export declare class MetaMCPServer extends EventEmitter { private server; private stdioTransport; private httpServer?; private config; private state; private startTime?; private connectedClients; constructor(config: MetaMCPServerConfig); /** * Setup MCP protocol handlers */ private setupHandlers; /** * Get available tools from underlying servers * To be implemented by subclasses */ protected getAvailableTools(): Promise<Tool[]>; /** * Handle tool call requests * To be implemented by subclasses */ protected handleToolCall(name: string, _args?: unknown): Promise<any>; /** * Initialize and start the server */ start(options: ServerInitOptions): Promise<void>; /** * Setup Express.js HTTP server for streamable MCP transport */ private setupHttpServer; /** * Stop the server */ stop(): Promise<void>; /** * Get current server status */ getStatus(): ServerStatus; /** * Get server configuration */ getConfig(): MetaMCPServerConfig; /** * Send tools list changed notification to clients */ protected notifyToolsChanged(): Promise<void>; /** * Set server state and emit event */ private setState; /** * Handle client connection events */ protected onClientConnected(): void; /** * Handle client disconnection events */ protected onClientDisconnected(): void; } //# sourceMappingURL=base.d.ts.map