Recent Go MCP Server

Proporciona actualizaciones del lenguaje Go y mejores prácticas en un formato Markdown estructurado para agentes de codificación LLM.

Documentación

Servidor Recent Go MCP

Un servidor MCP (Protocolo de Contexto de Modelo) que proporciona actualizaciones completas del lenguaje Go y mejores prácticas a agentes de codificación de LLM en formato Markdown estructurado. Esto ayuda a los agentes a evitar el uso de patrones obsoletos de Go y aprovechar las características modernas del lenguaje de manera eficiente en 12 versiones de Go.

AVISO Este repositorio es experimental y para uso personal. (Por supuesto, cualquiera puede usar este repositorio). El agente de codificación LLM se utiliza plenamente para escribir código, probar y obtener datos sobre las características de Go en cada versión. Podría contener algunos errores. Espero cualquier issue o PR para mejorar este repositorio.

AVISO La salida de esta herramienta podría ser demasiado grande con algunos hosts MCP como Claude Code. Actualizaré esta herramienta con una función de paginación pronto.

Características

  • 🔄 Cobertura Integral de Versiones: Soporta Go 1.13 hasta 1.24 (12 versiones)
  • 📦 Filtrado Específico por Paquete: Obtén actualizaciones para paquetes específicos de la biblioteca estándar (net/http, slices, maps, log/slog, etc.)
  • 📚 Información Rica: Incluye ejemplos, evaluación de impacto y recomendaciones de actualización
  • 📝 Formato Markdown: Salida estructurada optimizada para consumo de LLM con una reducción de tamaño de ~70%
  • 🚀 Binario Único: Todos los datos de versiones integrados usando go:embed para facilitar el despliegue

Integración

Con Claude Desktop

Añade a tu configuración de MCP:

{
  "mcpServers": {
    "recent-go-mcp": {
      "command": "go",
      "args":[
        "run",
        "github.com/tenkoh/recent-go-mcp@latest"
      ]
    }
  }
}

Puedes instalar el comando usando go install, y luego registrar la ruta del binario ejecutable en la configuración de MCP.

Con Otros Clientes MCP

El servidor utiliza transporte stdio y sigue la especificación MCP. Puede integrarse con cualquier cliente LLM compatible con MCP.

Uso

El servidor implementa el Protocolo de Contexto de Modelo y puede usarse con cualquier cliente compatible con MCP.

Herramienta: go-updates

Obtén información sobre actualizaciones del lenguaje Go y mejores prácticas.

Parámetros:

  • version (obligatorio): Versión de Go desde la que verificar actualizaciones (soportadas: "1.13" hasta "1.24")
  • package (opcional): Paquete específico de la biblioteca estándar para filtrar actualizaciones (por ejemplo, "net/http", "slices", "maps", "log/slog")

Ejemplos

Obtén todas las actualizaciones de Go 1.21 a Go 1.24

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "go-updates",
    "arguments": {
      "version": "1.21"
    }
  }
}

Obtén actualizaciones específicas del paquete slices desde Go 1.20

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "go-updates",
    "arguments": {
      "version": "1.20",
      "package": "slices"
    }
  }
}

Formato de Respuesta

La herramienta devuelve salida Markdown estructurada optimizada para consumo de LLM:

  • Estructura Jerárquica: Encabezados claros (#, ##, ###) para facilitar la navegación
  • Sección de Resumen: Visión general de los cambios y su impacto
  • Secciones Específicas por Versión: Cambios de lenguaje y biblioteca organizados cronológicamente
  • Resaltado de Código: Nombres de funciones en `backticks` and examples in go code blocks
  • Legibilidad Mejorada: Énfasis en negrita para elementos importantes y formato Markdown adecuado

Cobertura de Datos

Soporte Integral de Versiones de Go:

  • Go 1.13 hasta Go 1.24 (12 versiones)
  • Cobertura completa desde versiones heredadas hasta las características más recientes

Los datos integrados cubren:

  • Características del Lenguaje: Nueva sintaxis, construcciones y mejoras del lenguaje
  • Actualizaciones de la Biblioteca Estándar: Adiciones de paquetes, mejoras y nuevas APIs
  • Paquetes Modernos: slices, maps, log/slog, go/version y otras adiciones de Go 1.21+
  • Mejoras del Runtime: Optimizaciones de rendimiento y gestión de memoria
  • Mejoras del Toolchain: Sistema de compilación, sistema de módulos y actualizaciones de herramientas de desarrollo
  • Recomendaciones de Mejores Prácticas: Patrones modernos y guía de actualización

Contribución

Las contribuciones son realmente bienvenidas. Por favor, crea un issue o un pull request sin dudarlo.

Desarrollo

# Run all tests (includes MCP protocol tests)
go test ./...

# Run MCP server integration tests specifically
go test -v -run TestMCPServer

# Build the server
go build -o recent-go-mcp

# Test manually with JSON-RPC
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}' | ./recent-go-mcp
echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "go-updates", "arguments": {"version": "1.24"}}}' | ./recent-go-mcp

Licencia

MIT

Autor

tenkoh (usando Claude Sonnet 4)