MCP Language Server

A bridge from an LSP language server to the agent: definitions, references, diagnostics, hover and symbol rename

MCP serverMedium risk

isaacphi/mcp-language-server

Install

go install github.com/isaacphi/mcp-language-server@latest

Then install a language server, for example go install golang.org/x/tools/gopls@latest.

This is third-party code. Review the repository files before installing.

What it does

The server launches a chosen language server such as gopls, rust-analyzer, pyright or clangd and exposes its features over MCP. The agent gets a symbol's full definition, all its usages, file diagnostics and hover info with types. Rename works project-wide through LSP rather than text search. There is also a line-number based file editing tool.

Who it is for. For developers who want the agent to navigate a large codebase semantically instead of by grep.

Good fit when

  • You need every call site of a function in a large project
  • You need to rename a type or method safely
  • The agent needs compiler diagnostics for a file without a full build

Not a fit when

  • The agent already runs inside an IDE with LSP access
  • Your language has no stdio language server

Example request

Find every usage of ParseConfig and rename it to LoadConfig

Limitations

Requires Go to install and a separately installed language server. One instance serves one workspace and one LSP. The author calls it beta and tested it only with gopls, rust-analyzer, pyright, typescript-language-server and clangd. Claude Desktop may need PATH and Go variables set explicitly.

How to disable. Remove the language-server block from the MCP config. The binary lives in $GOPATH/bin.

MCP

Transport
stdio
Authentication
not required
Environment variables
Environment variables
LOG_LEVEL
DEBUG enables verbose logs to stderr.

Security check

  • Runs a language server and reads project files
  • Can edit files and rename symbols across the project

README in short

The README covers installation with go install and gives ready Claude Desktop configs for gopls, rust-analyzer, pyright, typescript-language-server and clangd. It lists six tools: definition, references, diagnostics, hover, rename_symbol and edit_file. LSP protocol code is partly adapted from gopls, and mcp-go handles MCP. Snapshot tests run against real language servers. BSD-3-Clause licensed.

FAQ

Which languages are supported?

Any with a stdio language server. Go, Rust, Python, TypeScript and C/C++ are tested.

How do I pass arguments to the language server?

Everything after -- in args goes to the language server, for example --stdio for pyright.

Editors’ pick

A skills library that gives coding agents a development process: brainstorming, planning, TDD, subagents and code review

PluginMedium risk286.8K
Editors’ pick

Small composable skills for engineering with agents: plan grilling, TDD, bug diagnosis, code review and architecture

SkillLow risk262.2K
Editors’ pick

GitHub toolkit for spec-driven development: the specify CLI adds agent commands and skills to a project, from principles to implementation

CLIMedium risk136.8K

Reference MCP servers

Model Context Protocol servers

Editors’ pick

Official reference MCP servers: Filesystem, Fetch, Git, Memory, Sequential Thinking, Time and Everything

MCP serverMedium risk90.3K