DevTools Debugger MCP
Expone todas las capacidades de depuración del Protocolo Chrome DevTools, incluidos puntos de interrupción, pilas de llamadas y mapas de origen.
Documentación
Node.js Debugger MCP
Un servidor MCP que proporciona capacidades integrales de depuración de Node.js mediante el Protocolo de DevTools de Chrome. Este servidor permite a los asistentes de IA depurar aplicaciones Node.js con acceso completo a puntos de interrupción, ejecución paso a paso, inspección de variables, pilas de llamadas, evaluación de expresiones y mapas de origen.
¿Por qué usar este servidor MCP?
Este servidor MCP es útil cuando necesitas asistencia de IA para depurar aplicaciones Node.js. Proporciona acceso programático a todas las funciones de depuración que encontrarías en Chrome DevTools o VS Code, permitiendo a los asistentes de IA ayudarte a establecer puntos de interrupción, inspeccionar variables, recorrer el código paso a paso y analizar el comportamiento en tiempo de ejecución.
Características
- Depurador completo de Node.js: Establece puntos de interrupción, puntos de interrupción condicionales, logpoints y pausa en excepciones
- Controles de ejecución paso a paso: Saltar por encima/hacia dentro/hacia fuera, continuar hasta una ubicación, reiniciar marco
- Inspección de variables: Explora ámbitos locales/cierre, vista previa de
thisy profundiza en las propiedades de los objetos - Evaluación de expresiones: Evalúa expresiones JavaScript en el marco de llamada actual con captura de salida de consola
- Análisis de pila de llamadas: Inspecciona pilas de llamadas e información del estado de pausa
- Soporte de mapas de origen: Depura TypeScript y otro código transpilado con soporte completo de mapas de origen
- Monitoreo de consola: Captura y revisa la salida de consola durante las sesiones de depuración
Instalación
npm install devtools-debugger-mcp
Configuración
Añade el servidor a tu configuración de ajustes MCP:
{
"devtools-debugger-mcp": {
"command": "node",
"args": ["path/to/devtools-debugger-mcp/dist/index.js"]
}
}
Alternativamente, si está instalado globalmente, puedes usar el binario CLI:
{
"devtools-debugger-mcp": {
"command": "devtools-debugger-mcp"
}
}
Depuración de Node.js
Este servidor MCP puede depurar programas Node.js lanzando tu script con el inspector integrado (--inspect-brk=0) y hablando el Protocolo de DevTools de Chrome (CDP).
Cómo funciona
start_node_debuglanzanode --inspect-brk=0 your-script.js, espera el WebSocket del inspector, se conecta y devuelve la pausa inicial (primera línea) con unpauseIdy el marco de llamada superior.- Luego puedes establecer puntos de interrupción (por ruta de archivo o regex de URL), elegir pausa en excepciones y reanudar/avanzar paso a paso. En cada pausa, las herramientas pueden inspeccionar ámbitos, evaluar expresiones y leer la salida de consola capturada desde el último paso/reanudación.
- Cuando el proceso termina, el servidor limpia la sesión CDP y restablece su estado.
Inicio rápido (desde un cliente habilitado para MCP)
- Inicia una sesión de depuración
{ "tool": "start_node_debug", "params": { "scriptPath": "/absolute/path/to/app.js" } }
- Establece un punto de interrupción (ruta de archivo + línea basada en 1)
{ "tool": "set_breakpoint", "params": { "filePath": "/absolute/path/to/app.js", "line": 42 } }
- Ejecuta hasta la siguiente pausa (opcionalmente incluye consola/pila)
{ "tool": "resume_execution", "params": { "includeConsole": true, "includeStack": true } }
- Inspecciona en una pausa
{ "tool": "inspect_scopes", "params": { "maxProps": 15 } }
{ "tool": "evaluate_expression", "params": { "expr": "user.name" } }
- Avanza paso a paso
{ "tool": "step_over" }
{ "tool": "step_into" }
{ "tool": "step_out" }
- Finaliza
{ "tool": "stop_debug_session" }
Referencia de herramientas de Node.js (resumen)
start_node_debug({ scriptPath, format? })— Lanza Node con inspector y devuelve la pausa inicial.set_breakpoint({ filePath, line })— Punto de interrupción por ruta de archivo (línea basada en 1).set_breakpoint_condition({ filePath?, urlRegex?, line, column?, condition, format? })— Punto de interrupción condicional o por regex de URL.add_logpoint({ filePath?, urlRegex?, line, column?, message, format? })— Logpoint mediante punto de interrupción condicional que registra y devuelvefalse.set_exception_breakpoints({ state })—none | uncaught | all.blackbox_scripts({ patterns })— Ignora marcos de URLs de script coincidentes.list_scripts()/get_script_source({ scriptId? | url? })— Descubre y obtiene fuentes de scripts.continue_to_location({ filePath, line, column? })— Ejecuta hasta una ubicación de origen específica.restart_frame({ frameIndex, pauseId?, format? })— Vuelve a ejecutar el marco seleccionado.resume_execution({ includeScopes?, includeStack?, includeConsole?, format? })— Continúa hasta la siguiente pausa o salida.step_over|step_into|step_out({ includeScopes?, includeStack?, includeConsole?, format? })— Ejecución paso a paso con contexto opcional en el resultado.evaluate_expression({ expr, pauseId?, frameIndex?, returnByValue?, format? })— Evalúa en un marco en pausa; por defecto el marco superior.inspect_scopes({ maxProps?, pauseId?, frameIndex?, includeThisPreview?, format? })— Resumen de locales/cierres ythis.get_object_properties({ objectId, maxProps?, format? })— Profundiza en vistas previas de objetos.list_call_stack({ depth?, pauseId?, includeThis?, format? })— Resumen de los N marcos superiores.get_pause_info({ pauseId?, format? })— Resumen de motivo/ubicación de pausa.read_console({ format? })— Mensajes de consola desde el último paso/reanudación.stop_debug_session()— Termina el proceso y se desconecta.
Notas
- Las rutas de archivo se convierten a URLs
file://internamente para compatibilidad con CDP. lineestá basado en 1; CDP está basado en 0 internamente.- El servidor almacena en búfer la salida de consola entre pausas; recupérala mediante
includeConsoleal avanzar/reanudar o conread_console. - Usa
set_output_format({ format: 'text' | 'json' | 'both' })para establecer el formato de respuesta predeterminado.
Herramientas disponibles
Este servidor MCP proporciona las siguientes herramientas de depuración de Node.js. Todas las herramientas admiten el parámetro opcional format ('text' o 'json') para controlar el formato de respuesta.
Gestión de sesión
start_node_debug- Lanza un script Node.js con depuración habilitadastop_debug_session- Termina la sesión de depuración y limpia
Gestión de puntos de interrupción
set_breakpoint- Establece un punto de interrupción en un archivo y línea específicosset_breakpoint_condition- Establece un punto de interrupción condicional o por regex de URLadd_logpoint- Añade un logpoint que registra mensajes cuando se alcanzaset_exception_breakpoints- Configura el comportamiento de pausa en excepción
Control de ejecución
resume_execution- Continúa la ejecución hasta el siguiente punto de interrupción o finalizaciónstep_over- Salta por encima de la línea actualstep_into- Entra en llamadas de funciónstep_out- Sale de la función actualcontinue_to_location- Ejecuta hasta alcanzar una ubicación específicarestart_frame- Reinicia la ejecución desde un marco de llamada específico
Inspección y análisis
inspect_scopes- Examina variables locales, cierres y contextothisevaluate_expression- Evalúa expresiones JavaScript en el contexto actualget_object_properties- Profundiza en las propiedades de los objetoslist_call_stack- Ve la pila de llamadas actualget_pause_info- Obtiene información sobre el estado de pausa actual
Utilidades
list_scripts- Lista todos los scripts cargadosget_script_source- Recupera el código fuente de los scriptsblackbox_scripts- Configura scripts para omitir durante la depuraciónread_console- Lee la salida de consola capturada durante la depuración
Para ejemplos de uso detallados y descripciones de parámetros, consulta la sección "Depuración de Node.js" anterior.
Licencia
MIT