BO

bug-ops/mcpls

Developer tools
81 stars 19 forks Quality 61 Trend 35Apache-2.0

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...

Overview

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...

README

mcpls

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.

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

Documentation

The full documentation is the mcpls book: ****

Topic Chapter
Install and first run Installation
Connect Claude Code or another client Connect an AI Client
Configure language servers Configuration
All 31 tools Tools Overview
Something does not work Troubleshooting
HTTP transport and allowlists Transports
Security model and untrusted workspaces Security and Trust
Every flag and config key Reference

Installation

Linux and macOS:

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

Windows (PowerShell):

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

Or with Cargo:

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:

claude mcp add --scope user mcpls -- mcpls

Then ask about your code:

You:    What is the return type of process_request?
Claude: [get_hover] It returns Result.

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

cargo build
cargo 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.

View the full README on GitHub

Install

This server does not publish a one-line install command.

Open the repository installation guide New to MCP? Start with the mcpskill.org guide →