Servidor de idiomas MCP
Este es un servidor MCP que ejecuta y expone un servidor de idiomas a los LLM. No es un servidor de idiomas para MCP, sea lo que sea.
Manifestación
mcp-language-server ayuda a los clientes habilitados para MCP a navegar por las bases de código más fácilmente brindándoles acceso a herramientas semánticas como obtener definición, referencias, cambiar nombre y diagnósticos.

Related MCP server: Fetch MCP Server
Configuración
Instalar Go : siga las instrucciones en https://golang.org/doc/install
Instalar o actualizar este servidor :
go install github.com/isaacphi/mcp-language-server@latestInstalar un servidor de idioma : siga una de las guías a continuación
Configure su cliente MCP : siga una de las guías a continuación
Herramientas
definition: recupera la definición completa del código fuente de cualquier símbolo (función, tipo, constante, etc.) de su base de código.references: localiza todos los usos y referencias de un símbolo en todo el código base.diagnostics: proporciona información de diagnóstico para un archivo específico, incluidas advertencias y errores.hover: muestra documentación, sugerencias de tipo u otra información flotante para una ubicación determinada.rename_symbol: cambia el nombre de un símbolo en todo el proyecto.edit_file: Permite realizar múltiples ediciones de texto en un archivo según el número de línea. Ofrece una forma más fiable y económica de editar archivos que las herramientas de edición basadas en búsqueda y reemplazo.
Acerca de
Este código base utiliza código editado de gopls para gestionar la comunicación LSP. Consulte ATRIBUCIÓN para más detalles. Todo lo aquí expuesto está sujeto a una licencia de estilo BSD permisiva.
mcp-go se utiliza para la comunicación MCP. Gracias por su servicio.
Este software es beta. Si tiene algún problema o sugerencia, avíseme creando un problema.
Contribuyendo
Por favor, mantengan las relaciones públicas pequeñas y abran los problemas primero para cualquier cosa sustancial. La IA funciona bien siempre que se pruebe, pase las verificaciones y no huela mal.
Configuración
Clonar el repositorio:
Se incluye un archivo justfile para mayor comodidad:
Configure su Claude Desktop (o similar) para utilizar el binario local:
Reconstruir después de realizar cambios.
Explotación florestal
Al establecer la variable de entorno LOG_LEVEL en DEBUG, se habilita el registro detallado en stderr para todos los componentes, incluidos los mensajes hacia y desde el servidor de idioma y los registros del servidor de idioma.
Interacción LSP
internal/lsp/methods.gocontiene el código generado para realizar llamadas al servidor de idioma conectado.internal/protocol/tsprotocol.gocontiene el código generado para los tipos LSP. Lo tomé prestado del código fuente degopls. Gracias por su servicio.LSP permite que los servidores de lenguaje devuelvan diferentes tipos para los mismos métodos. A Go no le gusta esto, por lo que existen algunas soluciones alternativas poco fiables en
internal/protocol/interfaces.go.
Desarrollo local y pruebas instantáneas
Existe un conjunto de pruebas instantáneas que facilita enormemente la prueba de cambios en las herramientas. Estas ejecutan servidores de idiomas reales en espacios de trabajo simulados y capturan resultados y registros.
Necesitará tener los servidores de idioma instalados localmente para ejecutarlos. Existen pruebas para Go, Rust, Python y TypeScript.
Para actualizar las instantáneas, ejecute UPDATE_SNAPSHOTS=true go test ./integrationtests/...