Debugger MCP Server

Uma ferramenta de desenvolvimento para depuração em tempo real, monitoramento de qualidade de código e insights de IA para aplicações React/Next.js.

Documentação

Debugger MCP Server

Uma ferramenta abrangente de companhia para desenvolvimento que fornece depuração em tempo real, monitoramento de qualidade de código e insights aprimorados por IA para aplicações React/Next.js via Model Context Protocol (MCP).

🚀 Recursos

Depuração Tradicional

  • Captura de Erros: Erros capturados/não capturados, erros de console, rejeições de promessas
  • Integração com Chrome DevTools: Capacidades completas de depuração de navegador via Puppeteer
  • Gerenciamento de Breakpoints: Definir, remover e gerenciar breakpoints com análises
  • Breakpoints Condicionais: Condições avançadas de breakpoint e rastreamento de contagem de acertos
  • Logpoints: Depuração não intrusiva com mensagens de log dinâmicas
  • Monitoramento de Rede: Rastrear chamadas de API, requisições com falha, desempenho
  • Streaming em Tempo Real: Dados de erros e desempenho ao vivo

Monitoramento de Qualidade de Código

  • Análise de Complexidade: Complexidade ciclomática, métricas de funções, profundidade de aninhamento
  • Aplicação de Regras: Regras estilo ESLint sem executar ferramentas separadas
  • Detecção de Padrões: Convenções de nomenclatura, padrões de importação, conformidade arquitetural
  • Observação de Arquivos: Análise em tempo real em mudanças de código

Específico para React/Next.js

  • Análise de Componentes: Rastreamento de estado, detecção de prop drilling
  • Monitoramento de Hooks: Dependências de useEffect, conformidade com regras de hooks
  • Insights de Desempenho: Tempos de renderização, análise de bundle, monitoramento de SSR
  • Integração com Build: Feedback em tempo real durante o desenvolvimento

📦 Instalação

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

# Install dependencies
npm install

# Build the project
npm run build

🎯 Início Rápido

1. Inicie o Servidor MCP

# Development mode (with hot reload)
npm run dev

# Production mode
npm start

2. Conecte ao Claude Desktop

Adicione isto à configuração MCP do seu Claude Desktop:

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

3. Teste a Conexão

No Claude Desktop, tente estes 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"

🛠 Ferramentas MCP Disponíveis

FerramentaDescriçãoParâmetros
get-debug-sessionObter informações da sessão de depuração atualNenhum
get-errorsObter erros e exceções atuaisseverity?, timeframe?
get-violationsObter violações de regras de qualidade de códigoseverity?, filePath?
analyze-complexityAnalisar métricas de complexidade de um arquivofilePath
get-performanceObter métricas e insights de desempenhotimeframe?
manage-breakpointsDefinir, remover e gerenciar breakpoints de depuraçãoaction, location?, options?, breakpointId?, active?
update-configAtualizar configuração do depuradorconfig

📡 Recursos MCP Disponíveis

RecursoDescriçãoURI
Stream de ErrosStream em tempo real de errosstream://errors
Stream de ViolaçõesViolações de qualidade de código em tempo realstream://violations
Stream de DesempenhoMétricas de desempenho em tempo realstream://performance

🔍 Gerenciamento de Breakpoints

O depurador fornece capacidades abrangentes de gerenciamento de breakpoints através da ferramenta manage-breakpoints:

Definindo Breakpoints

# 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}" }

Gerenciando Breakpoints

# 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álises de Breakpoints

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

Isso fornece informações detalhadas sobre:

  • Total de breakpoints e contagens de acertos
  • Breakpoints mais frequentemente atingidos
  • Estatísticas de acertos por arquivo e tempo
  • Atividade recente de breakpoints

⚙️ Configuração

O depurador cria um arquivo de configuração .debugger-mcp.json com estas opções:

{
  "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
  }
}

🔧 Desenvolvimento

# 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

📋 Arquitetura

┌─────────────────────────────────────────────────────────┐
│                 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 o Desenvolvimento

  • Feedback em tempo real sobre qualidade de código enquanto você digita
  • Detecção imediata de erros sem esperar por builds
  • Monitoramento de desempenho dos seus componentes React
  • Verificação de conformidade arquitetural

Revisão de Código

  • Análise de complexidade de arquivos alterados
  • Verificação de conformidade de padrões
  • Avaliação de impacto no desempenho

Depuração

  • Rastreamento de erros ao vivo entre navegador e build
  • Monitoramento de requisições de rede
  • Inspeção de estado de componentes
  • Identificação de gargalos de desempenho

🤝 Contribuindo

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade
  3. Faça suas alterações
  4. Adicione testes
  5. Envie um pull request

📄 Licença

Licença MIT - veja o arquivo LICENSE para detalhes

🆘 Suporte

  • Issues: Reporte bugs e solicitações de recursos no GitHub
  • Documentação: Consulte o diretório docs/ para guias detalhados
  • Exemplos: Veja o diretório examples/ para exemplos de uso

Feito com ❤️ para a comunidade de desenvolvimento React/Next.js