MCP-LSP协议桥接器

mcpls 是连接 MCP 与 LSP 的桥接服务,通过将语言服务器的类型信息、引用、诊断和重构能力暴露为 MCP 工具,使 AI 编程代理能像 IDE 一样理解代码,适用于 AI 驱动的代码分析和智能开发。

  • by bug-ops
  • Rust
  • 本地部署
  • 79 星标
  • 更新于
在 GitHub 查看 bug-ops/mcpls

使用说明

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 unsafe code

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.