DevTools Debugger MCP
Expõe capacidades completas de depuração do Protocolo Chrome DevTools, incluindo breakpoints, pilhas de chamadas e source maps.
Documentação
Node.js Debugger MCP
Um servidor MCP que fornece recursos abrangentes de depuração Node.js usando o Chrome DevTools Protocol. Este servidor permite que assistentes de IA depurem aplicações Node.js com acesso completo a breakpoints, execução passo a passo, inspeção de variáveis, pilhas de chamadas, avaliação de expressões e source maps.
Por que usar este servidor MCP?
Este servidor MCP é útil quando você precisa de assistência de IA para depurar aplicações Node.js. Ele fornece acesso programático a todos os recursos de depuração que você encontraria no Chrome DevTools ou VS Code, permitindo que assistentes de IA ajudem você a definir breakpoints, inspecionar variáveis, percorrer o código e analisar o comportamento em tempo de execução.
Recursos
- Depurador Node.js completo: Defina breakpoints, breakpoints condicionais, logpoints e pausa em exceções
- Controles de execução passo a passo: Pular sobre/entrar/sair, continuar até o local, reiniciar frame
- Inspeção de variáveis: Explore escopos locais/fechamentos, pré-visualização de
thise aprofunde-se nas propriedades de objetos - Avaliação de expressões: Avalie expressões JavaScript no frame de chamada atual com captura de saída do console
- Análise de pilha de chamadas: Inspecione pilhas de chamadas e informações de estado de pausa
- Suporte a source maps: Depure TypeScript e outros código transpilado com suporte completo a source maps
- Monitoramento de console: Capture e revise a saída do console durante sessões de depuração
Instalação
npm install devtools-debugger-mcp
Configuração
Adicione o servidor à sua configuração de configurações MCP:
{
"devtools-debugger-mcp": {
"command": "node",
"args": ["path/to/devtools-debugger-mcp/dist/index.js"]
}
}
Alternativamente, se instalado globalmente, você pode usar o binário CLI:
{
"devtools-debugger-mcp": {
"command": "devtools-debugger-mcp"
}
}
Depuração Node.js
Este servidor MCP pode depurar programas Node.js iniciando seu script com o inspetor integrado (--inspect-brk=0) e falando o Chrome DevTools Protocol (CDP).
Como funciona
start_node_debuginicianode --inspect-brk=0 your-script.js, aguarda o WebSocket do inspetor, anexa e retorna a pausa inicial (primeira linha) com umpauseIde o frame de chamada superior.- Você pode então definir breakpoints (por caminho de arquivo ou regex de URL), escolher pausa em exceções e retomar/executar passo a passo. Em cada pausa, as ferramentas podem inspecionar escopos, avaliar expressões e ler a saída do console capturada desde o último passo/retomada.
- Quando o processo sai, o servidor limpa a sessão CDP e redefine seu estado.
Início rápido (a partir de um cliente habilitado para MCP)
- Inicie uma sessão de depuração
{ "tool": "start_node_debug", "params": { "scriptPath": "/absolute/path/to/app.js" } }
- Defina um breakpoint (caminho do arquivo + linha baseada em 1)
{ "tool": "set_breakpoint", "params": { "filePath": "/absolute/path/to/app.js", "line": 42 } }
- Execute até a próxima pausa (opcionalmente inclua console/pilha)
{ "tool": "resume_execution", "params": { "includeConsole": true, "includeStack": true } }
- Inspecione em uma pausa
{ "tool": "inspect_scopes", "params": { "maxProps": 15 } }
{ "tool": "evaluate_expression", "params": { "expr": "user.name" } }
- Execute passo a passo
{ "tool": "step_over" }
{ "tool": "step_into" }
{ "tool": "step_out" }
- Finalize
{ "tool": "stop_debug_session" }
Referência de ferramentas Node.js (resumo)
start_node_debug({ scriptPath, format? })— Inicia Node com inspetor e retorna a pausa inicial.set_breakpoint({ filePath, line })— Breakpoint por caminho de arquivo (linha baseada em 1).set_breakpoint_condition({ filePath?, urlRegex?, line, column?, condition, format? })— Breakpoint condicional ou por regex de URL.add_logpoint({ filePath?, urlRegex?, line, column?, message, format? })— Logpoint via breakpoint condicional que registra e retornafalse.set_exception_breakpoints({ state })—none | uncaught | all.blackbox_scripts({ patterns })— Ignora frames de URLs de script correspondentes.list_scripts()/get_script_source({ scriptId? | url? })— Descubra e busque fontes de script.continue_to_location({ filePath, line, column? })— Execute até um local de origem específico.restart_frame({ frameIndex, pauseId?, format? })— Re-execute o frame selecionado.resume_execution({ includeScopes?, includeStack?, includeConsole?, format? })— Continue até a próxima pausa ou saída.step_over|step_into|step_out({ includeScopes?, includeStack?, includeConsole?, format? })— Execução passo a passo com contexto opcional no resultado.evaluate_expression({ expr, pauseId?, frameIndex?, returnByValue?, format? })— Avalie em um frame pausado; o padrão é o frame superior.inspect_scopes({ maxProps?, pauseId?, frameIndex?, includeThisPreview?, format? })— Locais/fechamentos e resumo dethis.get_object_properties({ objectId, maxProps?, format? })— Aprofunde-se nas pré-visualizações de objetos.list_call_stack({ depth?, pauseId?, includeThis?, format? })— Resumo dos N frames superiores.get_pause_info({ pauseId?, format? })— Resumo do motivo/local da pausa.read_console({ format? })— Mensagens do console desde o último passo/retomada.stop_debug_session()— Encerre o processo e desconecte.
Notas
- Os caminhos de arquivo são convertidos em URLs
file://internamente para compatibilidade com CDP. lineé baseado em 1; CDP é baseado em 0 internamente.- O servidor armazena em buffer a saída do console entre pausas; busque via
includeConsoleno passo/retomada ou comread_console. - Use
set_output_format({ format: 'text' | 'json' | 'both' })para definir a formatação padrão de resposta.
Ferramentas Disponíveis
Este servidor MCP fornece as seguintes ferramentas de depuração Node.js. Todas as ferramentas suportam o parâmetro opcional format ('text' ou 'json') para controlar a formatação da resposta.
Gerenciamento de Sessão
start_node_debug- Inicie um script Node.js com depuração habilitadastop_debug_session- Encerre a sessão de depuração e limpe
Gerenciamento de Breakpoints
set_breakpoint- Defina um breakpoint em um arquivo e linha específicosset_breakpoint_condition- Defina um breakpoint condicional ou breakpoint por regex de URLadd_logpoint- Adicione um logpoint que registra mensagens quando atingidoset_exception_breakpoints- Configure o comportamento de pausa em exceção
Controle de Execução
resume_execution- Continue a execução até o próximo breakpoint ou conclusãostep_over- Pule sobre a linha atualstep_into- Entre em chamadas de funçãostep_out- Saia da função atualcontinue_to_location- Execute até atingir um local específicorestart_frame- Reinicie a execução a partir de um frame de chamada específico
Inspeção e Análise
inspect_scopes- Examine variáveis locais, fechamentos e contexto dethisevaluate_expression- Avalie expressões JavaScript no contexto atualget_object_properties- Aprofunde-se nas propriedades de objetoslist_call_stack- Veja a pilha de chamadas atualget_pause_info- Obtenha informações sobre o estado de pausa atual
Utilitários
list_scripts- Liste todos os scripts carregadosget_script_source- Recupere o código-fonte dos scriptsblackbox_scripts- Configure scripts para pular durante a depuraçãoread_console- Leia a saída do console capturada durante a depuração
Para exemplos detalhados de uso e descrições de parâmetros, consulte a seção "Depuração Node.js" acima.
Licença
MIT