fix-common-issues.sh•5.47 kB
#!/bin/bash
# 🔧 Script para Corregir Problemas Comunes del MCP
# Soluciona los errores más frecuentes que impiden la activación
echo "🔧 CORRECTOR DE PROBLEMAS COMUNES MCP"
echo "====================================="
cd /Users/janetsepulvedacorrea/Desktop/AGENTES/treepod-financial-mcp
echo "🧹 PASO 1: Limpieza completa..."
# Matar procesos que puedan estar interfiriendo
killall node 2>/dev/null || true
killall Claude 2>/dev/null || true
echo "✅ Procesos limpiados"
echo ""
echo "📦 PASO 2: Reinstalar dependencias..."
rm -rf node_modules package-lock.json
npm install
echo "✅ Dependencias reinstaladas"
echo ""
echo "📄 PASO 3: Verificar y corregir archivos..."
# Verificar que package.json tenga type: module
if grep -q '"type": "module"' package.json; then
echo "✅ package.json configurado como module"
else
echo "🔧 Corrigiendo package.json..."
# Crear un package.json corregido
cat > package.json << 'EOF'
{
"name": "treepod-financial-mcp",
"version": "1.0.0",
"description": "Agente Financiero MCP para TreePod Glamping",
"main": "index.js",
"type": "module",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"@modelcontextprotocol/sdk": "^1.0.0",
"zod": "^3.22.4"
}
}
EOF
echo "✅ package.json corregido"
fi
# Verificar index.js
echo "🔍 Verificando index.js..."
if [ ! -f "index.js" ] || [ ! -s "index.js" ]; then
echo "🔧 Recreando index.js..."
cat > index.js << 'EOF'
#!/usr/bin/env node
/**
* 🏕️ TreePod Glamping - Agente Financiero MCP
* Punto de entrada principal
*/
import './server.js';
EOF
chmod +x index.js
echo "✅ index.js recreado"
fi
# Verificar server.js existe y tiene contenido
if [ ! -f "server.js" ] || [ ! -s "server.js" ]; then
echo "❌ server.js faltante o vacío"
echo "🔧 Este archivo es crítico - verificando..."
exit 1
else
echo "✅ server.js presente"
fi
echo ""
echo "🔧 PASO 4: Configurar permisos..."
chmod +x index.js
chmod +x server.js
chmod 644 package.json
echo "✅ Permisos configurados"
echo ""
echo "🧪 PASO 5: Probar servidor..."
echo "Iniciando prueba del servidor MCP..."
# Probar el servidor con timeout manual
node index.js &
PID=$!
sleep 3
if ps -p $PID > /dev/null 2>&1; then
echo "✅ Servidor se inicia correctamente"
kill $PID 2>/dev/null
wait $PID 2>/dev/null
SERVER_OK=true
else
echo "❌ Problema al iniciar servidor"
SERVER_OK=false
fi
echo ""
echo "🔧 PASO 6: Verificar configuración Claude..."
CONFIG_FILE="$HOME/Library/Application Support/Claude/claude_desktop_config.json"
if [ ! -f "$CONFIG_FILE" ]; then
echo "🔧 Creando configuración de Claude..."
mkdir -p "$HOME/Library/Application Support/Claude"
fi
# Recrear configuración limpia
echo "🔧 Actualizando configuración de Claude..."
cat > "$CONFIG_FILE" << 'EOF'
{
"mcpServers": {
"treepod-financial": {
"command": "node",
"args": ["/Users/janetsepulvedacorrea/Desktop/AGENTES/treepod-financial-mcp/index.js"],
"env": {}
}
}
}
EOF
echo "✅ Configuración de Claude actualizada"
echo ""
echo "🔧 PASO 7: Problemas específicos detectados..."
# Verificar problemas comunes en logs si existen
if [ -d "$HOME/Library/Logs/Claude" ]; then
echo "🔍 Revisando logs recientes..."
# Buscar errores comunes
if find "$HOME/Library/Logs/Claude" -name "*.log" -mtime -1 -exec grep -l "ENOENT\|permission denied\|cannot find module" {} \; 2>/dev/null | head -1 > /dev/null; then
echo "🔧 Detectado: Errores de archivos/permisos"
echo " - Verificando rutas absolutas..."
CURRENT_PATH=$(pwd)
EXPECTED_PATH="/Users/janetsepulvedacorrea/Desktop/AGENTES/treepod-financial-mcp"
if [ "$CURRENT_PATH" != "$EXPECTED_PATH" ]; then
echo " ⚠️ Problema de ruta detectado"
echo " Actual: $CURRENT_PATH"
echo " Esperada: $EXPECTED_PATH"
else
echo " ✅ Rutas correctas"
fi
fi
if find "$HOME/Library/Logs/Claude" -name "*.log" -mtime -1 -exec grep -l "module\|import" {} \; 2>/dev/null | head -1 > /dev/null; then
echo "🔧 Detectado: Problemas de importación ES modules"
echo " - package.json configurado como module ✅"
echo " - Verificando imports en archivos..."
fi
fi
echo ""
echo "📋 RESUMEN DE CORRECCIONES"
echo "=========================="
echo "✅ Procesos limpiados"
echo "✅ Dependencias reinstaladas"
echo "✅ package.json configurado"
echo "✅ Permisos corregidos"
echo "✅ Configuración Claude actualizada"
if [ "$SERVER_OK" = true ]; then
echo "✅ Servidor funciona correctamente"
else
echo "⚠️ Servidor necesita revisión adicional"
fi
echo ""
echo "🚀 PASOS FINALES PARA ACTIVAR"
echo "============================="
echo "1. Cierra Claude Desktop COMPLETAMENTE (⌘+Q)"
echo "2. Espera 10 segundos"
echo "3. Ejecuta: killall Claude"
echo "4. Abre Claude Desktop"
echo "5. Ve a configuración de conectores"
echo "6. Busca 'treepod-financial'"
echo "7. Debería aparecer con toggle para activar"
echo ""
if [ "$SERVER_OK" = true ]; then
echo "🎉 ¡Todo debería funcionar ahora!"
else
echo "⚠️ Si sigue sin funcionar:"
echo " - Ejecuta: ./analyze-logs.sh"
echo " - Comparte la salida para diagnóstico específico"
fi
echo ""
echo "✅ Corrección completada"