mcp-language-server
by isaacphi·★ 1,527·Score 55
MCP language server bridges LSP tools to MCP clients enabling code navigation, definitions, references and diagnostics.
Overview
The mcp-language-server is a MCP server that exposes language server protocol (LSP) functionality to LLM clients through the Model Context Protocol. It allows AI models to access semantic code analysis tools including symbol definitions, references, diagnostics, hover information, and renaming capabilities across multiple programming languages including Go, Rust, Python, TypeScript, and C++. The implementation handles LSP communication via stdio and passes environment variables and arguments to language servers.
Try asking AI
After installing, here are 5 things you can ask your AI assistant:
When to choose this
Choose this when you need to connect LLM clients to existing language servers for code analysis and navigation across multiple programming languages.
When NOT to choose this
Avoid this if you need advanced IDE features beyond basic language server capabilities or if you're working with a language server that doesn't communicate over stdio.
Tools this server exposes
6 tools extracted from the READMEdefinitionRetrieves the complete source code definition of any symbol from your codebase.
referencesLocates all usages and references of a symbol throughout the codebase.
diagnosticsProvides diagnostic information for a specific file, including warnings and errors.
hoverDisplay documentation, type hints, or other hover information for a given location.
rename_symbolRename a symbol across a project.
edit_fileAllows making multiple text edits to a file based on line numbers.
Comparable tools
Installation
Installation
- Install Go: Follow instructions at https://golang.org/doc/install
- Install the server:
go install github.com/isaacphi/mcp-language-server@latest - Install a language server of your choice (gopls, rust-analyzer, pyright, etc.)
Configuration
Add to Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"language-server": {
"command": "mcp-language-server",
"args": ["--workspace", "/path/to/your/project", "--lsp", "gopls"]
}
}
}FAQ
- Which language servers are supported?
- The server has been tested with gopls (Go), rust-analyzer (Rust), pyright (Python), typescript-language-server (TypeScript), and clangd (C/C++). It should work with any LSP server that communicates over stdio.
- How do I debug issues?
- Set the LOG_LEVEL environment variable to DEBUG to enable verbose logging to stderr for all components, including messages to and from the language server.
On Hacker News
Recent discussion from the developer community.
- Story by isaacphi · 2025-05-16
- Story by wseqyrku · 2025-03-25
Compare mcp-language-server with
Last updated · Auto-generated from public README + GitHub signals.