LSP-MCP Bridge
Universal MCP bridge to LSP servers. One binary, 6 languages, config-driven.
Open source Open in the app JSON README (API)
About
Universal MCP bridge to LSP servers. One binary, 6 languages, config-driven.
Details
- Kind
- MCP servers
- Topic
- Developer tools
- Publisher
- stryk91
- Origin
- official
- Category
- ferramentas
- Transport
- local
- Version
- 0.1.0
- Stars
- 1
- Last push
- 2026-01-03T22:08:55Z
- Repository state
- ativo
- Language
- Rust
- Added
- 2026-08-29 03:02:16
- Updated
- 2026-08-29 03:02:16
- Origin id
io.github.Stryk91/lsp-mcp-rs
README
# lsp-mcp-rs
MCP server that bridges to any LSP. One binary, multiple language servers.
## Build
```
cargo build --release
```
Binary: `target/release/lsp-mcp-rs.exe`
## Configure
Create `config.toml` next to the binary:
```toml
[servers.lua]
command = "C:/path/to/lua-language-server.exe"
args = ["--stdio"]
extensions = [".lua"]
[servers.rust]
command = "rust-analyzer"
args = []
extensions = [".rs"]
[servers.python]
command = "pyright-langserver"
args = ["--stdio"]
extensions = [".py"]
```
Add to Claude Desktop config (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"lsp": {
"command": "X:\\path\\to\\lsp-mcp-rs.exe",
"args": []
}
}
}
```
## Tools
| Tool | Description |
|------|-------------|
| `lsp_hover` | Get docs/type at position |
| `lsp_definition` | Go to definition |
| `lsp_references` | Find all references |
| `lsp_symbols` | List symbols in file |
| `lsp_diagnostics` | Get errors/warnings |
| `lsp_servers` | List configured servers |
All position arguments are 0-indexed.
## How it works
1. MCP request comes in with a file path
2. File extension maps to configured LSP server
3. LSP spawns on first use, stays running
4. Request forwarded to LSP, response returned via MCP
## License
MIT
## Authors
DC, KALIC, Stryk9190