The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Mcpls
Universal MCP to LSP bridge - expose Language Server Protocol capabilities as MCP tools for AI agents
Install
claude mcp add --scope user mcpls -- mcplsInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →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: https://bug-ops.github.io/mcpls/
| 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
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<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, symbol search, formatting, inlay hints, selection and folding ranges
- 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
unsafecode
Security
Similar plugs
Reverse engineer anything with agents, from app behavior down to native binaries.
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io