VOOZH about

URL: https://glama.ai/mcp/servers/isaacphi/mcp-language-server?locale=es-ES

⇱ Servidor de idiomas MCP by isaacphi | Glama


Servidor de idiomas MCP

👁 Pruebas Go
👁 Tarjeta de calificaciones Go
👁 GoDoc
👁 Versión Go

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.

👁 Manifestación

Related MCP server: lsp-mcp-server

Configuración

  1. Instalar Go : siga las instrucciones en https://golang.org/doc/install

  2. Instalar o actualizar este servidor : go install github.com/isaacphi/mcp-language-server@latest

  3. Instalar un servidor de idioma : siga una de las guías a continuación

  4. Configure su cliente MCP : siga una de las guías a continuación

<p><strong>Note</strong>:</p>
<ul>
 <li>Replace <code>/path/to/your/clangd_binary</code> with the actual path to your clangd executable.</li>
 <li><code>--compile-commands-dir</code> should point to the directory containing your <code>compile_commands.json</code> file (e.g., <code>./build</code>, <code>./cmake-build-debug</code>).</li>
 <li>Ensure <code>compile_commands.json</code> is generated for your project for clangd to work effectively.</li>
</ul>

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:

git clone https://github.com/isaacphi/mcp-language-server.git
cd mcp-language-server

Se incluye un archivo justfile para mayor comodidad:

just -l
Available recipes:
 build # Build
 check # Run code audit checks
 fmt # Format code
 generate # Generate LSP types and methods
 help # Help
 install # Install locally
 snapshot # Update snapshot tests
 test # Run tests

Configure su Claude Desktop (o similar) para utilizar el binario local:

{
 "mcpServers": {
 "language-server": {
 "command": "/full/path/to/your/clone/mcp-language-server/mcp-language-server",
 "args": [
 "--workspace",
 "/path/to/workspace",
 "--lsp",
 "language-server-executable"
 ],
 "env": {
 "LOG_LEVEL": "DEBUG"
 }
 }
 }
}

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 de gopls . 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.

integrationtests/
├── tests/ # Tests are in this folder
├── snapshots/ # Snapshots of tool outputs
├── test-output/ # Gitignored folder showing the final state of each workspace and logs after each test run
└── workspaces/ # Mock workspaces that the tools run on

Para actualizar las instantáneas, ejecute UPDATE_SNAPSHOTS=true go test ./integrationtests/...

F
license - not found
-
quality - not tested
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/isaacphi/mcp-language-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server