go-review-mcp

Revisión de código siguiendo las guías de estilo de Go directamente de fuentes oficiales y recomendadas.

Documentación

Go Review MCP

Un servidor de Model Context Protocol (MCP) que proporciona acceso en tiempo real a las guías de estilo oficiales de Go para una revisión de código inteligente.

Descripción general

Go Review MCP obtiene las guías de estilo más recientes directamente de fuentes oficiales y recomendadas:

Oficiales

Recomendadas

Características

Herramientas

  • search_live_guide - Busca en todo el contenido de las guías de estilo de Go obtenidas en vivo patrones específicos (obtiene automáticamente las guías en el primer uso)
  • get_guide_topic - Extrae contenido específico de temas de todas las guías en vivo (nombres, errores, concurrencia, pruebas, interfaces, formato, comentarios, importaciones, contexto)
  • get_review_guidelines - Obtén pautas de revisión seleccionadas para temas específicos

Prompts

  • review_code - Revisión integral de código Go
  • check_naming - Revisa las convenciones de nombres
  • check_error_handling - Revisa los patrones de manejo de errores
  • check_concurrency - Revisa los patrones de concurrencia
  • check_testing - Revisa la calidad del código de pruebas
  • check_interfaces - Revisa el diseño de interfaces

Instalación

Usando go install

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

Desde el código fuente

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

Configuración

Claude Desktop

Agrega a tu 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": []
    }
  }
}

Si se instaló desde el código fuente, usa la ruta completa al binario:

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

Extensión de Cursor o 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 pruebas con 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

Luego usa MCP Inspector para probar:

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

Uso

Flujo de trabajo básico

  1. Revisa tu código:

    Use the review_code prompt with your Go code
    
  2. Obtén orientación específica:

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

    Las guías se obtienen automáticamente en el primer uso y se almacenan en caché durante 24 horas.

  3. Busca patrones:

    Use search_live_guide to find specific content across all guides
    

Ejemplos de interacción

Revisión integral de código:

Please review this Go code:
[paste your code]

Consulta temas específicos:

Check the naming conventions in this code

Busca pautas:

Search the style guides for information about error wrapping

Obtén contenido específico de un tema:

Show me all guidelines about concurrency from the style guides

Temas disponibles

Los siguientes temas se indexan automáticamente en todas las guías:

  • naming - Convenciones de nombres y reglas de identificadores
  • errors - Manejo de errores y patrones de envoltura de errores
  • concurrency - Goroutines, canales, mutexes, uso de contexto
  • testing - Estructura de pruebas, pruebas basadas en tablas, mejores prácticas
  • interfaces - Diseño de interfaces y patrones de uso
  • formatting - Formato y estilo de código
  • comments - Convenciones de documentación y comentarios
  • imports - Organización y agrupación de importaciones
  • context - Uso y patrones de Context.Context

Opciones de configuración

El servidor admite configuración a través de variables de entorno:

  • TRANSPORT - Modo de transporte: stdio (predeterminado) o http
  • PORT - Puerto HTTP cuando se usa transporte http (predeterminado: 8080)
  • CACHE_TTL - Duración de la caché para las guías obtenidas (predeterminado: 24h)

Ejemplo:

CACHE_TTL=12h go-review-mcp

Desarrollo

Compilación

make build

Ejecutar pruebas

make test

Ejecutar localmente

make run

Cómo funciona

  1. Obtención diferida: Las guías de estilo se obtienen automáticamente en el primer uso de la herramienta (no se necesita inicialización manual)
  2. Análisis de contenido: Las guías se analizan en secciones estructuradas con indexación automática de temas
  3. Búsqueda unificada: Todas las consultas de búsqueda y temas escanean automáticamente todas las guías obtenidas
  4. Integración MCP: Herramientas y prompts simples se exponen a través del Model Context Protocol

Características clave

  • Obtención automática bajo demanda: Las guías se obtienen de forma diferida en el primer uso — no se requiere un paso de obtención manual
  • Obtención concurrente: Todas las guías se obtienen en paralelo para una inicialización rápida
  • Caché inteligente: La caché de 24 horas reduce las solicitudes de red y mejora el rendimiento
  • Indexación de temas: Categorización automática del contenido por temas (nombres, errores, concurrencia, etc.)
  • Sin configuración: Funciona de inmediato — no es necesario elegir qué guías usar

Arquitectura

┌─────────────────┐
│   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       │
└───────────────────────────────┘

Flujo de datos

  1. Obtención bajo demanda: La primera llamada a la herramienta activa la obtención concurrente de las 4 guías
  2. Análisis: Cada guía se analiza en secciones con metadatos
  3. Indexación: Las secciones se categorizan automáticamente por temas
  4. Consulta: Las herramientas de búsqueda y temas escanean todo el contenido indexado
  5. Caché: Los resultados se almacenan en caché durante 24 horas para mejorar el rendimiento

Requisitos

  • Go 1.21 o posterior
  • Conexión a Internet para obtener guías en vivo (las reglas integradas funcionan sin conexión)

Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

Agradecimientos

Esta herramienta agrega contenido de: