LSP-MCP
lsp-mcp
Der vollständigste MCP-Server für Sprachintelligenz. 22 Tools für Navigation, Diagnose, Refactoring und Formatierung. CI-geprüft für 7 Sprachen. Direkt auf Basis der LSP 3.17 Spezifikation entwickelt.
Im Gegensatz zu typischen MCP-LSP-Brücken unterhält lsp-mcp eine dauerhafte Language-Server-Sitzung — Agenten arbeiten auf einem vollständig indizierten Workspace mit Echtzeit-Diagnose und dateiübergreifendem Verständnis, anstatt mit einem kalt gestarteten Stub, der den Kontext zwischen den Aufrufen vergisst.
Warum lsp-mcp
lsp-mcp | typische Alternativen | |
Sprachen (CI-geprüft) | 7 | 1–2 |
Tools | 22 | 3–5 |
LSP-Spezifikationskonformität | 3.17, spezifikationsgetreu | ad hoc |
Verbindungsmodell | dauerhaft | pro Anfrage |
Dateiübergreifende Referenzen | ✓ | selten |
Echtzeit-Diagnose-Abonnements | ✓ | ✗ |
Testabdeckung | 76% Anweisungen, 86% Funktionen | selten getestet |
Related MCP server: LSP MCP
Schnellstart
{
"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"] }Mehrsprachige Unterstützung
Jede der unten aufgeführten Sprachen wird bei jedem CI-Durchlauf integrationstests unterzogen — start_lsp, open_document, get_diagnostics und get_info_on_location werden alle gegen die echte Language-Server-Binärdatei verifiziert:
Sprache | Server | Installation |
TypeScript / JavaScript |
|
|
Python |
|
|
Go |
|
|
Rust |
|
|
Java |
| |
C / C++ |
|
|
PHP |
|
|
Tools
Alle Tools erfordern, dass zuerst start_lsp aufgerufen wird.
Sitzung
Tool | Beschreibung |
| Startet den Language Server mit einem Projekt-Root |
| Neustart ohne den MCP-Server neu zu starten |
| Öffnet eine Datei zur Nachverfolgung (erforderlich vor Positionsabfragen) |
| Beendet die Nachverfolgung einer Datei |
Analyse
Tool | Beschreibung |
| Fehler und Warnungen — |
| Hover-Informationen (Typ-Signaturen, Doku) an einer Position |
| Vervollständigungsvorschläge an einer Position |
| Funktionssignatur und aktiver Parameter an einer Aufrufstelle |
| Schnellkorrekturen und Refactorings für einen Bereich |
| Alle Symbole in einer Datei (Funktionen, Klassen, Variablen) |
| Suche nach Symbolen nach Namen im gesamten Workspace |
Navigation
Tool | Beschreibung |
| Alle Referenzen auf ein Symbol im gesamten Workspace |
| Springe dorthin, wo ein Symbol definiert ist |
| Springe zur Typdefinition eines Symbols |
| Springe zu allen Implementierungen eines Interfaces oder einer abstrakten Methode |
| Springe zur Deklaration eines Symbols (unterscheidet sich von der Definition — z. B. C/C++ Header) |
Refactoring
Tool | Beschreibung |
| Erhalte ein |
| Validiert, ob eine Umbenennung vor dem Ausführen möglich ist |
| Erhalte |
| Wendet ein |
| Führt einen serverseitigen Befehl aus (z. B. aus einer Code-Aktion) |
Dienstprogramme
Tool | Beschreibung |
| Ändert die Ausführlichkeit der Protokollierung zur Laufzeit |
Empfohlener Agent-Workflow:
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(...)Sprach-IDs: typescript, typescriptreact, javascript, javascriptreact, python, go, rust, java, c, cpp, php
Ressourcen
Diagnose-Ressourcen unterstützen Echtzeit-Abonnements — der Server sendet notifications/resources/updated, wenn sich Diagnosen ändern.
Schema | Beschreibung |
| Alle geöffneten Dateien |
| Spezifische Datei (abonnierbar) |
| Hover an Position |
| Vervollständigungen an Position |
LSP 3.17 Konformität
lsp-mcp ist direkt auf Basis der LSP 3.17 Spezifikation implementiert und durch Integrationstests gegen echte Language Server validiert. Die Abdeckung umfasst:
Vollständiger Lebenszyklus (
initialize→initialized→shutdown) mit sauberer SIGINT/SIGTERM-BehandlungFortschrittsprotokoll — die Erkennung der Workspace-Bereitschaft wartet auf den Abschluss aller
$/progress-Token, bevor Referenzen gesendet werdenVom Server initiierte Anfragen (
workspace/configuration,window/workDoneProgress/create, dynamische Registrierung) — alle werden korrekt beantwortet, wodurch Server entsperrt werden, die das Laden des Workspaces von diesen Antworten abhängig machenKorrektes JSON-RPC-Framing, Fehlercode-Behandlung und Normalisierung der Antwortformate über Hover, Vervollständigung, Code-Aktionen und Diagnosen hinweg
Siehe docs/lsp-conformance.md für die vollständige Matrix der Methodenabdeckung und Referenzen auf die Spezifikationsabschnitte.
Erweiterungen
Sprachspezifische Erweiterungen fügen Tools, Prompts und Ressourcen-Handler hinzu, die beim Start automatisch nach Sprach-ID geladen werden.
Um eine Erweiterung hinzuzufügen, erstellen Sie src/extensions/<language-id>.ts und implementieren Sie eine beliebige Teilmenge von getToolHandlers, getToolDefinitions, getResourceHandlers, getSubscriptionHandlers, getPromptDefinitions und getPromptHandlers. Alle Funktionen sind nach Sprach-ID benannt.
Entwicklung
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)Abdeckung: ~76% Anweisungen, ~86% Funktionen. Um den MCP-Verkehr zu untersuchen: claude --mcp-debug.
Lizenz
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