mcp-language-server

by isaacphi

Pending

mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.

1,428stars
112forks
Go
Added 12/27/2025
MCP Serversailanguage-server-protocolmcpmcp-servermodel-context-protocol
Installation
# Add to your Claude Code skills
git clone https://github.com/isaacphi/mcp-language-server
README.md

MCP Language Server

Go Tests Go Report Card GoDoc Go Version

This is an MCP server that runs and exposes a language server to LLMs. Not a language server for MCP, whatever that would be.

Demo

mcp-language-server helps MCP enabled clients navigate codebases more easily by giving them access semantic tools like get definition, references, rename, and diagnostics.

Demo

Setup

  1. Install Go: Follow instructions at https://golang.org/doc/install
  2. Install or update this server: go install github.com/isaacphi/mcp-language-server@latest
  3. Install a language server: follow one of the guides below
  4. Configure your MCP client: follow one of the guides below
<details> <summary>Go (gopls)</summary> <div> <p><strong>Install gopls</strong>: <code>go install golang.org/x/tools/gopls@latest</code></p> <p><strong>Configure your MCP client</strong>: This will be different but similar for each client. For Claude Desktop, add the following to <code>~/Library/Application\ Support/Claude/claude_desktop_config.json</code></p> <pre> { "mcpServers": { "language-server": { "command": "mcp-language-server", "args": ["--workspace", "/Users/you/dev/yourproject/", "--lsp", "gopls"], "env": { "PATH": "/opt/homebrew/bin:/Users/you/go/bin", "GOPATH": "/users/you/go", "GOCACHE": "/users/you/Library/Caches/go-build", "GOMODCACHE": "/Users/you/go/pkg/mod" } } } } </pre> <p><strong>Note</strong>: Not all clients will need these environment variables. For Claude Desktop you will need to update the environment variables above based on your machine and username:</p> <ul> <li><code>PATH</code> needs to contain the path to <code>go</code> and to <code>gopls</code>. Get this with <code>echo $(which go):$(which gopls)</code></li> <li><code>GOPATH</code>, <code>GOCACHE</code>, and <code>GOMODCACHE</code> may be different on your machine. These are the defaults.</li> </ul> </div> </details> <details> <summary>Rust (rust-analyzer)</summary> <div> <p><strong>Install rust-analyzer</strong>: <code>rustup component add rust-analyzer</code></p> <p><strong>Configure your MCP client</strong>: This will be different but similar for each client. For Claude Deskt...