@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
74 lines • 2.55 kB
TypeScript
/**
* Shared utility functions for MCP setup scripts
* Used by Claude Desktop, Claude Code, and other MCP integrations
*/
export interface MCPConfig {
mcpServers?: Record<string, {
type: string;
command: string;
args?: string[];
env?: Record<string, string>;
[key: string]: any;
}>;
[key: string]: any;
}
export interface SetupContext {
originalConfigPath: string;
backupPath: string;
hyperToolConfigPath: string;
dryRun: boolean;
}
/**
* Check if a file exists
*/
export declare function fileExists(path: string): Promise<boolean>;
/**
* Read and parse a JSON configuration file
*/
export declare function readJsonFile(path: string): Promise<any>;
/**
* Write a JSON configuration file
*/
export declare function writeJsonFile(path: string, data: any): Promise<void>;
/**
* Ensure a directory exists
*/
export declare function ensureDirectoryExists(path: string): Promise<void>;
/**
* Validate that an MCP configuration exists and is valid
*/
export declare function validateMcpConfiguration(configPath: string): Promise<void>;
/**
* Create a backup of the original configuration file
*/
export declare function createConfigBackup(context: SetupContext): Promise<void>;
/**
* Migrate existing MCP servers to HyperTool configuration
*/
export declare function migrateToHyperToolConfig(context: SetupContext): Promise<MCPConfig>;
/**
* Prompt user for cleanup options (automatic vs manual)
* Note: We're simplifying to always do automated cleanup
*/
export declare function promptForCleanupOptions(): Promise<boolean>;
/**
* Create HyperTool proxy configuration
*/
export declare function createHyperToolProxyConfig(hyperToolConfigPath: string): any;
/**
* Update MCP configuration with HyperTool proxy
*/
export declare function updateMcpConfigWithHyperTool(context: SetupContext, originalConfig: MCPConfig, _shouldCleanup: boolean, hyperToolConfigPath: string): Promise<void>;
/**
* Display setup summary
*/
export declare function displaySetupSummary(context: SetupContext, shouldCleanup: boolean, integrationName: string): Promise<void>;
/**
* Display what the setup process will do before getting user consent
*/
export declare function displaySetupPlan(context: SetupContext, originalConfig: MCPConfig, integrationName: string): Promise<boolean>;
/**
* Check if Hypertool slash commands are already installed globally
*/
export declare function hasClaudeCodeGlobalHypertoolSlashCommands(): Promise<boolean>;
//# sourceMappingURL=mcpSetupUtils.d.ts.map