mcp-gopls

by hloiseaufcms
Verified
Apache 2.0

MCP LSP Go

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA como Claude interactuar con el Protocolo de Servidor de Lenguaje (LSP) de Go y beneficiarse de las funciones avanzadas de análisis de código de Go.

Descripción general

Este servidor MCP ayuda a los asistentes de IA a:

  • Utilice LSP para analizar el código Go
  • Navegar hasta las definiciones y encontrar referencias
  • Diagnóstico del código de verificación
  • Obtener información al pasar el mouse sobre los símbolos
  • Obtenga sugerencias de finalización

Arquitectura

Este proyecto utiliza la biblioteca mark3labs/mcp-go para implementar el Protocolo de Contexto de Modelo. La integración con MCP facilita una comunicación fluida entre los asistentes de IA y las herramientas Go.

El servidor se comunica con gopls , el servidor de idioma oficial de Go, a través del Protocolo de servidor de idioma (LSP).

Características

  • Integración LSP : Conexión al protocolo de servidor de lenguaje de Go para análisis de código
  • Navegación de código : Cómo encontrar definiciones y referencias en el código
  • Calidad del código : obtención de diagnósticos y errores
  • Información avanzada : información al pasar el cursor y sugerencias para completar

Estructura del proyecto

. ├── cmd │ └── mcp-gopls # Application entry point ├── pkg │ ├── lsp # LSP client to communicate with gopls │ │ ├── client # LSP client implementation │ │ └── protocol # LSP protocol types and features │ ├── server # MCP server │ └── tools # MCP tools exposing LSP features

Instalación

go install github.com/hloiseaufcms/mcp-gopls/cmd/mcp-gopls@latest

Añadir al cursor

{ "mcpServers": { "mcp-gopls": { "command": "mcp-gopls" } } }

Herramientas MCP

El servidor MCP proporciona las siguientes herramientas:

HerramientaDescripción
go_to_definitionNavegar hasta la definición de un símbolo
find_referencesEncuentra todas las referencias a un símbolo
check_diagnosticsObtener diagnósticos para un archivo
get_hover_infoObtenga información detallada sobre un símbolo
get_completionObtenga sugerencias para completar una posición
analyze_coverageAnalizar la cobertura de pruebas para el código Go

Ejemplo de uso

Uso del servidor con asistentes de IA compatibles con MCP:

# Ask the AI to get information about the code Can you find the definition of the `ServeStdio` function in this project? # Ask for diagnostics Are there any errors in my main.go file? # Ask for information about a symbol What does the Context.WithTimeout function do in Go?

Desarrollo

git clone https://github.com/hloiseaufcms/mcp-gopls.git cd mcp-gopls go mod tidy go build -o mcp-gopls cmd/mcp-gopls/main.go ./mcp-gopls

Prerrequisitos

  • Vaya a 1.24 o superior
  • gopls instalado ( go install golang.org/x/tools/gopls@latest )

Licencia

Licencia Apache 2.0

-
security - not tested
-
license - not tested
-
quality - not tested

Un servidor de Protocolo de Contexto de Modelo (MCP) que permite a los asistentes de IA como Claude interactuar con el Protocolo de Servidor de Lenguaje (LSP) de Go y beneficiarse de las funciones avanzadas de análisis de código de Go.

  1. Overview
    1. Architecture
      1. Features
        1. Project Structure
          1. Installation
            1. Add to Cursor
              1. MCP Tools
                1. Usage Example
                  1. Development
                    1. Prerequisites
                      1. License
                        ID: 0r1utyven9