isaacphi_mcp-language-server

isaacphi_mcp-language-server

3.2

If you are the rightful owner of isaacphi_mcp-language-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A Model Context Protocol (MCP) server that runs a language server and provides tools for communicating with it.

The MCP Language Server is designed to enhance the experience of working with large codebases by integrating language server capabilities with LLMs. Language servers are adept at understanding types, relationships, and providing accurate symbol references, which are areas where LLMs often struggle. This project aims to bridge that gap by bringing language server tools to LLMs, inspired by the Language Server Protocol (LSP). The server is currently in pre-beta quality and has been tested with several language servers, including pyright for Python, tsserver for TypeScript, gopls for Go, and rust-analyzer for Rust. It is expected to be compatible with many other language servers as well. The server provides a suite of tools for code analysis and manipulation, such as reading definitions, finding references, and applying text edits. It also supports workspace edits, allowing for actions like refactoring and code formatting. The server is built using components from gopls for LSP communication and mcp-golang for MCP communication.

Features

  • Retrieves complete source code definitions of symbols.
  • Locates all usages and references of a symbol.
  • Provides diagnostic information including warnings and errors.
  • Retrieves code lens hints for additional context and actions.
  • Allows programmatic text edits to a file.

Tools

  1. read_definition

    Get the complete source code definition of the symbol

  2. find_references

    Find all references to symbols

  3. get_diagnostics

    Get diagnostic information for files

  4. get_codelens

    Get code lens prompts

  5. execute_codelens

    Perform code lens operation

  6. apply_text_edit

    Multi-text editing of files