BO

bug-ops/mcpls

Developer tools
57 stars 0 forks 品質 80 トレンド 80

mcpls is a universal bridge between AI coding assistants and language servers. It exposes the full power of LSP — type inference, cross-reference analysis, semantic navigation — through the Model...

概要

mcpls is a universal bridge between AI coding assistants and language servers. It exposes the full power of LSP — type inference, cross-reference analysis, semantic navigation — through the Model...

README

mcpls

Stop treating code as text. Give your AI agent a compiler’s understanding.

mcpls is a universal bridge between AI coding assistants and language servers. It exposes the full power of LSP — type inference, cross-reference analysis, semantic navigation — through the Model Context Protocol, enabling AI agents to reason about code the way IDEs do.

Why mcpls?

AI coding assistants are remarkably capable, but they’re working blind. They see code as text, not as the structured, typed, interconnected system it actually is.

mcpls changes that. By bridging MCP and LSP, it gives AI agents access to:

  • Type information — Know exactly what a variable is, not what it might be
  • Cross-references — Find every usage of a symbol across your entire codebase
  • Semantic navigation — Jump to definitions, implementations, type declarations
  • Real diagnostics — See actual compiler errors, not hallucinated ones
  • Safe refactoring — Rename symbols with confidence, workspace-wide

[!TIP] Zero configuration for Rust projects. Just install mcpls and rust-analyzer — ready to go.

Installation

Linux / 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

Both scripts detect your OS/architecture, download the matching release archive, verify its SHA256 checksum, and install mcpls to a per-user directory (~/.local/bin on Linux/macOS, $HOME\.local\bin on Windows) — no sudo/admin rights required.

Quick Start

1. Configure Claude Code (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mcpls": {
      "command": "mcpls",
      "args": []
    }
  }
}

2. Experience the difference:

You: What's the return type of process_request on line 47?

Claude: [get_hover] It returns Result where:
        - Response is defined in src/types.rs:23
        - ApiError is an enum with variants: Network, Parse, Timeout

You: Find everywhere ApiError::Timeout is handled

Claude: [get_references] Found 4 matches:
        - src/handlers/api.rs:89 — retry logic
        - src/handlers/api.rs:156 — logging
        - src/middleware/timeout.rs:34 — wrapper
        - tests/api_tests.rs:201 — test case

MCP Tools

Configuration

Supported Language Servers

mcpls works with any LSP 3.17 compliant server. Battle-tested with:

Architecture

Documentation

Development

cargo build              # Build
cargo nextest run        # Test
cargo run -- --log-level debug  # Run locally

Requirements: Rust 1.88+ (Edition 2024)

Contributing

Contributions welcome. See CONTRIBUTING.md for guidelines.

License

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


mcpls — Because AI deserves to understand code, not just read it.

View this README on GitHub

インストール

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

Open the repository installation guide

設定

{ "mcpServers": { "mcpls": { "command": "mcpls", "args": [] } } }