mcpls

io.github.bug-opsPublished by GitHub account bug-opsv0.9.1Updated Nov 3, 2026

Universal MCP to LSP bridge exposing language server code intelligence as MCP tools

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

Bridges MCP to language servers (LSP), giving an AI assistant IDE-style code intelligence: types, references, diagnostics and refactors.

What you can do
  • Inspect code: hover type information and documentation at a position or symbol name
  • Navigate: definitions, references, implementations, call and type hierarchies
  • Check code: real compiler diagnostics from the language server
  • Edit: rename and code-action edits returned for the client to apply
  • Explore: workspace symbol search across several language servers, formatting, inlay hints, selection and folding ranges
  • Manage: restart language servers on demand
When to use it
Useful when an AI coding agent should reason about a real project the way an IDE does — resolving types, finding every reference, or getting compiler diagnostics instead of guesses — especially in Rust, Python, Go or polyglot workspaces.
Requirements
Runs locally as a single Rust binary, installed via Cargo or the provided install scripts. Needs at least one language server installed for the target language (for example rust-analyzer). stdio by default; optional HTTP transport with Host and Origin allowlists. No credentials declared.
Before you install
Language servers execute code that ships with the workspace, and mcpls does not sandbox them; review the security documentation before pointing it at code you did not write. Rename and code-action tools return edits that the client applies, so changes to files can follow. Untrusted-workspace mode exists for analyzing code you do not trust.

Installation

In SourceWeft

  1. Open mcpls 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

mcpls

[Crates.io] [docs.rs] [CI] [codecov] [MSRV] [License]

Give your AI coding agent a compiler's understanding of your code.

mcpls is a bridge between the Model Context Protocol (MCP) and the Language Server Protocol (LSP). It runs the language servers for your project (rust-analyzer, pyright, gopls, and others) and exposes their type information, references, diagnostics and refactoring as 31 MCP tools, so an AI client reasons about code the way an IDE does.

mermaid
flowchart LR    C["AI client"] <-->|MCP| M["mcpls"] <-->|LSP| S["rust-analyzer / pyright / gopls / ..."]

Documentation

The full documentation is the mcpls book: https://bug-ops.github.io/mcpls/

TopicChapter
Install and first runInstallation
Connect Claude Code or another clientConnect an AI Client
Configure language serversConfiguration
All 31 toolsTools Overview
Something does not workTroubleshooting
HTTP transport and allowlistsTransports
Security model and untrusted workspacesSecurity and Trust
Every flag and config keyReference

Installation

Linux and macOS:

bash
curl -fsSL https://raw.githubusercontent.com/bug-ops/mcpls/main/scripts/install.sh | sh

Windows (PowerShell):

powershell
irm https://raw.githubusercontent.com/bug-ops/mcpls/main/scripts/install.ps1 | iex

Or with Cargo:

bash
cargo install mcpls

Prebuilt archives for Linux, macOS and Windows (x86_64 and aarch64) with SHA256 checksums and build-provenance attestations are on GitHub Releases.

mcpls is also listed in the official MCP Registry as io.github.bug-ops/mcpls (cargo package, stdio transport), so registry-aware clients can discover it there. The listing installs the same crate as cargo install mcpls.

You also need at least one language server, for example rustup component add rust-analyzer. See Installation for other methods and servers.

Quick start

Register mcpls with Claude Code:

bash
claude mcp add --scope user mcpls -- mcpls

Then ask about your code:

text
You:    What is the return type of process_request?Claude: [get_hover] It returns Result<Response, ApiError>.
You:    Find everywhere ApiError::Timeout is handled.Claude: [get_references] Found 4 matches: src/handlers/api.rs:89, ...

Rust projects need no configuration. Other languages and clients are covered in the book.

Features

  • Type information and documentation at any position
  • Cross-references, definitions, implementations across the whole workspace
  • Real diagnostics from the compiler, not guesses
  • Rename and code-action edits returned for the client to apply
  • Call and type hierarchies, formatting, inlay hints, selection and folding ranges
  • Workspace symbol search across every language server of a polyglot project, with each symbol tagged by its server
  • Address code by symbol name as well as by position, and restart language servers on demand
  • Several language servers at once, started concurrently and stopped with mcpls, with graceful degradation when one fails
  • stdio by default, optional HTTP transport with Host and Origin allowlists and resource subscriptions
  • Untrusted-workspace mode for analyzing code you do not trust
  • Single Rust binary, no runtime dependencies, no unsafe code; release archives carry build-provenance attestations

Security

Language servers run code that comes with the workspace, and mcpls does not sandbox them. Read SECURITY.md and the Security and Trust chapter before pointing mcpls at code you did not write.

Agent skill

skills/mcpls is a packaged Agent Skill that teaches an AI coding agent to install, configure and run mcpls.

Development

bash
cargo buildcargo nextest run --workspace --all-features

Requires Rust 1.99 or later (edition 2024). The book lives in book/ and is built with mdBook. See CONTRIBUTING.md.

Community

Participation is governed by the Code of Conduct. Accessibility of the output and documentation is described in ACCESSIBILITY.md.

License

Dual-licensed under Apache 2.0 or MIT at your option.

Source: README.md at commit f13ba47

Tools

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

Version history

2
  1. v0.9.1LatestNov 3, 2026
  2. v0.9.0Nov 1, 2026

Score

50% 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