Skip to main content
Glama

hypertool-mcp

install.ts2.55 kB
/** * Install Extension Command */ import { Command } from "commander"; import { ExtensionManager } from "../../extensions/index.js"; import { existsSync } from "fs"; import { resolve } from "path"; export function extensionsInstall(): Command { return new Command("install") .description("Install an extension from a .dxt file") .argument("<dxt-file>", "Path to .dxt file") .option("--config <path>", "Path to configuration file") .option("--extensions-dir <path>", "Path to extensions directory") .option("--enable", "Enable the extension after installation", true) .action(async (dxtFile: string, options) => { try { // Validate DXT file exists const dxtPath = resolve(dxtFile); if (!existsSync(dxtPath)) { console.error(`DXT file not found: ${dxtFile}`); process.exit(1); } if (!dxtPath.endsWith(".dxt")) { console.error(`File must have .dxt extension: ${dxtFile}`); process.exit(1); } const extensionManager = new ExtensionManager( options.config, options.extensionsDir ); await extensionManager.initialize(); console.log(`Installing extension from ${dxtFile}...`); const result = await extensionManager.installExtension(dxtPath); if (result.success) { console.log(`✓ ${result.message}`); // Enable the extension if requested if (options.enable && result.name) { console.log(`Enabling extension '${result.name}'...`); await extensionManager.enableExtension(result.name); console.log(`✓ Extension '${result.name}' enabled`); // Show validation status const ext = extensionManager.getExtensionConfig(result.name); if (ext && !ext.validationResult.isValid) { console.log(); console.warn(`⚠ Extension has configuration issues:`); ext.validationResult.errors.forEach((error) => console.warn(` - ${error}`) ); console.log(); console.log( `Run 'hypertool extensions config ${result.name} --suggest' for help.` ); } } } else { console.error(`✗ ${result.message}`); process.exit(1); } } catch (error) { console.error( `Failed to install extension: ${(error as Error).message}` ); process.exit(1); } }); }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/toolprint/hypertool-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server