LSP-MCP
lsp-mcp
El servidor MCP más completo para inteligencia de lenguaje. 22 herramientas que cubren navegación, diagnósticos, refactorización y formato. Verificado mediante CI en 7 lenguajes. Construido directamente sobre la especificación LSP 3.17.
A diferencia de los puentes MCP-LSP típicos, lsp-mcp mantiene una sesión de servidor de lenguaje persistente: los agentes operan en un espacio de trabajo totalmente indexado con diagnósticos en tiempo real y conocimiento entre archivos, no un stub de inicio en frío que olvida el contexto entre llamadas.
Por qué lsp-mcp
lsp-mcp | alternativas típicas | |
Lenguajes (verificados por CI) | 7 | 1–2 |
Herramientas | 22 | 3–5 |
Cumplimiento de especificación LSP | 3.17, construido según especificación | ad hoc |
Modelo de conexión | persistente | por solicitud |
Referencias entre archivos | ✓ | raramente |
Suscripciones a diagnósticos en tiempo real | ✓ | ✗ |
Cobertura de pruebas | 76% sentencias, 86% funciones | raramente probado |
Related MCP server: LSP MCP
Inicio rápido
{
"mcpServers": {
"lsp": {
"type": "stdio",
"command": "npx",
"args": ["blackwell-systems/LSP-MCP", "<language-id>", "<path-to-lsp-binary>", "<lsp-args>"]
}
}
}TypeScript:
{ "args": ["blackwell-systems/LSP-MCP", "typescript", "typescript-language-server", "--stdio"] }Go:
{ "args": ["blackwell-systems/LSP-MCP", "go", "gopls"] }Rust:
{ "args": ["blackwell-systems/LSP-MCP", "rust", "rust-analyzer"] }Soporte multilingüe
Cada lenguaje a continuación se prueba mediante integración en cada ejecución de CI: start_lsp, open_document, get_diagnostics y get_info_on_location están verificados contra el binario real del servidor de lenguaje:
Lenguaje | Servidor | Instalación |
TypeScript / JavaScript |
|
|
Python |
|
|
Go |
|
|
Rust |
|
|
Java |
| |
C / C++ |
|
|
PHP |
|
|
Herramientas
Todas las herramientas requieren que se llame primero a start_lsp.
Sesión
Herramienta | Descripción |
| Iniciar el servidor de lenguaje con una raíz de proyecto |
| Reiniciar sin reiniciar el servidor MCP |
| Abrir un archivo para seguimiento (requerido antes de consultas de posición) |
| Dejar de rastrear un archivo |
Análisis
Herramienta | Descripción |
| Errores y advertencias: omita |
| Información al pasar el ratón (firmas de tipo, docs) en una posición |
| Sugerencias de autocompletado en una posición |
| Firma de función y parámetro activo en un sitio de llamada |
| Correcciones rápidas y refactorizaciones para un rango |
| Todos los símbolos en un archivo (funciones, clases, variables) |
| Buscar símbolos por nombre en todo el espacio de trabajo |
Navegación
Herramienta | Descripción |
| Todas las referencias a un símbolo en todo el espacio de trabajo |
| Saltar a donde se define un símbolo |
| Saltar a la definición de tipo de un símbolo |
| Saltar a todas las implementaciones de una interfaz o método abstracto |
| Saltar a la declaración de un símbolo (distinto de la definición, p. ej., cabeceras C/C++) |
Refactorización
Herramienta | Descripción |
| Obtener un |
| Validar que un cambio de nombre sea posible antes de confirmar |
| Obtener ediciones de formato |
| Aplicar un |
| Ejecutar un comando del lado del servidor (p. ej., desde una acción de código) |
Utilidades
Herramienta | Descripción |
| Cambiar la verbosidad del registro en tiempo de ejecución |
Flujo de trabajo recomendado para el agente:
start_lsp(root_dir="/your/project")
open_document(file_path=..., language_id=...)
get_diagnostics() # whole project, no file_path
get_info_on_location(...) / get_references(...)
close_document(...)IDs de lenguaje: typescript, typescriptreact, javascript, javascriptreact, python, go, rust, java, c, cpp, php
Recursos
Los recursos de diagnóstico admiten suscripciones en tiempo real: el servidor envía notifications/resources/updated cuando cambian los diagnósticos.
Esquema | Descripción |
| Todos los archivos abiertos |
| Archivo específico (suscribible) |
| Pasar el ratón en posición |
| Autocompletados en posición |
Conformidad con LSP 3.17
lsp-mcp se implementa directamente sobre la especificación LSP 3.17 y se valida mediante pruebas de integración contra servidores de lenguaje reales. La cobertura incluye:
Ciclo de vida completo (
initialize→initialized→shutdown) con manejo elegante de SIGINT/SIGTERMProtocolo de progreso: la detección de espacio de trabajo listo espera a que todos los tokens
$/progressse completen antes de enviar referenciasSolicitudes iniciadas por el servidor (
workspace/configuration,window/workDoneProgress/create, registro dinámico): todas respondidas correctamente, desbloqueando servidores que limitan la carga del espacio de trabajo a estas respuestasEncuadre JSON-RPC correcto, manejo de códigos de error y normalización de la forma de respuesta en hover, autocompletado, acciones de código y diagnósticos
Consulte docs/lsp-conformance.md para ver la matriz completa de cobertura de métodos y referencias de secciones de la especificación.
Extensiones
Las extensiones específicas del lenguaje añaden herramientas, prompts y manejadores de recursos, cargados automáticamente por ID de lenguaje al inicio.
Para añadir una extensión, cree src/extensions/<language-id>.ts implementando cualquier subconjunto de getToolHandlers, getToolDefinitions, getResourceHandlers, getSubscriptionHandlers, getPromptDefinitions y getPromptHandlers. Todas las funciones están bajo el espacio de nombres del ID de lenguaje.
Desarrollo
git clone https://github.com/blackwell-systems/LSP-MCP.git
cd LSP-MCP && npm install && npm run build
npm test # all unit test suites
npm run test:multi-lang # 7-language integration test (requires language servers)Cobertura: ~76% sentencias, ~86% funciones. Para inspeccionar el tráfico MCP: claude --mcp-debug.
Licencia
MIT
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
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Codebase graphs, caller impact analysis, and recorded project context for AI coding agents.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides LLMs with code intelligence tools like relationship explanation, PR impact analysis, and health reports via the Model Context Protocol.3MIT
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with language-aware code analysis through the Language Server Protocol, enabling tasks like getting code insights and diagnostics.6 npm191MIT
- AlicenseNot gradedqualityDmaintenanceExposes Language Server Protocol (LSP) functionality as Model Context Protocol (MCP) tools, enabling AI clients to programmatically analyze and edit code in any language supported by VS Code.5 npm33MIT
- AlicenseAqualityFmaintenanceProvides C++ code intelligence tools for AI agents via the Model Context Protocol, enabling symbol navigation, type information, and diagnostics.948Mozilla Public 2.0