From claude-ecosystem
Recommends LSP servers by language, configures .lsp.json files, provides installation guides, and troubleshoots issues in Claude Code.
npx claudepluginhub melodic-software/claude-code-plugins --plugin claude-ecosystemThis skill is limited to using the following tools:
> ## ๐จ MANDATORY: Invoke docs-management First
Sets up LSP servers by auto-detecting project languages (Python, TypeScript/JS, Go, Rust, C#), researching recommendations via MCP, and configuring .lsp.json. Interactive, auto, check, research modes.
Guides integration of LSP servers into Claude Code plugins via plugin.json or .lsp.json for code intelligence like go-to-definition, references, hovers, and completions.
Installs and configures LSP servers for GitHub Copilot CLI, enabling go-to-definition, find-references, hover, and type info for any programming language. Detects OS and generates user/repo JSON configs.
Share bugs, ideas, or general feedback.
๐จ MANDATORY: Invoke docs-management First
STOP - Before providing ANY response about LSP configuration:
- INVOKE
docs-managementskill for Claude Code LSP documentation- QUERY for the user's specific LSP topic
- BASE all responses on official documentation + this skill's knowledge base
Skipping this step results in outdated or incorrect information.
LSP support in Claude Code is experimental and has known issues. Key points:
| Requirement | Details |
|---|---|
| Environment Variable | ENABLE_LSP_TOOL=1 (singular) required to expose LSP tool |
| Current Version | v2.1.0+ has partial support (regression #17468) |
| Stable Version | v2.0.67 is last known stable LSP version |
| Configuration | .lsp.json at project root or lspServers in plugin.json |
See troubleshooting.md for version-specific issues and workarounds.
Central authority for Language Server Protocol (LSP) configuration in Claude Code. This skill provides:
.lsp.json filesArchitecture: Keyword registry + curated knowledge base. Delegates to docs-management for official Claude Code LSP documentation.
Keywords: LSP, language server, language-server-protocol, code intelligence, hover, go-to-definition, find-references, diagnostics, pyright, typescript-language-server, gopls, rust-analyzer, csharp-ls, .lsp.json, LSP configuration, LSP setup, LSP troubleshooting
Use this skill when:
.lsp.json filesUse these keywords when querying docs-management skill for official documentation:
| Topic | Keywords |
|---|---|
| LSP Overview | "LSP", "language server protocol", "code intelligence" |
| Configuration File | ".lsp.json", "LSP configuration", "language server config" |
| Features | "hover", "go-to-definition", "find-references", "diagnostics", "document symbols" |
| Topic | Keywords |
|---|---|
| Python | "pyright", "pylsp", "python language server" |
| TypeScript/JavaScript | "typescript-language-server", "vtsls", "tsserver" |
| Go | "gopls", "go language server" |
| Rust | "rust-analyzer", "rust language server" |
| C# | "csharp-ls", "OmniSharp", "C# language server" |
| C/C++ | "clangd", "ccls", "C++ language server" |
| Topic | Keywords |
|---|---|
| Server Issues | "LSP not working", "language server crash", "LSP restart" |
| Feature Issues | "hover not working", "diagnostics missing", "go-to-definition failing" |
| Configuration Issues | "LSP config invalid", ".lsp.json error", "extension mapping" |
What do you need?
| Language | Recommended Server | Why |
|---|---|---|
| Python | Pyright | Fast, accurate type checking, broad ecosystem support |
| TypeScript/JavaScript | typescript-language-server | Official TypeScript support, widely used |
| Go | gopls | Official Go team server, comprehensive |
| Rust | rust-analyzer | De facto standard, excellent performance |
| C# | csharp-ls | Lightweight, cross-platform, dotnet tool |
| C/C++ | clangd | LLVM-backed, fast, accurate |
| Java | Eclipse JDTLS | Full-featured, widely supported |
| Ruby | solargraph | Type inference, documentation support |
| PHP | intelephense | Premium features, fast |
| Lua | lua-language-server | Official, well-maintained |
| YAML | yaml-language-server | Schema validation, completion |
| JSON | vscode-json-languageserver | Schema validation, formatting |
For detailed recommendations with alternatives and trade-offs, see server-database.md.
Claude Code reads LSP configuration from .lsp.json in the project root.
Basic Structure:
{
"server-name": {
"command": "server-executable",
"args": ["--stdio"],
"extensionToLanguage": {
".ext": "language-id"
},
"restartOnCrash": true,
"maxRestarts": 3
}
}
Required Fields:
| Field | Type | Description |
|---|---|---|
command | string | Executable command for the server |
args | string[] | Command-line arguments (typically ["--stdio"]) |
extensionToLanguage | object | Maps file extensions to language IDs |
Optional Fields:
| Field | Type | Default | Description |
|---|---|---|---|
restartOnCrash | boolean | true | Auto-restart server on crash |
maxRestarts | number | 3 | Maximum restart attempts |
For complete patterns and examples, see configuration-patterns.md.
When auto-detecting needed LSPs for a project:
| Extensions | Language | Recommended Server |
|---|---|---|
.py, .pyi | Python | pyright |
.ts, .tsx, .js, .jsx | TypeScript/JavaScript | typescript-language-server |
.go | Go | gopls |
.rs | Rust | rust-analyzer |
.cs, .csx | C# | csharp-ls |
.c, .h, .cpp, .hpp, .cc | C/C++ | clangd |
.java | Java | jdtls |
.rb | Ruby | solargraph |
.php | PHP | intelephense |
.lua | Lua | lua-language-server |
.yaml, .yml | YAML | yaml-language-server |
.json | JSON | vscode-json-languageserver |
The audit-lsp command validates existing .lsp.json configurations. This skill provides:
The setup-lsp command creates/updates .lsp.json configurations. This skill provides:
These scenarios should activate this skill:
| Skill | Relationship |
|---|---|
| docs-management | Delegates to for official Claude Code LSP documentation |
| plugin-development | Plugins can provide LSP configurations via lspServers field |
Detailed guides (load on-demand):
Official Documentation (via docs-management):
Date: 2026-01-11 Model: claude-opus-4-5-20251101