MCPLS

v1.0.0Developer Toolsstable

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

ai-agentsai-toolsclicode-completioncode-intelligence
Share:
34
Stars
0
Downloads
0
Weekly
0/5

What is MCPLS?

MCPLS is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to universal mcp to lsp bridge - expose language server protocol capabilities as mcp tools for ai agents

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

This server falls under the Developer Tools and Coding Agents categories on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Universal MCP to LSP bridge - expose Language Server Protoco

Use Cases

Bridge Language Server Protocol with MCP tools.
Expose code intelligence capabilities to AI agents.
Enable cross-platform code navigation.
bug-ops

Maintainer

LicenseApache-2.0
Languagerust
Versionv1.0.0
UpdatedMay 20, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx mcpls

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use MCPLS

mcpls is a universal bridge between AI coding assistants and Language Server Protocol (LSP) servers, exposing compiler-grade code intelligence — type inference, cross-reference analysis, semantic navigation, real diagnostics, and safe workspace-wide refactoring — as MCP tools that AI agents can call directly. Written in Rust as a single dependency-free binary, it auto-detects project language markers and spawns the appropriate language servers (rust-analyzer, pyright, tsserver, gopls, clangd, zls) on demand. Developers integrate it with Claude Code or Claude Desktop so their AI assistant can reason about code the way an IDE does rather than treating source files as plain text.

Prerequisites

  • Rust 1.85+ (for building from source) or a pre-built binary from the GitHub Releases page
  • At least one LSP-compliant language server installed (e.g. rust-analyzer via `rustup component add rust-analyzer`, pyright via `npm install -g pyright`, gopls via `go install golang.org/x/tools/gopls@latest`)
  • An MCP-compatible client such as Claude Desktop or Claude Code
  • cargo for installation from crates.io
1

Install mcpls via cargo

The simplest installation path is cargo install. Pre-built binaries for Linux, macOS (Intel and Apple Silicon), and Windows are also available on the GitHub Releases page.

cargo install mcpls
2

Install language servers for the languages you work in

mcpls uses graceful degradation — it skips any language server that is not installed. Install at least one for your primary language.

# Rust
rustup component add rust-analyzer

# Python
npm install -g pyright

# TypeScript / JavaScript
npm install -g typescript-language-server typescript

# Go
go install golang.org/x/tools/gopls@latest
3

Add mcpls to your MCP client configuration

For Claude Desktop, edit ~/Library/Application Support/Claude/claude_desktop_config.json on macOS (or %APPDATA%\Claude\claude_desktop_config.json on Windows). No additional arguments are required for most projects.

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

Restart your MCP client

Quit and relaunch Claude Desktop so it connects to mcpls. The server will auto-detect language servers based on project markers (Cargo.toml, pyproject.toml, package.json, go.mod, etc.) when you open a project.

5

Optional: create a project-level config file

Place a mcpls.toml in ~/.config/mcpls/ to customise workspace roots, language server paths, heuristics, and log level. The MCPLS_LOG environment variable controls verbosity at runtime.

[workspace]
roots = ["/path/to/project"]

[[lsp_servers]]
language_id = "rust"
command = "rust-analyzer"
args = []

[lsp_servers.initialization_options]
cargo.features = "all"
checkOnSave.command = "clippy"

MCPLS Examples

Client configuration

Minimal Claude Desktop configuration. mcpls is a single binary with no runtime dependencies, so no env vars are required for basic use.

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

Prompts to try

Example prompts that exercise mcpls tools such as get_hover, get_references, get_diagnostics, rename_symbol, and get_incoming_calls.

- "What is the return type of the process_request function on line 47 of src/handlers/api.rs?"
- "Find every place ApiError::Timeout is referenced across the workspace"
- "Show me all diagnostics (compiler errors and warnings) in the current project"
- "Rename the variable `usr` to `user` everywhere in the workspace"
- "What functions does the authenticate method call?"
- "Give me the full call hierarchy for the main entry point"

Troubleshooting MCPLS

mcpls starts but reports no language servers available

mcpls checks for project markers before spawning a language server. Make sure your project contains the expected files (e.g. Cargo.toml for Rust, pyproject.toml or requirements.txt for Python). Also verify the language server binary is on your PATH by running it directly (e.g. `rust-analyzer --version`).

get_hover or get_references return empty results

Language servers need time to index the project after startup. Wait a few seconds after opening a project and retry. You can set MCPLS_LOG=debug to see language server startup events.

Config file changes are not picked up

Set the MCPLS_CONFIG environment variable to an explicit path to your mcpls.toml file, or verify that the file is in the platform default location (~/.config/mcpls/mcpls.toml on Linux and macOS).

Frequently Asked Questions about MCPLS

What is MCPLS?

MCPLS is a Model Context Protocol (MCP) server that universal mcp to lsp bridge - expose language server protocol capabilities as mcp tools for ai agents It connects AI assistants to external tools and data sources through a standardized interface.

How do I install MCPLS?

Follow the installation instructions on the MCPLS GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with MCPLS?

MCPLS works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is MCPLS free to use?

Yes, MCPLS is open source and available under the Apache-2.0 license. You can use it freely in both personal and commercial projects.

Browse More Developer Tools MCP Servers

Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "mcpls": { "command": "npx", "args": ["-y", "mcpls"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide →

Ready to use MCPLS?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides