Get the FREE Ultimate OpenClaw Setup Guide →

mcpls

Universal MCP to LSP bridge - expose Language Server Protocol capabilities as MCP tools for AI agents

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio bug-ops-mcpls mcpls

How to use

mcpls acts as a bridge between MCP (Model Context Protocol) and various language servers via the LSP ecosystem. It exposes a set of Code Intelligence tools (e.g., get_hover, get_definition, get_references, get_completions, get_document_symbols, workspace_symbol_search) to an AI agent, enabling it to perform type resolution, cross-reference lookups, and semantic navigation across your codebase. In practice, you configure mcpls in your IDE or tooling (as shown in the Quick Start) and then query the workspace using the MCP tools to inspect types, definitions, references, and suggested edits. It also offers Diagnostics, Refactoring, and Server Monitoring capabilities to help you understand and improve your code reasoning workflow within AI-assisted development.

To use mcpls, install it (and a supported language server in parallel), ensure at least one language server is available (Rust, Python, TypeScript, Go, etc.), and start mcpls. Your agent can then request information using tools like get_hover for type signatures, get_definition to jump to symbol definitions, get_references to locate all usages, and get_diagnostics to surface real compiler errors. You can also leverage refactoring tools such as rename_symbol and format_document, and monitor the server via get_server_logs and get_server_messages for debugging.

How to install

Prerequisites:

  • Rust toolchain installed (required for building mcpls from source or using cargo install).
  • Optional: pre-built binaries or release assets if you prefer not to build from source.

Install from crates (preferred for this MCP server):

  1. Ensure Rust is installed on your system.
  2. Install mcpls via cargo:
    cargo install mcpls
    
  3. Verify installation:
    mcpls --version
    

Alternative: From source (for contributing or building custom variants):

  1. Clone the repository:
    git clone https://github.com/bug-ops/mcpls
    cd mcpls
    
  2. Build and install the CLI from the mcpls crate:
    cargo install --path crates/mcpls-cli
    

Pre-built binaries and other methods are available from the project releases page. After installation, configure a minimal MCP server block (as shown in the Quick Start) and run mcpls with the desired configuration.

Additional notes

Tips and common issues:

  • At least one language server must be available for mcpls to function; ensure your environment has rust-analyzer, pyright, typescript-language-server, gopls, or another supported server installed.
  • Environment variables for mcpls:
    • MCPLS_CONFIG: Path to the configuration file (default auto-detect).
    • MCPLS_LOG: Log level (trace, debug, info, warn, error); default is info.
    • MCPLS_LOG_JSON: Whether to emit logs in JSON format (true/false); default false.
  • Configuration files are platform-specific; see the Full Configuration Example in the README for reference.
  • The MCP tools are designed to work across multiple language servers; if a server fails, mcpls degrades gracefully and continues with the remaining servers.
  • The Quick Start example shows integrating mcpls into Claude Code; you can adapt the same pattern to other IDEs or editors that support MCP tooling.

Related MCP Servers

Sponsor this space

Reach thousands of developers