← all repositories
isaacphi/mcp-language-server

LLMs deserve go-to-definition too

Wraps stdio language servers into an MCP server so LLMs can navigate code with real semantic tools.

1.6k stars Go Coding AssistantsAgents
mcp-language-server
Not currently ranked — collecting fresh signals.
star history

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_symbol and an edit_file utility 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.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.