Debugger MCP Server

Una herramienta de desarrollo para depuración en tiempo real, monitoreo de calidad de código e información de IA para aplicaciones React/Next.js.

Documentación

Debugger MCP Server

Una herramienta de desarrollo integral que proporciona depuración en tiempo real, monitoreo de calidad de código e información mejorada con IA para aplicaciones React/Next.js mediante el Model Context Protocol (MCP).

🚀 Características

Depuración Tradicional

  • Captura de Errores: Errores capturados/no capturados, errores de consola, rechazos de promesas
  • Integración con Chrome DevTools: Capacidades completas de depuración de navegador mediante Puppeteer
  • Gestión de Puntos de Interrupción: Establecer, eliminar y gestionar puntos de interrupción con análisis
  • Puntos de Interrupción Condicionales: Condiciones avanzadas de puntos de interrupción y seguimiento de conteo de aciertos
  • Logpoints: Depuración no intrusiva con mensajes de registro dinámicos
  • Monitoreo de Red: Seguimiento de llamadas API, solicitudes fallidas y rendimiento
  • Transmisión en Tiempo Real: Datos de errores y rendimiento en vivo

Monitoreo de Calidad de Código

  • Análisis de Complejidad: Complejidad ciclomática, métricas de funciones, profundidad de anidamiento
  • Aplicación de Reglas: Reglas estilo ESLint sin ejecutar herramientas separadas
  • Detección de Patrones: Convenciones de nomenclatura, patrones de importación, cumplimiento de arquitectura
  • Vigilancia de Archivos: Análisis en tiempo real de cambios de código

Específico de React/Next.js

  • Análisis de Componentes: Seguimiento de estado, detección de prop drilling
  • Monitoreo de Hooks: Dependencias de useEffect, cumplimiento de reglas de hooks
  • Información de Rendimiento: Tiempos de renderizado, análisis de bundle, monitoreo de SSR
  • Integración de Compilación: Retroalimentación en tiempo real durante el desarrollo

📦 Instalación

# Clone the repository
git clone <repository-url>
cd debugger-mcp

# Install dependencies
npm install

# Build the project
npm run build

🎯 Inicio Rápido

1. Iniciar el Servidor MCP

# Development mode (with hot reload)
npm run dev

# Production mode
npm start

2. Conectar a Claude Desktop

Agrega esto a tu configuración MCP de Claude Desktop:

{
  "mcpServers": {
    "debugger": {
      "command": "node",
      "args": ["/path/to/debugger-mcp/dist/index.js"],
      "env": {}
    }
  }
}

3. Probar la Conexión

En Claude Desktop, prueba estos comandos:

# Get current debugging session info
Use the get-debug-session tool

# Check for errors
Use the get-errors tool

# Analyze code complexity
Use the analyze-complexity tool with filePath: "src/components/MyComponent.tsx"

🛠 Herramientas MCP Disponibles

HerramientaDescripciónParámetros
get-debug-sessionObtener información de la sesión de depuración actualNinguno
get-errorsObtener errores y excepciones actualesseverity?, timeframe?
get-violationsObtener violaciones de reglas de calidad de códigoseverity?, filePath?
analyze-complexityAnalizar métricas de complejidad de un archivofilePath
get-performanceObtener métricas e información de rendimientotimeframe?
manage-breakpointsEstablecer, eliminar y gestionar puntos de interrupción de depuraciónaction, location?, options?, breakpointId?, active?
update-configActualizar configuración del depuradorconfig

📡 Recursos MCP Disponibles

RecursoDescripciónURI
Flujo de ErroresFlujo de errores en tiempo realstream://errors
Flujo de ViolacionesViolaciones de calidad de código en tiempo realstream://violations
Flujo de RendimientoMétricas de rendimiento en tiempo realstream://performance

🔍 Gestión de Puntos de Interrupción

El depurador proporciona capacidades completas de gestión de puntos de interrupción a través de la herramienta manage-breakpoints:

Establecer Puntos de Interrupción

# Set a simple breakpoint
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/components/App.tsx", "lineNumber": 25 }

# Set a conditional breakpoint
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/utils/api.ts", "lineNumber": 15 }
- options: { "condition": "response.status >= 400" }

