MCP Catalogs
Home

mcpls

by bug-ops·34·Score 46

Universal MCP to LSP bridge that exposes Language Server Protocol capabilities as MCP tools for AI agents.

developer-toolsai-llmops-infra
8
Forks
25
Open issues
this month
Last commit
2d ago
Indexed

Overview

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. This tool provides AI agents with type information, cross-references, semantic navigation, real diagnostics, and safe refactoring capabilities.

Try asking AI

After installing, here are 5 things you can ask your AI assistant:

you:Enhancing AI code analysis with real type information and cross-references
you:Enabling safe refactoring across entire codebases with symbol renaming
you:Providing accurate diagnostics from actual compiler errors
you:Which language servers are supported?
you:Does mcpls require configuration?

When to choose this

Choose mcpls when you need AI coding assistants to have deep, structured understanding of your codebase beyond text processing, with access to type systems, cross-references, and real diagnostics.

When NOT to choose this

Don't choose mcpls if you're working primarily with non-LSP supported languages or need write capabilities beyond refactoring, as it focuses on exposing read-only LSP intelligence through MCP.

Tools this server exposes

12 tools extracted from the README
  • get_hover

    Type signatures, documentation, inferred types at any position

  • get_definition

    Jump to where a symbol is defined — across files, across crates

  • get_references

    Every usage of a symbol in your workspace

  • get_completions

    Context-aware suggestions that respect types and scope

  • get_document_symbols

    Structured outline — functions, types, constants, imports

  • workspace_symbol_search

    Find symbols by name across the entire workspace

  • get_diagnostics

    Real compiler errors and warnings, not guesses

  • get_code_actions

    Quick fixes, refactorings, and source actions at a position

  • rename_symbol

    Workspace-wide rename with full reference tracking

  • format_document

    Apply language-specific formatting rules

  • get_incoming_calls

    Find all callers of a function (who calls this?)

  • get_outgoing_calls

    Find all callees of a function (what does this call?)

Comparable tools

mcp-xrefide-mcplsp-mcp-bridgesemantic-mcp

Installation

Installation

cargo install mcpls

Or download pre-built binaries from GitHub Releases.

Configure Claude Code

Add to ~/.claude/claude_desktop_config.json:

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

Prerequisites

Install at least one language server:

  • Rust: rustup component add rust-analyzer
  • Python: npm install -g pyright
  • TypeScript: npm install -g typescript-language-server typescript
  • Go: go install golang.org/x/tools/gopls@latest

FAQ

Which language servers are supported?
mcpls works with any LSP 3.17 compliant server including rust-analyzer, pyright, typescript-language-server, gopls, clangd, jdtls, zls, and 24+ others.
Does mcpls require configuration?
No configuration needed for Rust projects with rust-analyzer. For other languages, mcpls uses smart heuristics to spawn only relevant language servers based on project markers.

On Hacker News

Recent discussion from the developer community.

Compare mcpls with

GitHub →

Last updated · Auto-generated from public README + GitHub signals.