@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
61 lines • 2.47 kB
TypeScript
/**
* Enhanced Connection Factory with Extension Support
* Integrates the new extension system with the existing connection factory
*/
import { ServerConfig } from "../types/config.js";
import { Connection, ConnectionOptions, ConnectionFactory as IConnectionFactory } from "./types.js";
import { ExtensionManager } from "../extensions/manager.js";
/**
* Enhanced connection factory that supports both regular MCP servers and extensions
*/
export declare class ExtensionAwareConnectionFactory implements IConnectionFactory {
private readonly baseFactory;
private extensionManager?;
constructor();
/**
* Set the extension manager for extension support
*/
setExtensionManager(extensionManager: ExtensionManager): void;
/**
* Create a connection that may come from extensions or regular config
*/
createConnection(serverName: string, config: ServerConfig, options?: ConnectionOptions): Connection;
/**
* Get all available server configurations (MCP servers + enabled extensions)
*/
getAllServerConfigs(): Promise<Record<string, ServerConfig>>;
/**
* Check if a server name is available (either as extension or regular config)
*/
isServerAvailable(serverName: string): Promise<boolean>;
/**
* List all available server names (extensions + regular servers)
*/
listAvailableServers(): Promise<string[]>;
/**
* Get server information including type and status
*/
getServerInfo(serverName: string): Promise<{
name: string;
type: "extension" | "mcp";
enabled: boolean;
valid?: boolean;
version?: string;
description?: string;
errors?: string[];
warnings?: string[];
} | undefined>;
/**
* Refresh all extensions and reload configurations
*/
refresh(): Promise<void>;
/**
* Delegate to base factory for regular operations
*/
createStdioConnection(serverName: string, config: any, options?: ConnectionOptions): import("./clients/stdio.js").StdioConnection;
createHttpConnection(serverName: string, config: any, options?: ConnectionOptions): import("./clients/http.js").HttpConnection;
createSSEConnection(serverName: string, config: any, options?: ConnectionOptions): import("./index.js").SSEConnection;
isConfigSupported(config: ServerConfig): boolean;
getSupportedTransports(): string[];
}
//# sourceMappingURL=extensionFactory.d.ts.map