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
- Getting Started
- Configuration Reference
- Tools Reference
- Troubleshooting
- Agent Skill — packaged Agent Skill teaching an AI coding agent to install, configure, and run the mcpls CLI
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.
安装
This server does not publish a one-line install command.
Open the repository installation guide配置
{
"mcpServers": {
"mcpls": {
"command": "mcpls",
"args": []
}
}
}