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.
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@latest
- Instalar 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.go
contiene el código generado para realizar llamadas al servidor de idioma conectado.internal/protocol/tsprotocol.go
contiene 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/...
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Ejecuta un servidor de idiomas y proporciona herramientas para comunicarse con él. Los servidores de idiomas son excelentes en tareas con las que los LLM suelen tener dificultades, como comprender con precisión los tipos, comprender las relaciones y proporcionar referencias de símbolos precisas.
Related Resources
Related MCP Servers
- -securityAlicense-qualityThis is a server that lets your LLMs (like Claude) talk directly to your BigQuery data! Think of it as a friendly translator that sits between your AI assistant and your database, making sure they can chat securely and efficiently.Last updated -124181JavaScriptMIT License
- AsecurityAlicenseAqualityThis server enables LLMs to retrieve and process content from web pages, converting HTML to markdown for easier consumption.Last updated -154,491JavaScriptMIT License
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -20JavaScript
- -securityFlicense-qualityThis server provides an API to query Large Language Models using context from local files, supporting various models and file types for context-aware responses.Last updated -1TypeScript