UNPKG

@toolprint/hypertool-mcp

Version:

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

119 lines • 3.86 kB
/** * Enhanced Hypertool MCP server with request routing capabilities */ import { MetaMCPServer } from "./base.js"; import { MetaMCPServerConfig, ServerInitOptions } from "./types.js"; import { RuntimeOptions } from "../types/runtime.js"; import { Tool } from "@modelcontextprotocol/sdk/types.js"; import { IToolDiscoveryEngine } from "../discovery/index.js"; import { IConnectionManager } from "../connection/index.js"; import { PersonaManager } from "../persona/manager.js"; /** * Enhanced Hypertool MCP server with routing capabilities */ export declare class EnhancedMetaMCPServer extends MetaMCPServer { private requestRouter?; private discoveryEngine?; private connectionManager?; private extensionManager?; private toolsetManager; private personaManager?; private configToolsManager?; private configurationMode; private enterConfigurationModeTool?; private runtimeOptions?; private configToolsMenuEnabled; private serverInitOptions?; private currentServerConfigs; private isPersonaMode; constructor(config: MetaMCPServerConfig); /** * Getter methods for safe access to shared objects */ getPersonaManager(): PersonaManager | undefined; /** * Check if server is in persona mode */ getIsPersonaMode(): boolean; getConnectionManager(): IConnectionManager | undefined; getDiscoveryEngine(): IToolDiscoveryEngine | undefined; /** * Initialize PersonaManager early in boot sequence */ private initializePersonaManager; /** * Update PersonaManager MCP configuration handlers with actual implementations */ private updatePersonaMcpHandlers; /** * Phase 2: Collect ALL MCP configurations (persona + file + extensions) */ private collectAllMcpConfigs; /** * Handle mode change request from ConfigToolsManager (toggle mode) */ private handleConfigToolsModeChange; /** * Enhanced start method with routing initialization */ start(options: ServerInitOptions, runtimeOptions?: RuntimeOptions): Promise<void>; private loadMcpConfigOrExit; /** * Filter out server configurations that would cause HyperTool to connect to itself */ private filterSelfReferencingServers; /** * Check if a server configuration references HyperTool itself */ private isSelfReferencingServer; private connectToDownstreamServers; /** * Initialize routing components */ private initializeRouting; /** * Initialize tool modules with dependency injection */ private initializeToolModules; /** * Initialize and activate a persona */ private initializePersona; /** * Load MCP configuration from persona directory */ private loadPersonaMcpConfig; /** * Initialize configuration mode components */ private initializeConfigurationMode; /** * Check toolset status and warn if no toolset is equipped */ private checkToolsetStatus; /** * Get available tools based on current mode */ protected getAvailableTools(): Promise<Tool[]>; /** * Check if a tool is an internal tool that should be handled directly */ private isInternalTool; /** * Handle tool call requests with mode-based routing */ protected handleToolCall(name: string, args?: any): Promise<any>; /** * Enhanced stop method */ stop(): Promise<void>; /** * Get routing statistics (if enabled) */ getRoutingStats(): { router: import("../router/types.js").RouterStats; discovery: import("../discovery/types.js").DiscoveryStats | undefined; connections: Record<string, import("../connection/types.js").ConnectionStatus> | undefined; } | null; } //# sourceMappingURL=enhanced.d.ts.map