MCP-MultilspyLSP

by asimihsan
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports language intelligence for Dart code through the Dart Language Server, offering completions, definitions, and static analysis capabilities

  • Provides language intelligence features for JavaScript code including completions, definitions, references, and document symbols through TypeScriptLanguageServer

  • Required for JavaScript/TypeScript language server support, enabling intelligence features for Node.js projects

MCP-MultilspyLSP

An MCP server that exposes Language Server Protocol (LSP) capabilities through multilspy.

What is this?

This project provides an MCP (Model Context Protocol) server that gives language models access to language intelligence features from the Language Server Protocol (LSP). It uses multilspy, a Python library that simplifies interfacing with various language servers.

Features

  • Language Intelligence: Get code completions, find definitions, references, and more
  • Multi-language Support: Works with multiple programming languages including Python, Java, TypeScript, and more
  • Easy Integration: Works with any MCP-compatible client like Claude Desktop
  • Static Analysis: Leverage the power of language servers for code understanding

Installation

pip install mcp-multilspy

Usage

Start the server directly:

mcp-multilspy

Or install it in Claude Desktop:

mcp install mcp-multilspy

Supported Languages

  • Java (Eclipse JDTLS)
  • Python (jedi-language-server)
  • Rust (Rust Analyzer)
  • C# (OmniSharp/RazorSharp)
  • TypeScript (TypeScriptLanguageServer)
  • JavaScript (TypeScriptLanguageServer)
  • Go (gopls)
  • Dart (Dart Language Server)
  • Ruby (Solargraph)

Example

Here's how to use this server with an MCP client:

# Initialize a TypeScript language server session session = await initialize_language_server( session_id="ts-session", project_root="/path/to/project", language="typescript" ) # Find where a symbol is defined definitions = await request_definition( session_id="ts-session", file_path="src/index.ts", line=10, # 0-indexed column=15 # 0-indexed ) # Find all references to a symbol references = await request_references( session_id="ts-session", file_path="src/index.ts", line=10, column=15 ) # Get code completion suggestions completions = await request_completions( session_id="ts-session", file_path="src/index.ts", line=10, column=15 ) # Get hover information hover_info = await request_hover( session_id="ts-session", file_path="src/index.ts", line=10, column=15 ) # Get document symbols symbols = await request_document_symbols( session_id="ts-session", file_path="src/index.ts" ) # Clean up when done await shutdown_language_server(session_id="ts-session")

Requirements

  • Python 3.12 or higher
  • Language-specific requirements:
    • For Java: JDK 17.0.6 or higher
    • For JavaScript/TypeScript: Node.js v18.16.0 or higher

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

An MCP server that enables language models to access code intelligence features like completions, definitions, and references across multiple programming languages through the Language Server Protocol.

  1. What is this?
    1. Features
      1. Installation
        1. Usage
          1. Supported Languages
            1. Example
              1. Requirements
                1. License