MCP Language Server logo

MCP Language Server

by isaacphi

Gives MCP clients semantic code navigation, diagnostics, symbol renaming, and line-based file editing through an LSP.

Install MCP Language Server

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for isaacphi/mcp-language-server, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

isaacphi/mcp-language-server MCP server connects MCP clients to a language server over stdio, exposing semantic code navigation and editing operations. It can retrieve definitions, find references, show hover information, report file diagnostics, rename symbols, and apply multiple line-based edits. Configure it with a workspace and a compatible language-server executable such as gopls, rust-analyzer, pyright-langserver, typescript-language-server, or clangd. Reach for it when an agent needs structured understanding of a codebase rather than text-only search and replacement.

Use cases

  • Navigate symbol definitions in a workspace
  • Find every reference to a function or type
  • Review warnings and errors for a file
  • Rename symbols across a project
  • Apply multiple line-based file edits

Key features

  • Semantic definition lookup
  • Workspace-wide reference search
  • File diagnostics
  • Hover documentation and type information
  • Project-wide symbol renaming
  • Line-number-based multi-edit support

Tools6

What MCP Language Server lets your agent do. Expand a tool for its parameters.

Self-reported~155 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

27/27 checks healthy over the last 78d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1.6kStargazers on the source repository.
Last commit7mo agoMost recent push to the default branch.
Tools exposed6Callable tools this server registers over MCP.
Directory activity4 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Language Server works

What isaacphi/mcp-language-server MCP server does

The isaacphi/mcp-language-server MCP server exposes a language server to MCP-enabled clients. It is intended for navigating and modifying source code with semantic information supplied by an underlying Language Server Protocol implementation.

The server works against a configured workspace. Instead of asking an agent to infer relationships from file text alone, it provides operations based on symbols, source locations, references, diagnostics, and language-server responses. It is useful for repositories where an installed language server can understand the project and its dependencies.

How it works

The MCP process launches a language-server executable and communicates with it over standard input and output. The language-server program must support stdio communication. The --workspace option selects the codebase, while --lsp identifies the executable or path to launch. Arguments after -- are forwarded to that language server, and configured environment variables are passed through to it.

The project has documented configurations for Go with gopls, Rust with rust-analyzer, Python with pyright-langserver, TypeScript with typescript-language-server, and C or C++ with clangd.

Setup and configuration

Install Go first, then install the server with:

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

Install the language server for the language used by the target workspace. For example, the documented commands include go install golang.org/x/tools/gopls@latest, rustup component add rust-analyzer, and global npm installation for Pyright or TypeScript language-server packages.

An MCP client configuration needs the mcp-language-server command and arguments resembling --workspace, a real workspace path, --lsp, and the language-server command. Claude Desktop is the example client shown in the documentation. C or C++ projects may also need clangd's --compile-commands-dir option pointing to a directory containing compile_commands.json.

Tools and capabilities

The isaacphi/mcp-language-server MCP server provides these MCP tools:

  • definition returns the complete source definition for a symbol such as a function, type, or constant.
  • references finds usages of a symbol across the workspace.
  • diagnostics reports warnings and errors for a specified file.
  • hover returns documentation, type information, or other hover data for a location.
  • rename_symbol renames a symbol across a project.
  • edit_file applies multiple text edits to a file using line numbers, offering an alternative to search-and-replace editing.

Limitations and notes

This project is described as beta software. Its results depend on the selected language server and that server's project configuration. The underlying executable must communicate over stdio, and language-specific setup may be required before semantic features work correctly. For clangd, the documentation specifically notes that an appropriate compile_commands.json should be generated.

The README identifies edited code from gopls for LSP communication and says the codebase is covered by a permissive BSD-style license. It also documents LOG_LEVEL=DEBUG for verbose logging to standard error during development or troubleshooting.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Language Server

Install Go, then run `go install github.com/isaacphi/mcp-language-server@latest`. You also need a compatible language server.

Yes. The README provides Claude Desktop configuration examples using the locally installed `mcp-language-server` binary.

The documented and tested examples use gopls, rust-analyzer, pyright-langserver, typescript-language-server, and clangd. Other stdio language servers may also work.

It needs Go for installation, a configured workspace, and a language-server executable that communicates over stdio.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Language Server AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/isaacphi-mcp-language-server?style=directory)](https://allmcps.com/mcp/isaacphi-mcp-language-server)
HTML Embed
<a href="https://allmcps.com/mcp/isaacphi-mcp-language-server"><img src="https://allmcps.com/api/badge/isaacphi-mcp-language-server?style=directory" alt="MCP Language Server on AllMCPs" /></a>