Files
seguidorDeLotes/setup-chrome-mcp.sh
josedario87 654b5ae3f7
Some checks failed
build-and-deploy / build (push) Failing after 15s
build-and-deploy / deploy (push) Has been cancelled
Configurar repo seguidorDeLotes desde plantilla
- Actualizar hook de monitoreo para repo seguidorDeLotes
- Actualizar README con nombre y descripción del proyecto
- Agregar scripts de Chrome MCP y documentación
2025-11-21 13:48:21 -06:00

137 lines
3.9 KiB
Bash
Executable File

#!/bin/bash
# Script de configuración automática de Chrome DevTools MCP
PROJECT_NAME=$(basename $(pwd))
CHROME_PORT=$((9222 + $(echo $PROJECT_NAME | cksum | cut -d' ' -f1) % 100))
CLAUDE_CONFIG_DIR="$HOME/.config/claudecode"
CLAUDE_CONFIG_FILE="$CLAUDE_CONFIG_DIR/mcp.json"
echo "======================================"
echo "Configuración de Chrome DevTools MCP"
echo "Proyecto: $PROJECT_NAME"
echo "Puerto: $CHROME_PORT"
echo "======================================"
echo ""
# Crear directorio de configuración si no existe
if [ ! -d "$CLAUDE_CONFIG_DIR" ]; then
echo "Creando directorio de configuración de Claude Code..."
mkdir -p "$CLAUDE_CONFIG_DIR"
fi
# Función para crear configuración nueva
create_new_config() {
cat > "$CLAUDE_CONFIG_FILE" << EOF
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
"--browserUrl=http://localhost:${CHROME_PORT}",
"--isolated"
]
}
}
}
EOF
echo "✓ Configuración creada exitosamente"
}
# Función para actualizar configuración existente
update_existing_config() {
# Hacer backup
cp "$CLAUDE_CONFIG_FILE" "$CLAUDE_CONFIG_FILE.backup"
echo "✓ Backup creado: $CLAUDE_CONFIG_FILE.backup"
# Usar jq para actualizar si está disponible
if command -v jq &> /dev/null; then
jq ".mcpServers[\"chrome-devtools\"].args = [\"chrome-devtools-mcp@latest\", \"--browserUrl=http://localhost:${CHROME_PORT}\", \"--isolated\"]" \
"$CLAUDE_CONFIG_FILE.backup" > "$CLAUDE_CONFIG_FILE"
echo "✓ Configuración actualizada con jq"
else
echo "⚠ jq no está instalado. Mostrando configuración manual..."
echo ""
echo "Por favor, editá manualmente $CLAUDE_CONFIG_FILE"
echo "y cambiá el --browserUrl a: http://localhost:${CHROME_PORT}"
echo "y agregá --isolated como tercer argumento"
echo ""
echo "O instalá jq: sudo apt install jq"
return 1
fi
}
# Verificar si existe config.json
if [ -f "$CLAUDE_CONFIG_FILE" ]; then
echo "Archivo de configuración existente encontrado."
echo "Opciones:"
echo " 1) Actualizar configuración existente (recomendado)"
echo " 2) Sobrescribir con nueva configuración"
echo " 3) Mostrar configuración manual"
echo " 4) Cancelar"
echo ""
read -p "Seleccioná una opción (1-4): " option
case $option in
1)
update_existing_config
;;
2)
echo "⚠ Esto sobrescribirá toda tu configuración actual."
read -p "¿Estás seguro? (s/N): " confirm
if [[ $confirm =~ ^[Ss]$ ]]; then
create_new_config
else
echo "Operación cancelada"
exit 0
fi
;;
3)
echo ""
echo "Configuración manual:"
echo "1. Editá: $CLAUDE_CONFIG_FILE"
echo "2. Agregá o modificá la sección mcpServers:"
echo ""
cat << 'EOF'
{
"mcpServers": {
"chrome-devtools": {
"command": "npx",
"args": [
"chrome-devtools-mcp@latest",
EOF
echo " \"--browserUrl=http://localhost:${CHROME_PORT}\","
cat << 'EOF'
"--isolated"
]
}
}
}
EOF
exit 0
;;
4)
echo "Operación cancelada"
exit 0
;;
*)
echo "Opción inválida"
exit 1
;;
esac
else
echo "No se encontró configuración existente. Creando nueva..."
create_new_config
fi
echo ""
echo "======================================"
echo "✓ Configuración completada"
echo "======================================"
echo ""
echo "Próximos pasos:"
echo "1. Iniciá el navegador: ./start-browser.sh"
echo "2. Reiniciá Claude Code para aplicar cambios"
echo ""
echo "Ver documentación completa: .claude/CHROME_SETUP.md"