mcp-gopls
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-pprof-anaylzer
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
This server cannot be deployed
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
The OpenRouter MCP server plugs OpenRouter into the AI tools you already use. Once connected, your assistant can pull live OpenRouter data (models, prices, your credits, rankings, and docs) and send quick test messages, all without leaving your editor.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Related MCP Servers
- AlicenseNot gradedqualityCmaintenancegodoc-mcp is a Model Context Protocol (MCP) server that provides efficient access to Go documentation. It helps LLMs understand Go projects by providing direct access to package documentation without needing to read entire source files.124MIT
- AlicenseNot gradedqualityCmaintenanceThis is a Model Context Protocol (MCP) server implemented in Go, providing a tool to analyze Go pprof performance profiles.50MIT
- FlicenseNot gradedqualityDmaintenanceGo Development MCP Server for Claude Desktop and other AI tools3-
- AlicenseNot gradedqualityAmaintenancehttps://gopls-mcp.org/ MCP server for golang projects development: Expand AI Code Agent ability boundary to have a semantic understanding and determinisic information for golang projects.57BSD 3-Clause