From claude-code-dev
Installs and configures LSP servers for Claude Code to enable go-to-definition, find-references, rename-symbol, and real-time diagnostics in Python, TypeScript/JS, Go, Rust, Java, C#, PHP, Kotlin, Ruby, and more.
npx claudepluginhub jpoutrin/product-forge --plugin claude-code-devThis skill uses the workspace's default tool permissions.
Enable Language Server Protocol integration to give Claude Code IDE-like code intelligence: go-to-definition, find-references, rename-symbol, and real-time diagnostics.
Recommends LSP servers by language, configures .lsp.json files, provides installation guides, and troubleshoots issues in Claude Code.
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.
Detects LSP servers for 18 languages including TypeScript, Python, Go, Rust, Java; installs missing ones via npm, pip, go; integrates with Claude Code for real-time diagnostics during /cc-setup phase 7 or project setup.
Share bugs, ideas, or general feedback.
Enable Language Server Protocol integration to give Claude Code IDE-like code intelligence: go-to-definition, find-references, rename-symbol, and real-time diagnostics.
LSP provides semantic code understanding instead of text-based grep searches:
Claude Code has built-in LSP support that requires activation.
Enable permanently (add to ~/.zshrc or ~/.bashrc):
export ENABLE_LSP_TOOL=1
Install language plugins from the community marketplace:
# Add the LSP plugin marketplace
/plugin marketplace add boostvolt/claude-code-lsps
# Install language-specific plugins
/plugin install pyright@claude-code-lsps # Python
/plugin install vtsls@claude-code-lsps # TypeScript/JavaScript
/plugin install gopls@claude-code-lsps # Go
/plugin install rust-analyzer@claude-code-lsps # Rust
/plugin install clangd@claude-code-lsps # C/C++
/plugin install jdtls@claude-code-lsps # Java
/plugin install omnisharp@claude-code-lsps # C#
/plugin install intelephense@claude-code-lsps # PHP
/plugin install kotlin-language-server@claude-code-lsps # Kotlin
/plugin install solargraph@claude-code-lsps # Ruby
/plugin install vscode-html-css@claude-code-lsps # HTML/CSS
Community MCP server with interactive setup wizard.
Automated setup:
npx cclsp@latest setup # Project-level config
npx cclsp@latest setup --user # User-wide config
The wizard:
| Language | Binary | Installation |
|---|---|---|
| Python | pyright | pip install pyright or npm i -g pyright |
| TypeScript/JS | vtsls | npm i -g @vtsls/language-server typescript |
| Go | gopls | go install golang.org/x/tools/gopls@latest |
| Rust | rust-analyzer | rustup component add rust-analyzer |
| C/C++ | clangd | brew install llvm or xcode-select --install |
| Java | jdtls | brew install jdtls (requires Java 21+) |
| C# | omnisharp | brew install omnisharp/omnisharp-roslyn/omnisharp-mono |
| PHP | intelephense | npm i -g intelephense |
| Kotlin | kotlin-language-server | brew install kotlin-language-server |
| Ruby | solargraph | gem install solargraph |
| HTML/CSS | vscode-langservers | npm i -g vscode-langservers-extracted |
Location: .claude/cclsp.json (project) or ~/.config/claude/cclsp.json (global)
{
"servers": [
{
"extensions": ["py", "pyi"],
"command": ["pyright-langserver", "--stdio"],
"rootDir": ".",
"restartInterval": 30
},
{
"extensions": ["ts", "tsx", "js", "jsx"],
"command": ["typescript-language-server", "--stdio"],
"rootDir": "."
}
]
}
After setup, Claude Code gains these capabilities:
| Tool | Description |
|---|---|
find_definition | Navigate to symbol definition |
find_references | Find all usages of a symbol |
rename_symbol | Rename symbol across all files |
get_diagnostics | Get type errors and warnings |
restart_server | Restart the language server |
# Verify plugin is installed
/plugin
# Reinstall if needed
/plugin uninstall pyright@claude-code-lsps
/plugin install pyright@claude-code-lsps
# Check binary exists
which pyright
which gopls
# For Go, ensure GOPATH/bin is in PATH
export PATH=$PATH:$(go env GOPATH)/bin
# Clear cache and reinstall
rm -rf ~/.claude/plugins/cache
/plugin install pyright@claude-code-lsps
Use cmd /c wrapper for cclsp:
{
"servers": [{
"extensions": ["py"],
"command": ["cmd", "/c", "pyright-langserver", "--stdio"]
}]
}
After setup, test by asking Claude Code to:
functionName"ClassName"A working setup provides exact file:line locations instead of grep-based text search results.
Combine LSP with traditional search:
LSP provides precision; Grep provides coverage.
When the user runs this command:
Determine approach from arguments:
native - Use built-in LSP tool with pluginscclsp - Use cclsp MCP serverFor native approach:
ENABLE_LSP_TOOL is already set/plugin commandFor cclsp approach:
npx cclsp@latest setup interactively/mcpInform user to restart Claude Code after installation