MCP Language Server
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
Overview
MCP Language Server is a Model Context Protocol (MCP) server that runs a language server, providing tools for effective communication with it, especially in large projects.
To use the MCP Language Server, install Go, fetch the server, install a compatible language server for your codebase, and configure your MCP-enabled client with the appropriate settings.
- Retrieves complete source code definitions of symbols. - Locates all usages and references of a symbol throughout the codebase. - Provides diagnostic information for specific files, including warnings and errors. - Supports code lens hints for additional context and actions. - Allows programmatic text edits to files.
- Enhancing code navigation and understanding in large projects.
- Facilitating refactoring and code maintenance tasks.
- Improving collaboration in multi-file codebases.
Add to your AI client
Use these steps to connect MCP Language Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"mcp-language-server-isaacphi": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"mcp-language-server-isaacphi": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"mcp-language-server-isaacphi": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"mcp-language-server-isaacphi": {
"type": "stdio",
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"mcp-language-server-isaacphi": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"mcp-language-server-isaacphi": {
"command": "go",
"args": [
"run",
"github.com/isaacphi/mcp-language-server@latest",
"--workspace",
"/path/to/codebase/",
"--lsp",
"language-server-executable"
],
"env": {
"LOG_LEVEL": "INFO"
}
}
}
}FAQ
What language servers are compatible with MCP Language Server?
It has been tested with pyright (Python), tsserver (TypeScript), gopls (Go), and rust-analyzer (Rust), but should work with many more.
Is there a specific setup required?
Yes, you need to install Go, a language server for your codebase, and configure your MCP-enabled client accordingly.
What is the current status of the MCP Language Server?
The project is currently in pre-beta quality.