claude-code-lsps
Health Warn
- No license — Repository has no license file
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 378 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
This repository provides a marketplace of Language Server Protocol (LSP) plugins for Claude Code. It enables AI-assisted coding features like "go to definition," "find references," and "hover" across more than 20 programming languages.
Security Assessment
The tool functions by patching your local Claude Code installation using an `npx` command (`tweakcc`), which inherently executes shell commands and modifies local files. While the automated code scan found no dangerous patterns, hardcoded secrets, or requests for dangerous permissions, modifying a core CLI application via a script requires significant trust. The plugin uses standard Language Server Protocol features, which need to read and index your local source code to function. Because no network requests or sensitive data exfiltration behaviors were detected, the overall risk is rated as Low. However, users should be aware of the local file modifications.
Quality Assessment
The project is actively maintained, with its most recent code push occurring today. It boasts a solid community trust level with 378 GitHub stars, and the repository includes a clear description of its goals. The only notable drawback is the complete absence of a license file. This means that, strictly speaking, all rights are reserved by the creator, and the legal terms under which you can use, modify, or distribute this code are undefined.
Verdict
Safe to use, provided you are comfortable running an automated patcher on your local CLI setup and the missing license file does not conflict with your project's compliance requirements.
Claude Code Plugin Marketplace with LSP servers
Check out Piebald
We've released Piebald, the ultimate agentic AI developer experience.
Download it and try it out for free! https://piebald.ai/
Scroll down for Claude Code LSPs. :point_down:
Claude Code LSPs
This repository contains a Claude Code marketplace with plugins that offer LSP servers for TypeScript, Rust, Python, Go, Java, Kotlin, Scala, C/C++, PHP, Ruby, C#, PowerShell, HTML/CSS, LaTeX, Julia, Vue, Svelte, OCaml, BSL (1C:Enterprise), Ada, Dart, Solidity, and Markdown/mdbase. LSP servers provide powerful and familiar code intelligence features to IDEs, and now Claude Code directly.
Claude Code officially supports LSP. In 2.0.74 they officially added it to the changelog. Previously, the new LSP builtin tool had to be enabled manually via $ENABLE_LSP_TOOL=1.
This marketplace currently targets Claude Code 2.1.50+ (latest release: 2.1.52) to use modern LSP configuration fields like startupTimeout.
Claude can use the LSP tool to
- Go to the definition for symbols (
goToDefinition) - Go to the implementation for symbols (
goToImplementation) - Hover over symbols (
hover) - List all the symbols in a file (
documentSymbol) - Find all references to a symbol (
findReferences) - Search for symbols across the workspace (
workspaceSymbol) - Get the call hierarchy for a given function (
prepareCallHierarchy) - Find all functions that call a given function (
incomingCalls) - Find all functions/methods called by a given function (
outgoingCalls)
Patching Claude Code
Run npx tweakcc --apply. tweakcc automatically detects your Claude Code installation (npm or native) and applies the necessary patches. It will automatically patch your Claude Code installation to make CC's builtin LSP support usable. (It also does a bunch of other things like let you customize all the system prompt parts, create new CC themes, change the thinking verbs, and a lot more.)
Installing the plugins
Install them the usual way. First make CC aware of the marketplace:
- Run
claude /plugin marketplace add Piebald-AI/claude-code-lsps
Then enable the plugins of your choice:
- Run
claude - Type
/plugins - Tab to
Marketplaces - Enter the
claude-code-lspsmarketplace and chooseBrowse plugins - Select the plugins you'd like with the spacebar (e.g. TypeScript, Rust)
- Press "i" to install them
- Restart Claude Code
LSP definition workflow (for contributors)
.lsp.jsonfiles are the canonical source of LSP configuration..claude-plugin/marketplace.jsonlspServersentries are generated from.lsp.json.- Do not hand-edit generated
lspServersblocks. sync-lsp-to-marketplaceonly updates plugins that already exist in marketplaceplugins[]. Add a marketplace entry first when introducing a new plugin directory.validate-lsp-definitionswill fail if a plugin directory exists but is not referenced in marketplaceplugins[].
Run this workflow after any LSP config change:
node scripts/validate-all.mjs
validate-all runs:
sync-lsp-to-marketplace.mjsvalidate-lsp-definitions.mjsvalidate-runtime-marketplace.mjs
Optional: node scripts/validate-all.mjs --skip-runtime to skip Claude runtime validation.
Language-specific setup instructions
You need to install various components in order for the plugins to use them:
Rust (rust-analyzer)
Uses rust-analyzer, the official modern Rust Language Server and the same one used by the official VS Code extension. If you have rustup, installing rust-analyzer is easy:
rustup component add rust-analyzer
The rust-analyzer executable needs to be in your PATH.
vtsls)
Install vtsls and typescript packages globally:
# npm
npm install -g @vtsls/language-server typescript
# pnpm
pnpm install -g @vtsls/language-server typescript
# bun
bun install -g @vtsls/language-server typescript
Make sure the vtsls executable is in your PATH.
pyright)
Install pyright for its speed and excellent type checking:
# npm
npm install -g pyright
# pnpm
pnpm install -g pyright
# bun
bun install -g pyright
Go (gopls)
Install gopls, the official Go language server:
go install golang.org/x/tools/gopls@latest
Make sure your Go bin directory is in your PATH (usually ~/go/bin).
jdtls)
Install Eclipse JDT Language Server (jdtls). Requires Java 21+ runtime:
# Download from official sources
# Latest snapshot:
curl -LO http://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz
mkdir -p ~/jdtls
tar -xzf jdt-language-server-latest.tar.gz -C ~/jdtls
# Or install via package manager (varies by OS)
# macOS with Homebrew:
brew install jdtls
Set JAVA_HOME environment variable to Java 21+ installation.
kotlin-lsp)
Requires Java 17+. Install kotlin-lsp:
# macOS with Homebrew
brew install JetBrains/utils/kotlin-lsp
For manual installation, download from releases and add to PATH.
Scala (Note: Currently supports JVM-only Kotlin Gradle projects.
metals)
Requires Java 11 or 17. Install Metals using Coursier:
# Install Coursier (if not already installed)
# macOS with Homebrew:
brew install coursier/formulas/coursier
# Then bootstrap Metals:
coursier bootstrap org.scalameta:metals_2.13:1.6.5 -o metals -f
# Move the generated `metals` binary to a directory on your PATH
# Or with recommended JVM options:
coursier bootstrap \
--java-opt -XX:+UseG1GC \
--java-opt -XX:+UseStringDeduplication \
--java-opt -Xss4m \
--java-opt -Xms100m \
org.scalameta:metals_2.13:1.6.5 -o metals -f
Ensure metals is on your PATH and JAVA_HOME points to a Java 11 or 17 installation.
C/C++ (Supported build tools: sbt, Gradle, Maven, Mill (via Bloop/BSP).
clangd)
Install clangd, the official LLVM-based language server:
# macOS
brew install llvm
# Ubuntu/Debian
sudo apt-get install clangd
# Arch Linux
sudo pacman -S clang
# Or download from LLVM releases
# https://github.com/clangd/clangd/releases
PHP (phpactor)
Install Phpactor:
# Using composer (recommended)
composer global require --dev phpactor/phpactor
# Or using package manager
# macOS with Homebrew:
brew install phpactor/tap/phpactor
Ensure ~/.composer/vendor/bin (or ~/.config/composer/vendor/bin on some systems) is in your PATH.
php-lsp)
Install php-lsp (requires Rust):
cargo install php-lsp
The php-lsp executable needs to be in your PATH.
ruby-lsp)
Install ruby-lsp:
gem install ruby-lsp
C# (omnisharp)
Install OmniSharp (requires .NET SDK):
# macOS with Homebrew:
brew install omnisharp/omnisharp-roslyn/omnisharp-mono
# Or download from releases:
# https://github.com/OmniSharp/omnisharp-roslyn/releases
# Extract and add to PATH, or use the install script:
# Linux/macOS:
curl -L https://github.com/OmniSharp/omnisharp-roslyn/releases/latest/download/omnisharp-linux-x64-net6.0.tar.gz | tar xz -C ~/.local/bin
# Ensure the OmniSharp executable is in your PATH
PowerShell (powershell-editor-services)
Requires PowerShell 7+ (pwsh) installed and available in PATH.
# Windows (winget)
winget install Microsoft.PowerShell
# macOS
brew install powershell/tap/powershell
# Ubuntu/Debian
# See: https://learn.microsoft.com/en-us/powershell/scripting/install/install-ubuntu
The PowerShellEditorServices module is not installed automatically at runtime. Install it manually:
Install-Module -Name PowerShellEditorServices -Scope CurrentUser
HTML/CSS/ESLint (vscode-langservers)
Install @zed-industries/vscode-langservers-extracted for HTML, CSS, and ESLint:
# npm
npm install -g @zed-industries/vscode-langservers-extracted
# pnpm
pnpm install -g @zed-industries/vscode-langservers-extracted
# bun
bun install -g @zed-industries/vscode-langservers-extracted
This provides vscode-html-language-server, vscode-css-language-server, and vscode-eslint-language-server executables.
The ESLint language server requires ESLint to be installed in your project:
npm install --save-dev eslint
LaTeX (texlab)
Install texlab, a cross-platform LSP implementation for LaTeX:
# Cargo
cargo install --locked texlab
# macOS
brew install texlab
# Arch Linux
pacman -S texlab
# Windows
scoop install texlab
# or
choco install texlab
The texlab executable needs to be in your PATH. Supports .tex, .bib, .cls, and .sty files.
julia-lsp)
Install LanguageServer.jl in Julia:
using Pkg
Pkg.add("LanguageServer")
Pkg.add("SymbolServer")
Make sure julia is in your PATH. The language server will automatically detect your Julia project environment based on Project.toml.
Vue (Note: The language server may take some time to start on first use while it precompiles. Subsequent starts will be faster, especially with Julia 1.9+.
vue-volar)
Install @vue/language-server (v2.x) globally for Vue.js Single File Component support:
# npm
npm install -g @vue/language-server@2
# pnpm
pnpm install -g @vue/language-server@2
# bun
bun install -g @vue/language-server@2
Important: Version 2.x is required. Version 3.x removed the internal TypeScript communication layer and requires the LSP client to implement custom request forwarding (
tsserver/request→tsserver/response) between Vue and TypeScript language servers. Claude Code's simple LSP integration does not support this mechanism. See v3 upgrade guide for details.
The plugin launcher scans PATH and picks the newest compatible vue-language-server 2.x.x binary (ignoring 3.x.x).
Important: For full functionality, TypeScript must be installed in your project:
npm install --save-dev typescript
The language server uses the project's node_modules/typescript/lib for type checking. This enables:
- Template expression type-checking
- Component prop validation
- Slot type inference
- CSS/SCSS intellisense in
<style>blocks - Go-to-definition across
<template>,<script>,<style>
Svelte (Note: This plugin complements the existing
vtslsplugin for TypeScript, providing full Vue + TS coverage.
svelte-lsp)
Install svelte-language-server globally for Svelte Single File Component support:
# npm
npm install -g svelte-language-server
# bun
bun add -g svelte-language-server
# pnpm
pnpm add -g svelte-language-server
This provides:
- Diagnostics for
.sveltefiles - Hover info and completions
- Go-to-definition for components and props
- TypeScript support within
<script>blocks
bsl-language-server)
Install bsl-language-server, the Language Server Protocol implementation for BSL (1C:Enterprise) and OneScript.
Download the native executable for your platform from GitHub Releases:
| Platform | Download |
|---|---|
| Windows | bsl-language-server_win.zip |
| macOS | bsl-language-server_mac.zip |
| Linux | bsl-language-server_nix.zip |
Extract the archive and add the directory containing bsl-language-server executable to your PATH:
# Linux/macOS example
unzip bsl-language-server_nix.zip -d ~/bsl-language-server
export PATH="$HOME/bsl-language-server/bin:$PATH"
# Add to your shell profile (~/.bashrc, ~/.zshrc, etc.) to make it permanent
# Windows (PowerShell) example
Expand-Archive bsl-language-server_win.zip -DestinationPath $env:USERPROFILE\bsl-language-server
$env:PATH += ";$env:USERPROFILE\bsl-language-server\bin"
# Add to system PATH via System Properties to make it permanent
The bsl-language-server executable needs to be in your PATH. Supports .bsl and .os files.
ada-language-server)
Install ada_language_server from AdaCore for Ada, SPARK, and GPR project support.
Using Alire (recommended):
alr get ada_language_server
cd ada_language_server*
alr build
# Add the bin directory to your PATH
From GitHub releases:
Download pre-built binaries from GitHub Releases.
From source:
git clone https://github.com/AdaCore/ada_language_server.git
cd ada_language_server
make
# Add the resulting executable to your PATH
The ada_language_server executable needs to be in your PATH. Supports .adb (body), .ads (spec), .adc (configuration), and .gpr (project) files.
OCaml (Note: For best results, ensure your project has a valid
.gprproject file. The language server uses GNAT project files to understand project structure and dependencies.
ocaml-lsp)
Install ocaml-lsp-server using opam (OCaml package manager):
# Install opam first (if not already installed)
# macOS
brew install opam
# Ubuntu/Debian
apt install opam
# Initialize opam (first time only)
opam init
eval $(opam env)
# Install ocaml-lsp-server
opam install ocaml-lsp-server
The plugin uses opam exec -- ocamllsp to run the language server, ensuring correct PATH resolution within your opam environment.
Supports .ml (implementation), .mli (interface), .mly (Menhir parser), and .mll (OCamllex lexer) files.
Dart (Note: Make sure you have an active opam switch with OCaml installed. The language server works best when run from a project directory with a proper
dunebuild setup.
dart)
Install the Dart SDK or Flutter (which includes Dart). The language server uses the dart language-server command which is built into the Dart SDK.
Option 1: Flutter (recommended for Flutter projects)
# macOS
brew install --cask flutter
# Linux (snap)
sudo snap install flutter --classic
# Windows (winget)
winget install Google.Flutter
# Or from https://flutter.dev/docs/get-started/install
Option 2: Standalone Dart SDK
# macOS
brew install dart
# Linux (apt)
sudo apt-get install dart
# Windows (winget)
winget install Google.Dart
# Or from https://dart.dev/get-dart
Ensure dart is in your PATH. You can verify with:
dart language-server --help
Solidity (solidity-language-server)
A fast Solidity language server built in Rust, powered by Foundry's AST. Provides go-to-definition, find-references, rename, completions, hover (with NatSpec docs and selectors), document links, formatting (via forge fmt), and diagnostics.
Install via Cargo:
cargo install solidity-language-server
Or download a pre-built binary from the latest release.
Ensure solidity-language-server is in your PATH. You can verify with:
solidity-language-server --version
Your project should have a foundry.toml at the root (i.e., be a Foundry project).
mdbase-lsp)
A language server for mdbase markdown collections. Provides diagnostics, completions, hover info, and go-to-definition for mdbase frontmatter and link targets.
Build from source:
git clone https://github.com/callumalpass/mdbase-lsp.git
cd mdbase-lsp
cargo build --release
Then add the binary to your PATH (e.g., copy target/release/mdbase-lsp to a directory in $PATH).
Or download a pre-built binary from the latest release.
Ensure mdbase-lsp is in your PATH. Your project must be a valid mdbase collection (a folder containing mdbase.yaml).
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found