# Set a logpoint (non-intrusive debugging)
Use the manage-breakpoints tool with:
- action: "set"
- location: { "filePath": "src/hooks/useAuth.ts", "lineNumber": 30 }
- options: { "logMessage": "User login attempt: ${user.email}" }

Gestionar Puntos de Interrupción

# List all breakpoints
Use the manage-breakpoints tool with action: "list"

# Remove a specific breakpoint
Use the manage-breakpoints tool with:
- action: "remove"
- breakpointId: "bp-123"

# Clear all breakpoints
Use the manage-breakpoints tool with action: "clear"

# Toggle breakpoints on/off
Use the manage-breakpoints tool with:
- action: "toggle"
- active: false

Análisis de Puntos de Interrupción

# Get breakpoint analytics and hit statistics
Use the manage-breakpoints tool with action: "analytics"

Esto proporciona información detallada sobre:

  • Total de puntos de interrupción y conteos de aciertos
  • Puntos de interrupción más frecuentemente alcanzados
  • Estadísticas de aciertos por archivo y tiempo
  • Actividad reciente de puntos de interrupción

⚙️ Configuración

El depurador crea un archivo de configuración .debugger-mcp.json con estas opciones:

{
  "complexity": {
    "maxFileLines": 300,
    "maxFunctionComplexity": 10,
    "maxFunctionParams": 5,
    "maxNestingDepth": 4
  },
  "patterns": {
    "namingConventions": {
      "components": "^[A-Z][a-zA-Z0-9]*$",
      "hooks": "^use[A-Z][a-zA-Z0-9]*$"
    }
  },
  "watching": {
    "paths": ["src", "pages", "components"],
    "ignored": ["node_modules", ".git", "dist"]
  },
  "browser": {
    "autoConnect": true,
    "port": 9222
  },
  "breakpoints": {
    "maxRecentHits": 100,
    "autoRemoveAfterHits": null,
    "enableAnalytics": true,
    "persistBreakpoints": true,
    "logpointTimeout": 5000,
    "enableConditionalBreakpoints": true,
    "enableLogpoints": true
  }
}

🔧 Desarrollo

# Run in development mode
npm run dev

# Build the project
npm run build

# Run tests
npm test

# Lint code
npm run lint

# Format code
npm run format

📋 Arquitectura

┌─────────────────────────────────────────────────────────┐
│                 Debugger MCP Server                     │
├─────────────────────────────────────────────────────────┤
│  MCP Interface                                          │
│  • Tools for querying data   │  • SSE streaming         │
│  • Configuration management  │  • Real-time updates     │
├─────────────────────────────────────────────────────────┤
│  Core Debugging Engine                                  │
│  • Chrome DevTools Protocol  │  • File System Watcher   │
│  • Code Quality Analysis     │  • Performance Monitor   │
│  • Error Tracking           │  • Stream Management     │
├─────────────────────────────────────────────────────────┤
│  Real-time Communication                               │
│  • Live error streaming     │  • Configuration updates │
│  • Performance metrics      │  • Code quality alerts   │
└─────────────────────────────────────────────────────────┘

🎯 Casos de Uso

Durante el Desarrollo

  • Retroalimentación en tiempo real sobre la calidad del código mientras escribes
  • Detección inmediata de errores sin esperar compilaciones
  • Monitoreo de rendimiento de tus componentes React
  • Verificación de cumplimiento de arquitectura

Revisión de Código

  • Análisis de complejidad de archivos modificados
  • Verificación de cumplimiento de patrones
  • Evaluación de impacto en el rendimiento

Depuración

  • Seguimiento de errores en vivo entre navegador y compilación
  • Monitoreo de solicitudes de red
  • Inspección de estado de componentes
  • Identificación de cuellos de botella de rendimiento

🤝 Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Agrega pruebas
  5. Envía una solicitud de extracción (pull request)

📄 Licencia

Licencia MIT: consulta el archivo LICENSE para obtener más detalles

🆘 Soporte

  • Problemas: Reporta errores y solicitudes de funciones en GitHub
  • Documentación: Consulta el directorio docs/ para guías detalladas
  • Ejemplos: Consulta el directorio examples/ para ejemplos de uso

Construido con ❤️ para la comunidad de desarrollo de React/Next.js