isaacphi/mcp-language-server
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
1,570 ★139 forksGoUpdated 5mo ago
What you need to know
Go MCP server that runs and exposes a language server (LSP) to LLMs — giving MCP clients semantic code tools: definitions, references, diagnostics, hover, rename, and reliable line-number-based multi-edit file editing.
Install
go install github.com/isaacphi/mcp-language-server@latest Install a language server: gopls (go install golang.org/x/tools/gopls@latest), rustup component add rust-analyzer, npm install -g pyright, npm install -g typescript typescript-language-server, or clangd
Usage
- •Configure your MCP client with --workspace <path> and --lsp <server> (args after `--` are passed to the language server)
- •Example Claude Desktop config: { "command": "mcp-language-server", "args": ["--workspace", "/path/to/project", "--lsp", "gopls"] }
- •For Claude Desktop on macOS, set PATH/GOPATH/GOCACHE/GOMODCACHE env vars for Go
Key features
- ✓Tools: definition, references, diagnostics, hover, rename_symbol, and edit_file (reliable multi-edit on line numbers)
- ✓Language-agnostic — works with any stdio LSP server (tested with gopls, rust-analyzer, pyright, typescript-language-server, clangd)
- ✓Passes env vars and extra args through to the language server
- ✓Snapshot test suite that runs real language servers on mock workspaces
Caveats
- ⚠Beta software
- ⚠The language server must communicate over stdio
- ⚠Requires Go and the relevant language server installed on the machine
Platforms: macOS · Linux · WindowsClients: Claude Desktop · Cursor · other MCP clients
Reviewed 2026-08-07
Topics
ailanguage-server-protocolmcpmcp-servermodel-context-protocol
- Stars
- 1,570★
- Forks
- 139
- Language
- Go
- License
- BSD-3-Clause
- Created
- 2024-12-30
- Last push
- 2026-03-01