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
Related MCP server: mcp-server-leetcode
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 featuresInstalación
go install github.com/hloiseaufcms/mcp-gopls/cmd/mcp-gopls@latestAñadir al cursor
{
"mcpServers": {
"mcp-gopls": {
"command": "mcp-gopls"
}
}
} Herramientas MCP
El servidor MCP proporciona las siguientes herramientas:
Herramienta | Descripción |
| Navegar hasta la definición de un símbolo |
| Encuentra todas las referencias a un símbolo |
| Obtener diagnósticos para un archivo |
| Obtenga información detallada sobre un símbolo |
| Obtenga sugerencias para completar una posición |
| Analizar 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-goplsPrerrequisitos
Vaya a 1.24 o superior
gopls instalado (
go install golang.org/x/tools/gopls@latest)
Licencia
Licencia Apache 2.0