LSP-MCP Bridge

io.github.Stryk91Published by GitHub account Stryk91v0.1.0Updated Oct 24, 2026

Universal MCP bridge to LSP servers. One binary, 6 languages, config-driven.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

A local MCP bridge that connects an assistant to language servers, giving code hover, definitions, references, symbols and diagnostics.

What you can do
Get documentation and type information at a code position, and jump to definitions or find all references across a project. List symbols in a file and retrieve errors and warnings from the language server. Show which language servers are configured and which file extensions they handle. Requests are routed by file extension to the matching language server, which starts on first use and stays running.
When to use it
Useful when you want an assistant to navigate and check real code with the same language-server analysis your editor uses, across several languages, rather than guessing from raw text.
Requirements
A local Windows binary (the release is an .exe) plus a config.toml placed next to it, listing each language server's command, arguments and file extensions. The referenced language servers (for example rust-analyzer, pyright, lua-language-server) must be installed on the machine. No authentication or environment variables are declared.
Before you install
The bridge starts the language server commands named in config.toml as local processes, so only configure executables you trust. It reads source files from your machine to answer requests. Position arguments are 0-indexed, so off-by-one positions can return wrong results.

Installation

In SourceWeft

  1. Open LSP-MCP Bridge in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

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

ToolDescription
lsp_hoverGet docs/type at position
lsp_definitionGo to definition
lsp_referencesFind all references
lsp_symbolsList symbols in file
lsp_diagnosticsGet errors/warnings
lsp_serversList 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

Source: README.md at commit 85b2697

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.