go-review-mcp

Revisão de código seguindo os guias de estilo Go diretamente de fontes oficiais e recomendadas.

Documentação

Go Review MCP

Um servidor Model Context Protocol (MCP) que fornece acesso em tempo real aos guias de estilo oficiais do Go para revisão inteligente de código.

Visão Geral

O Go Review MCP busca os guias de estilo mais recentes diretamente de fontes oficiais e recomendadas:

Oficial

Recomendado

Recursos

Ferramentas

  • search_live_guide - Pesquise em todo o conteúdo dos guias de estilo do Go obtidos ao vivo por padrões específicos (busca automática dos guias no primeiro uso)
  • get_guide_topic - Extraia conteúdo específico de tópicos de todos os guias ao vivo (nomenclatura, erros, concorrência, testes, interfaces, formatação, comentários, imports, contexto)
  • get_review_guidelines - Obtenha diretrizes de revisão selecionadas para tópicos específicos

Prompts

  • review_code - Revisão abrangente de código Go
  • check_naming - Revise convenções de nomenclatura
  • check_error_handling - Revise padrões de tratamento de erros
  • check_concurrency - Revise padrões de concorrência
  • check_testing - Revise a qualidade do código de teste
  • check_interfaces - Revise o design de interfaces

Instalação

Usando go install

go install github.com/BrunoKrugel/go-review-mcp@latest

A partir do código-fonte

git clone https://github.com/BrunoKrugel/go-review-mcp.git
cd go-review-mcp
make build

Configuração

Claude Desktop

Adicione ao seu claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "go-review": {
      "command": "go-review-mcp",
      "args": []
    }
  }
}

Se instalado a partir do código-fonte, use o caminho completo para o binário:

{
  "mcpServers": {
    "go-review": {
      "command": "/path/to/go-review-mcp/bin/go-review-mcp",
      "args": []
    }
  }
}

Extensão Cursor ou VS Code

{
  "mcpServers": {
    "go-review": {
      "command": "go-review-mcp",
      "args": []
    }
  }
}

Crush

{
  "go-review-mcp": {
    "type": "stdio",
    "command": "go-review-mcp",
    "timeout": 120,
    "disabled": false
  },
}

Modo HTTP (para testes com o MCP Inspector)

# Start server in HTTP mode
go-review-mcp --transport http --port 8080

# Or with environment variable
TRANSPORT=http PORT=8080 go-review-mcp

Em seguida, use o MCP Inspector para testar:

npx @modelcontextprotocol/inspector http://localhost:8080/mcp

Uso

Fluxo de Trabalho Básico

  1. Revise seu código:

    Use the review_code prompt with your Go code
    
  2. Obtenha orientação específica:

    Use get_guide_topic for focused advice on topics like "naming" or "errors"
    

    Os guias são obtidos automaticamente no primeiro uso e armazenados em cache por 24 horas.

  3. Pesquise por padrões:

    Use search_live_guide to find specific content across all guides
    

Exemplos de Interações

Revisão abrangente de código:

Please review this Go code:
[paste your code]

Verifique tópicos específicos:

Check the naming conventions in this code

Pesquise por diretrizes:

Search the style guides for information about error wrapping

Obtenha conteúdo específico de tópicos:

Show me all guidelines about concurrency from the style guides

Tópicos Disponíveis

Os seguintes tópicos são indexados automaticamente em todos os guias:

  • naming - Convenções de nomenclatura e regras de identificadores
  • errors - Tratamento de erros e padrões de encapsulamento de erros
  • concurrency - Goroutines, canais, mutexes, uso de contexto
  • testing - Estrutura de testes, testes orientados por tabela, melhores práticas
  • interfaces - Design de interfaces e padrões de uso
  • formatting - Formatação e estilo de código
  • comments - Documentação e convenções de comentários
  • imports - Organização e agrupamento de imports
  • context - Uso e padrões de Context.Context

Opções de Configuração

O servidor suporta configuração por meio de variáveis de ambiente:

  • TRANSPORT - Modo de transporte: stdio (padrão) ou http
  • PORT - Porta HTTP ao usar transporte http (padrão: 8080)
  • CACHE_TTL - Duração do cache para guias obtidos (padrão: 24h)

Exemplo:

CACHE_TTL=12h go-review-mcp

Desenvolvimento

Compilação

make build

Executando testes

make test

Executando localmente

make run

Como Funciona

  1. Busca Preguiçosa: Os guias de estilo são obtidos automaticamente no primeiro uso da ferramenta (nenhuma inicialização manual necessária)
  2. Análise de Conteúdo: Os guias são analisados em seções estruturadas com indexação automática de tópicos
  3. Busca Unificada: Todas as consultas de busca e tópicos varrem automaticamente todos os guias obtidos
  4. Integração MCP: Ferramentas e prompts simples são expostos por meio do Model Context Protocol

Principais Recursos

  • Busca Automática sob Demanda: Os guias são obtidos de forma preguiçosa no primeiro uso — nenhuma etapa manual de busca é necessária
  • Busca Concorrente: Todos os guias são obtidos em paralelo para inicialização rápida
  • Cache Inteligente: Cache de 24 horas reduz solicitações de rede e melhora o desempenho
  • Indexação de Tópicos: Categorização automática de conteúdo por tópicos (nomenclatura, erros, concorrência, etc.)
  • Sem Configuração: Funciona imediatamente - não é necessário escolher quais guias usar

Arquitetura

┌─────────────────┐
│   AI Assistant  │
│  (Claude, etc.) │
└────────┬────────┘
         │ MCP Protocol (stdio/http)
┌────────▼──────────────────────┐
│  Go Review MCP Server         │
│  - 3 Tools                    │
│  - 6 Prompts                  │
│  - Concurrent HTTP Fetcher    │
│  - 24h Cache (in-memory)      │
│  - Content Parser             │
│  - Topic Indexer              │
└────────┬──────────────────────┘
         │ HTTPS (parallel)
┌────────▼──────────────────────┐
│  Official Style Guide Sources │
│  ├─ Google Go Guide           │
│  ├─ Google Go Decisions       │
│  ├─ Google Go Best Practices  │
│  └─ Uber Go Style Guide       │
└───────────────────────────────┘

Fluxo de Dados

  1. Busca sob Demanda: A primeira chamada de ferramenta aciona a busca concorrente de todos os 4 guias
  2. Análise: Cada guia é analisado em seções com metadados
  3. Indexação: As seções são categorizadas automaticamente por tópicos
  4. Consulta: Ferramentas de busca e tópicos varrem todo o conteúdo indexado
  5. Cache: Os resultados são armazenados em cache por 24 horas para melhorar o desempenho

Requisitos

  • Go 1.21 ou posterior
  • Conexão com a internet para buscar guias ao vivo (as regras incorporadas funcionam offline)

Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes

Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Agradecimentos

Esta ferramenta agrega conteúdo de: