MCP Language Server
Runs a language server and provides tools for communicating with it. Language servers excel at tasks that LLMs often struggle with, such as precisely understanding types, understanding relationships, and providing accurate symbol references.
What is MCP Language Server?
MCP Language Server is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to runs a language server and provides tools for communicating with it. language servers excel at tasks that llms often struggle with, such as precisely understanding types, understanding relationships, ...
Runs a language server and provides tools for communicating with it. Language servers excel at tasks that LLMs often struggle with, such as precisely understanding types, understanding relationships, and providing accurate symbol references.
This server falls under the Developer Tools category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Runs a language server and provides tools for communicating
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx mcp-language-serverConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use MCP Language Server
MCP Language Server is a Go-based MCP server that bridges AI clients to any Language Server Protocol (LSP) implementation, giving LLMs precise semantic code intelligence that they cannot reliably produce on their own. It exposes tools for fetching symbol definitions, finding all references across a codebase, querying diagnostics, retrieving hover documentation, renaming symbols project-wide, and making multi-location file edits. Any language with an LSP server (Go, Rust, Python, TypeScript, C/C++, and dozens more) can be connected, making it a universal semantic layer for AI-driven code understanding.
Prerequisites
- Go 1.21 or higher installed
- The language server for your target language installed (e.g., gopls for Go, rust-analyzer for Rust, pyright for Python, typescript-language-server for TypeScript)
- An MCP-compatible client such as Claude Desktop
- The language server must support communication over stdio
Install mcp-language-server
Install the MCP Language Server binary using the Go toolchain. This places the mcp-language-server binary in your GOPATH/bin.
go install github.com/isaacphi/mcp-language-server@latestInstall the language server for your language
Install the LSP implementation for the language you want to analyze. Below are the most common ones.
# Go
go install golang.org/x/tools/gopls@latest
# Rust
rustup component add rust-analyzer
# Python
npm install -g pyright
# TypeScript
npm install -g typescript typescript-language-serverConfigure Claude Desktop for your project
Add mcp-language-server to your claude_desktop_config.json, pointing it at your project workspace and specifying the language server command. The --workspace must be an absolute path to the project root.
{
"mcpServers": {
"language-server": {
"command": "mcp-language-server",
"args": [
"--workspace", "/absolute/path/to/your/project",
"--lsp", "gopls"
],
"env": {
"PATH": "/usr/local/go/bin:/home/user/go/bin:/usr/bin:/bin",
"GOPATH": "/home/user/go",
"GOCACHE": "/home/user/.cache/go-build"
}
}
}
}Restart Claude Desktop
Quit and relaunch Claude Desktop so it starts the mcp-language-server process with the new configuration.
Enable debug logging if needed
If the server does not connect, set LOG_LEVEL=DEBUG in the env block and check the Claude Desktop logs for detailed output from the language server.
"env": { "LOG_LEVEL": "DEBUG", "PATH": "/usr/local/go/bin:/usr/bin:/bin" }MCP Language Server Examples
Client configuration
claude_desktop_config.json for a Go project using gopls as the language server.
{
"mcpServers": {
"language-server": {
"command": "mcp-language-server",
"args": [
"--workspace", "/home/user/mygoproject",
"--lsp", "gopls"
],
"env": {
"PATH": "/usr/local/go/bin:/home/user/go/bin:/usr/bin:/bin",
"GOPATH": "/home/user/go",
"GOCACHE": "/home/user/.cache/go-build",
"GOMODCACHE": "/home/user/go/pkg/mod"
}
}
}
}Prompts to try
Example prompts once the language server is connected.
- "Show me the definition of the ParseConfig function in this codebase"
- "Find all references to the UserService interface across the project"
- "What diagnostics or errors exist in internal/auth/handler.go?"
- "Rename the function fetchData to retrieveData throughout the project"
- "Show hover documentation for the http.Client type"Troubleshooting MCP Language Server
Server fails to start with 'mcp-language-server: command not found'
The binary was installed to GOPATH/bin, which may not be on your system PATH. Add it explicitly: export PATH=$PATH:$(go env GOPATH)/bin, or provide the full absolute path in the command field of your MCP config.
Tools return empty results or the language server crashes immediately
The language server (e.g., gopls) needs the correct environment to find your project's modules. Ensure PATH, GOPATH, and GOCACHE are all set correctly in the env block of your MCP config. Try running the language server manually against your project first to confirm it works outside of MCP.
rename_symbol changes are not applied to all files
The --workspace path must point to the exact root of your module or project so the language server can index all files. If you pass a subdirectory, some references will be outside the workspace and will be skipped.
Frequently Asked Questions about MCP Language Server
What is MCP Language Server?
MCP Language Server is a Model Context Protocol (MCP) server that runs a language server and provides tools for communicating with it. language servers excel at tasks that llms often struggle with, such as precisely understanding types, understanding relationships, and providing accurate symbol references. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install MCP Language Server?
Follow the installation instructions on the MCP Language Server GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with MCP Language Server?
MCP Language Server works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is MCP Language Server free to use?
Yes, MCP Language Server is open source and available under the BSD 3-Clause license. You can use it freely in both personal and commercial projects.
MCP Language Server Alternatives — Similar Developer Tools Servers
Looking for alternatives to MCP Language Server? Here are other popular developer tools servers you can use with Claude, Cursor, and VS Code.
Ecc
★ 188.2kThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
Javaguide
★ 155.8kJava 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Gemini CLI
★ 104.5kA secure MCP server that wraps the Google Gemini CLI, allowing clients to query Gemini models using local OAuth sessions without requiring an API key. It provides tools for model interaction and diagnostics with built-in protection against command in
Awesome MCP Servers
★ 87.3k⭐ Curated list of Model Context Protocol (MCP) servers - tools that extend Claude Desktop, Cursor, Windsurf, and other MCP clients with custom capabilities.
MCP Servers
★ 86.0kModel Context Protocol Servers
CC Switch
★ 77.5kA cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI & Hermes Agent. Only official website: ccswitch.io
Browse More Developer Tools MCP Servers
Explore all developer tools servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up MCP Language Server in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use MCP Language Server?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.