fix-treepod-mcp.sh•4.34 kB
#!/bin/bash
echo "🏕️ ACTIVANDO TREEPOD FINANCIAL MCP"
echo "=================================="
# Variables
PROJECT_PATH="/Users/janetsepulvedacorrea/Desktop/AGENTES/treepod-financial-mcp"
CONFIG_PATH="$HOME/Library/Application Support/Claude/claude_desktop_config.json"
NODE_PATH="/opt/homebrew/bin/node"
# Si no existe homebrew node, usar el del sistema
if [ ! -f "$NODE_PATH" ]; then
NODE_PATH="$(which node)"
fi
echo "📍 Directorio del proyecto: $PROJECT_PATH"
echo "📍 Configuración Claude: $CONFIG_PATH"
echo "📍 Node.js ubicación: $NODE_PATH"
# Paso 1: Verificar proyecto
echo ""
echo "🔍 PASO 1: Verificando proyecto TreePod MCP"
cd "$PROJECT_PATH"
if [ ! -f "server.js" ]; then
echo "❌ ERROR: server.js no encontrado"
exit 1
fi
if [ ! -f "package.json" ]; then
echo "❌ ERROR: package.json no encontrado"
exit 1
fi
echo "✅ Archivos del proyecto encontrados"
# Paso 2: Verificar dependencias
echo ""
echo "🔍 PASO 2: Verificando dependencias"
if [ ! -d "node_modules" ]; then
echo "⚠️ node_modules no existe, instalando dependencias..."
npm install
fi
if [ ! -d "node_modules/@modelcontextprotocol" ]; then
echo "⚠️ MCP SDK no encontrado, instalando..."
npm install @modelcontextprotocol/sdk
fi
echo "✅ Dependencias verificadas"
# Paso 3: Probar servidor
echo ""
echo "🔍 PASO 3: Probando servidor MCP"
# Usar gtimeout en macOS o crear un timeout manual
if command -v gtimeout >/dev/null 2>&1; then
gtimeout 5s node server.js 2>&1 | head -5 > /tmp/mcp_test.log
elif command -v timeout >/dev/null 2>&1; then
timeout 5s node server.js 2>&1 | head -5 > /tmp/mcp_test.log
else
# Timeout manual para macOS
node server.js 2>&1 | head -5 > /tmp/mcp_test.log &
PID=$!
sleep 3
kill $PID 2>/dev/null || true
wait $PID 2>/dev/null || true
fi
if grep -q "TreePod Financial Agent MCP iniciado" /tmp/mcp_test.log; then
echo "✅ Servidor MCP funciona correctamente"
else
echo "⚠️ PROBANDO SERVIDOR MANUALMENTE..."
echo "Ejecutando: node server.js (presiona Ctrl+C después de 3 segundos)"
echo "Debería aparecer: '🏕️ TreePod Financial Agent MCP iniciado y listo para consultas'"
echo ""
node server.js &
SERVER_PID=$!
sleep 3
kill $SERVER_PID 2>/dev/null || true
wait $SERVER_PID 2>/dev/null || true
echo ""
echo "✅ Si viste el mensaje de inicio, el servidor funciona correctamente"
fi
# Paso 4: Configurar Claude Desktop
echo ""
echo "🔍 PASO 4: Configurando Claude Desktop"
# Crear directorio si no existe
mkdir -p "$(dirname "$CONFIG_PATH")"
# Crear backup si existe configuración
if [ -f "$CONFIG_PATH" ]; then
echo "💾 Creando backup de configuración existente..."
cp "$CONFIG_PATH" "$CONFIG_PATH.backup.$(date +%Y%m%d_%H%M%S)"
fi
# Crear nueva configuración
echo "📝 Creando nueva configuración..."
cat > "$CONFIG_PATH" << EOF
{
"mcpServers": {
"treepod-financial-mcp": {
"command": "$NODE_PATH",
"args": ["server.js"],
"cwd": "$PROJECT_PATH",
"env": {
"NODE_ENV": "production"
}
}
}
}
EOF
echo "✅ Configuración de Claude Desktop actualizada"
# Paso 5: Verificar configuración
echo ""
echo "🔍 PASO 5: Verificando configuración final"
echo "📄 Configuración actual:"
cat "$CONFIG_PATH"
# Paso 6: Reiniciar Claude Desktop
echo ""
echo "🔍 PASO 6: Reiniciando Claude Desktop"
echo "🔄 Cerrando Claude Desktop..."
killall "Claude Desktop" 2>/dev/null || true
sleep 2
echo "🔄 Limpiando caché..."
rm -rf "$HOME/Library/Caches/com.anthropic.Claude" 2>/dev/null || true
echo "🚀 Abriendo Claude Desktop..."
open -a "Claude Desktop" 2>/dev/null || true
echo ""
echo "🎉 CONFIGURACIÓN COMPLETADA"
echo "=========================="
echo ""
echo "✅ TreePod Financial MCP está configurado y listo"
echo "✅ Claude Desktop se ha reiniciado"
echo ""
echo "📋 SIGUIENTE PASO:"
echo "1. Espera que Claude Desktop se abra completamente"
echo "2. Verifica que no aparezcan errores de conexión MCP"
echo "3. Prueba preguntando: '¿Cuál es el estado financiero de TreePod?'"
echo ""
echo "🔧 Si hay problemas:"
echo "• Revisa la configuración en Claude Desktop > Settings > MCP"
echo "• Verifica que no haya errores en los logs"
echo "• Ejecuta este script nuevamente"