UNPKG

mcp-booster

Version:

Servidor MCP com CoConuT (Continuous Chain of Thought) para uso com Cursor IDE - Pacote Global NPM

124 lines (95 loc) 3.99 kB
#!/usr/bin/env node /** * Script de inicialização do MCP-Booster * Suporta tanto o servidor MCP quanto o comando de instalação * Compatível com Windows, macOS e Linux */ const path = require('path'); const fs = require('fs'); // Função para normalizar paths cross-platform function resolvePath(relativePath) { return path.resolve(__dirname, relativePath); } // Função para mostrar ajuda geral function showGeneralHelp() { console.log(` 🚀 MCP-Booster - Servidor MCP com CoConuT (Continuous Chain of Thought) COMANDOS DISPONÍVEIS: mcp-booster Inicia o servidor MCP (modo padrão) mcp-booster init [opções] Instala configuração MCP no Cursor IDE mcp-booster --help Mostra esta ajuda EXEMPLOS: # Iniciar servidor MCP mcp-booster # Instalar no Cursor IDE mcp-booster init --ide cursor --api-key sua-api-key # Ajuda específica do comando init mcp-booster init --help Para mais informações sobre um comando específico, use --help após o comando. `); } // Verificar argumentos da linha de comando const args = process.argv.slice(2); // Se primeiro argumento é 'init', executar comando de instalação if (args.length > 0 && args[0] === 'init') { // Verificar se o módulo de init existe const initModulePath = resolvePath('../dist/modules/init/init-command.js'); if (!fs.existsSync(initModulePath)) { console.error('❌ Erro: Módulo de instalação não encontrado.'); console.error('📍 Esperado em:', initModulePath); console.error('💡 Execute "npm run build" no diretório do projeto para compilar.'); process.exit(1); } try { // Importar e executar comando init const { runInitCommand } = require(initModulePath); if (typeof runInitCommand !== 'function') { console.error('❌ Erro: Função runInitCommand não encontrada.'); process.exit(1); } // Executar comando init runInitCommand(process.argv); } catch (error) { console.error('❌ Erro ao executar comando init:'); console.error('📝 Detalhes:', error.message); if (error.code === 'MODULE_NOT_FOUND') { console.error('💡 Solução: Execute "npm run build" para compilar os módulos.'); } process.exit(1); } } else if (args.length > 0 && (args[0] === '--help' || args[0] === '-h')) { // Mostrar ajuda geral showGeneralHelp(); } else { // Modo padrão: iniciar servidor MCP // Verificar se o arquivo principal existe const mainFile = resolvePath('../dist/index.js'); if (!fs.existsSync(mainFile)) { console.error('❌ Erro: Arquivo principal não encontrado.'); console.error('📍 Esperado em:', mainFile); console.error('💡 Execute "npm run build" no diretório do projeto para compilar.'); process.exit(1); } try { // Importar e inicializar o servidor const { initializeServer } = require(mainFile); // Verificar se a função está disponível if (typeof initializeServer !== 'function') { console.error('❌ Erro: Função initializeServer não encontrada no módulo principal.'); process.exit(1); } // Inicializar o servidor com configurações padrão initializeServer(); } catch (error) { console.error('❌ Erro ao inicializar o servidor MCP-Booster:'); console.error('📝 Detalhes:', error.message); // Mensagens específicas por tipo de erro if (error.code === 'MODULE_NOT_FOUND') { console.error('💡 Solução: Verifique se todas as dependências estão instaladas.'); console.error(' Execute: npm install'); } else if (error.code === 'ENOENT') { console.error('💡 Solução: Verifique se o arquivo existe e as permissões estão corretas.'); } process.exit(1); } }