LLMs deserve go-to-definition too
Wraps stdio language servers into an MCP server so LLMs can navigate code with real semantic tools.

What it does
mcp-language-server is a protocol bridge: it takes an existing stdio language server—gopls, rust-analyzer, clangd, or others—and exposes its capabilities through the Model Context Protocol. An MCP client such as Claude Desktop can then request definition, references, rename_symbol, diagnostics, hover, or line-based edit_file operations against your workspace. The tool effectively turns your IDE’s brain into a set of callable functions for an LLM.
The interesting bit
Rather than reimplement language analysis, the project hijacks the LSP ecosystem. It borrows protocol definitions from gopls and uses mcp-go to handle MCP chatter, acting as a bilingual middleman between two standardized worlds. The author admits the translation is messy in places—LSP allows the same method to return different shapes, which Go hates, so internal/protocol/interfaces.go contains “ugly workarounds.”
Key highlights
- Supports Go, Rust, Python, TypeScript, and C/C++ out of the box; the author expects many more stdio servers to work.
- Exposes six semantic tools, including
rename_symboland anedit_fileutility the author claims is more reliable than search-and-replace. - Ships with snapshot integration tests that exercise real language servers against mock workspaces.
- Licensed under a permissive BSD-style license and explicitly welcomes small PRs (even “AI slop,” provided it passes checks).
Caveats
- Explicitly labeled as beta software by the author.
- Only language servers that communicate over stdio are compatible.
- The Go implementation contains “ugly workarounds” to handle LSP’s polymorphic return types.
Verdict
A solid bridge if you want LLMs to navigate and refactor code with IDE-grade accuracy instead of blind text munging. Probably premature if you need a stable, drop-in abstraction across many languages.
Frequently asked
- What is isaacphi/mcp-language-server?
- Wraps stdio language servers into an MCP server so LLMs can navigate code with real semantic tools.
- Is mcp-language-server open source?
- Yes — isaacphi/mcp-language-server is open source, released under the BSD-3-Clause license.
- What language is mcp-language-server written in?
- isaacphi/mcp-language-server is primarily written in Go.
- How popular is mcp-language-server?
- isaacphi/mcp-language-server has 1.6k stars on GitHub.
- Where can I find mcp-language-server?
- isaacphi/mcp-language-server is on GitHub at https://github.com/isaacphi/mcp-language-server.