isaacphi_mcp-language-server
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
read_definition
Get the complete source code definition of the symbol
find_references
Find all references to symbols
get_diagnostics
Get diagnostic information for files
get_codelens
Get code lens prompts
execute_codelens
Perform code lens operation
apply_text_edit
Multi-text editing of files