mcp-code-sanitizer

Revisor de código AI rigoroso com tecnologia Groq. Encontra bugs, injeções SQL, segredos codificados e vulnerabilidades. Pontua o código de 0 a 100 com correções concretas.

Documentação

mcp-code-sanitizer

Revisor de código rigoroso com IA para Claude Desktop, Cursor, VS Code e Claude Code CLI. Encontra bugs, vulnerabilidades e problemas de segurança — com tecnologia Groq (API gratuita).

Python PyPI FastMCP Groq License

Claude / Cursor / VS Code  ──MCP──►  code-sanitizer  ──REST──►  Groq API
                                        (server.py)              (llama-3.3-70b)

demo


Recursos

FerramentaO que faz
analyze_codeRevisão rigorosa — bugs, problemas de segurança, pontuação de 0 a 100
compare_codeCompara duas versões, detecta regressões e recomenda merge/request_changes
explain_codeExplicação passo a passo para público júnior / pleno / sênior
generate_testsGera pytest / jest / go test — caminho feliz, casos extremos, segurança
analyze_fileAnalisa um arquivo inteiro do disco com processamento em paralelo
generate_reportGera um relatório HTML a partir de qualquer resultado de análise
cache_infoEstatísticas de cache e limpeza

Exemplo de saída

{
  "summary": "Critical SQL injection and secret exposed in logs",
  "score": 23,
  "issues": [
    {
      "severity": "critical",
      "line": 2,
      "title": "SQL Injection",
      "description": "f-string directly interpolates user_id into query",
      "fix": "cursor.execute('SELECT * FROM users WHERE id = %s', (user_id,))"
    }
  ],
  "warnings": [{"title": "No exception handling", "description": "..."}],
  "suggestions": ["Consider using an ORM instead of raw SQL"]
}

Instalação

Pré-requisito: Obtenha uma chave gratuita da API Groq em console.groq.com/keys — não é necessário cartão de crédito.

Claude Code CLI

claude mcp add code-sanitizer -e GROQ_API_KEY=gsk_your_key -- uvx mcp-code-sanitizer

Claude Desktop

SOArquivo de configuração
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json
Linux~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

Cursor

Crie .cursor/mcp.json no seu projeto (ou ~/.cursor/mcp.json globalmente):

{
  "mcpServers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

VS Code

Requer VS Code 1.99+ com GitHub Copilot. Crie .vscode/mcp.json no seu projeto:

{
  "servers": {
    "code-sanitizer": {
      "command": "uvx",
      "args": ["mcp-code-sanitizer"],
      "env": {
        "GROQ_API_KEY": "gsk_your_key_here"
      }
    }
  }
}

Ou adicione globalmente via Ctrl+Shift+P → "MCP: Add Server".

Não tem uvx? Instale com pip install uv e depois use os comandos acima.


Instalação manual (alternativa)

Se preferir clonar o repositório:

git clone https://github.com/notasandy/mcp-code-sanitizer
cd mcp-code-sanitizer
pip install -r requirements.txt
cp .env.example .env   # add your GROQ_API_KEY
python server.py

Depois aponte a configuração do cliente para:

{
  "command": "python",
  "args": ["/full/path/to/server.py"],
  "env": { "GROQ_API_KEY": "gsk_your_key_here" }
}

GitHub Action — revisão automática de PRs

Adicione revisão de código com IA a qualquer repositório em 5 linhas. A action publica um comentário estruturado em cada PR com pontuação, problemas e sugestões de correção.

# .github/workflows/ai-review.yml
name: AI Code Review
on:
  pull_request:
    types: [opened, synchronize]

permissions:
  contents: read
  pull-requests: write

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: notasandy/mcp-code-sanitizer@v1
        with:
          groq_api_key: ${{ secrets.GROQ_API_KEY }}

Adicione GROQ_API_KEY aos segredos do repositório → Settings → Secrets → Actions.

A action automaticamente:

  • Revisa apenas arquivos alterados (até 10 por PR)
  • Publica uma pontuação e uma lista estruturada de problemas como comentário no PR
  • Falha na verificação se problemas críticos forem encontrados

Uso no chat

Após conectar, basta escrever naturalmente:

Review this code for vulnerabilities:

def get_user(user_id):
    query = f"SELECT * FROM users WHERE id = {user_id}"
    return db.execute(query)

Ou chame as ferramentas explicitamente:

analyze_file /path/to/my_script.py
generate_tests for this function: ...
compare_code — before vs after refactor, did it get better?
generate_report and save to /tmp/report.html

Arquitetura

mcp-code-sanitizer/
├── server.py          # FastMCP entry point
├── config.py          # Constants — keys, limits, extension map
├── groq_client.py     # Async Groq client with auto-retry on 429
├── cache.py           # In-memory LRU cache with TTL
├── prompts.py         # System prompts for all tools
└── tools/
    ├── analyze.py     # analyze_code
    ├── compare.py     # compare_code
    ├── explain.py     # explain_code
    ├── tests.py       # generate_tests
    ├── file_tool.py   # analyze_file — chunking + parallel analysis
    ├── cache_tool.py  # cache_info
    └── report.py      # generate_report — HTML output

Configuração

Todas as configurações via .env ou variáveis de ambiente:

VariávelPadrãoDescrição
GROQ_API_KEYObrigatório. Obtenha em console.groq.com
GROQ_MODELllama-3.3-70b-versatileModelo Groq a ser usado
CACHE_TTL3600TTL do cache em segundos
CACHE_MAX200Máximo de entradas em cache

Modelos Groq disponíveis

ModeloVelocidadeQualidade
llama-3.3-70b-versatileRápidoMelhor (padrão)
llama-3.1-8b-instantMais rápidoBoa
mixtral-8x7b-32768RápidoÓtima

Contribuindo

PRs e Issues são bem-vindos. Os mais desejados:

  • Suporte a outros provedores de LLM (OpenAI, Anthropic)
  • Novas ferramentas: auditoria de dependências, pontuação de complexidade, gerador de docstrings
  • Melhorias nos prompts e suporte a novos idiomas

Licença

MIT — faça o que quiser. Uma estrela seria apreciada.


Links