Go MCP server that launches an existing stdio language server and exposes semantic code-navigation tools such as definitions, references, hover, diagnostics, symbol rename, and file edits.
The server can expose write-capable tools such as symbol rename and structured file edits in addition to read-only navigation tools., It launches the configured language server process with the provided workspace and environment, so review PATH, arguments, environment variables, and workspace scope., Language servers may execute project-specific discovery, indexing, build-script, or plugin behavior depending on the ecosystem and configuration., Keep manual review on rename and edit operations in large workspaces because a language server can change many references across a project., The README describes the project as beta software; expect behavior and compatibility to evolve.
Privacy notes
Tool results can expose source code, definitions, references, hover text, diagnostics, file paths, module names, package names, build configuration, and generated edits., Language-server logs, MCP client transcripts, model prompts, and debug output can retain proprietary code structure and project metadata., Environment variables passed to the language server may include paths, cache locations, tokens, private registry settings, or build-system credentials., Avoid connecting private workspaces to shared MCP clients or model providers without approval from the project owner.
Author
isaacphi
Submitted by
oktofeesh1
Claim status
unclaimed
Last verified
2026-06-05
Decision playbook
Review trust signals before you adopt
Signals are present but mixed. Use the checklist below to confirm the source and operational safety for your environment.
Compare context
Selected
0
Current score
63
Baseline
—
Delta
No baseline selected
No major trust-signal divergence detected in the current selection.
Source and provenance checks
Needs review
Confirm ownership and provenance before trusting install instructions.
Source link availableRequired
Open the canonical repository and verify ownership.
Done
Source provenance statusRequired
Marked as source-backed.
Done
Metadata reviewed
No reviewed flag detected in metadata.
Pending
Safety and privacy checks
Complete
Validate risk disclosures before installation or API wiring.
Safety notes presentRequired
Review the listed safety guidance before running commands.
Done
Privacy notes presentRequired
Review data handling notes before connecting accounts or secrets.
Done
Trust level risk gateRequired
Trust level does not block evaluation.
Done
Package and install checks
Needs review
Check package metadata and artifact integrity signals.
Install payload available
Install or copy payload is available for review.
Done
Package verification flag
No package verification flag provided.
Pending
Checksum metadata
No checksum provided for downloaded artifact.
Pending
Compare-driven decision checks
Needs review
Use compare context to validate trade-offs before adoption.
Compare tray has multiple entries
Add at least one more entry to compare trust differences.
5 safety and 4 privacy notes across 6 risk areas. Review closely: credentials & tokens, permissions & scopes, third-party handling.
6 areas
SafetyLocal filesThe server can expose write-capable tools such as symbol rename and structured file edits in addition to read-only navigation tools.
SafetyPermissions & scopesIt launches the configured language server process with the provided workspace and environment, so review PATH, arguments, environment variables, and workspace scope.
SafetyExecution & processesLanguage servers may execute project-specific discovery, indexing, build-script, or plugin behavior depending on the ecosystem and configuration.
SafetyGeneralKeep manual review on rename and edit operations in large workspaces because a language server can change many references across a project.
SafetyGeneralThe README describes the project as beta software; expect behavior and compatibility to evolve.
PrivacyExecution & processesLanguage-server logs, MCP client transcripts, model prompts, and debug output can retain proprietary code structure and project metadata.
PrivacyCredentials & tokensEnvironment variables passed to the language server may include paths, cache locations, tokens, private registry settings, or build-system credentials.
PrivacyThird-party handlingAvoid connecting private workspaces to shared MCP clients or model providers without approval from the project owner.
Safety notes
The server can expose write-capable tools such as symbol rename and structured file edits in addition to read-only navigation tools.
It launches the configured language server process with the provided workspace and environment, so review PATH, arguments, environment variables, and workspace scope.
Language servers may execute project-specific discovery, indexing, build-script, or plugin behavior depending on the ecosystem and configuration.
Keep manual review on rename and edit operations in large workspaces because a language server can change many references across a project.
The README describes the project as beta software; expect behavior and compatibility to evolve.
Language-server logs, MCP client transcripts, model prompts, and debug output can retain proprietary code structure and project metadata.
Environment variables passed to the language server may include paths, cache locations, tokens, private registry settings, or build-system credentials.
Avoid connecting private workspaces to shared MCP clients or model providers without approval from the project owner.
Prerequisites
Go installed for building the `mcp-language-server` binary.
A stdio language server installed for the target language, such as gopls, rust-analyzer, pyright, typescript-language-server, or clangd.
A workspace path the agent is allowed to inspect and, if enabled, edit.
Language-server environment variables, PATH entries, caches, module paths, and compile-command directories configured for the target project.
Team agreement on whether symbol rename and file-edit tools may be used automatically.
MCP Language Server is a Go MCP server that launches an existing stdio language
server and exposes semantic code tools to MCP clients. Instead of relying only
on text search, Claude can ask for definitions, references, diagnostics, hover
information, symbol rename, and structured file edits from the language server
that already understands the workspace.
The README includes setup examples for gopls, rust-analyzer, pyright,
typescript-language-server, clangd, and other stdio language servers. It is a
useful fit for coding-agent workflows where semantic navigation can reduce
guesswork and avoid reading broad file ranges just to find symbols.
These sources were reviewed on 2026-06-05. Prefer the live repository,
README, license, attribution file, Go module metadata, entrypoint, tool
implementation, and Go package documentation for current install and tool
behavior.
Features
Launch a configured stdio language server for a workspace.
Retrieve source-code definitions for symbols.
Find references and usages across a project.
Get diagnostics for a file.
Display hover documentation or type information.
Rename symbols across a project.
Apply multiple structured text edits to a file.
Pass arguments after -- through to the language server.
Configure language-server environment variables through the MCP client.
Installation
Install the binary with Go:
go install github.com/isaacphi/mcp-language-server@latest
Install the language server for your project, then configure an MCP client:
For language servers that require additional arguments, pass them after --.
Use Cases
Ask Claude for the definition of a function, type, or constant.
Find all references before changing a symbol.
Inspect diagnostics for a file without opening an IDE.
Retrieve hover documentation and type hints for unfamiliar APIs.
Rename a symbol with language-server awareness.
Apply structured edits when search-and-replace would be too brittle.
Use semantic navigation in large workspaces where text search is noisy.
Safety and Privacy
MCP Language Server exposes semantic access to a code workspace. Treat it like
connecting an agent to your IDE's language intelligence and refactoring tools.
Keep write operations reviewed, especially rename and edit tools that can affect
many files.
The server launches the language server you configure. Review the binary,
arguments, environment variables, workspace path, caches, and language-specific
plugins before use. Tool output can include proprietary source code, file paths,
diagnostics, type names, dependencies, and generated edits.
Duplicate Check
No isaacphi/mcp-language-server entry, MCP Language Server entry, or matching
source URL was found in content/mcp.
Show that MCP Language Server is listed on HeyClaude. Paste this Markdown into your README — it renders the badge and links back to this page.
[](https://heyclau.de/entry/mcp/mcp-language-server)
How it compares
MCP Language Server side by side with 3 alternatives on trust, install, platform support, and disclosed safety notes — all from reviewed registry metadata.
1 trust signal differ across this comparison (Submitter).
Go MCP server that launches an existing stdio language server and exposes semantic code-navigation tools such as definitions, references, hover, diagnostics, symbol rename, and file edits.
Serena is an open-source coding-agent toolkit by Oraios that gives Claude semantic, symbol-level code tools backed by language servers, so it can find, read, and edit code precisely instead of pasting whole files.
Local-first codebase intelligence MCP server that indexes repositories with tree-sitter, stores searchable chunks in DuckDB, and gives Claude semantic search, regex search, daemon status, and deep code research tools.
✓The server can expose write-capable tools such as symbol rename and structured file edits in addition to read-only navigation tools.
It launches the configured language server process with the provided workspace and environment, so review PATH, arguments, environment variables, and workspace scope.
Language servers may execute project-specific discovery, indexing, build-script, or plugin behavior depending on the ecosystem and configuration.
Keep manual review on rename and edit operations in large workspaces because a language server can change many references across a project.
The README describes the project as beta software; expect behavior and compatibility to evolve.
✓Serena can read and modify files in the project you point it at, including applying symbol-level code edits, so run it on code you can review and version-control.
Depending on configuration it can run language servers and execute project commands; only enable it on trusted projects and review its actions.
Operate it against a version-controlled working tree so any automated edits can be inspected and reverted through normal diff review.
✓ChunkHound reads source files, Markdown, text, PDFs, and supported config files under the target directory and stores indexed chunks in a local database.
Realtime indexing and daemon mode can continue watching project files after the initial MCP connection.
Code research and web search tools require embedding, reranking, and LLM configuration and may invoke local CLIs or external model APIs depending on settings.
Exclude generated files, vendored dependencies, secrets, large artifacts, and unrelated repositories before indexing broad workspace roots.
Review MCP client configuration carefully when using an absolute project path in a global Claude Desktop config.
✓Context+ can inspect source files, build AST and embedding indexes, run static analysis, create memory graph nodes, and propose code changes.
The `propose_commit` tool is designed to write code after validation and creates shadow restore points before saving.
Static analysis tools may invoke local compilers, linters, or language tools depending on the repository.
Runtime caches and memory graph data can persist source-derived embeddings and relationships after the MCP session ends.
External embedding providers can receive source-derived text, identifiers, prompts, and cluster-labeling context.
Privacy notes
✓Tool results can expose source code, definitions, references, hover text, diagnostics, file paths, module names, package names, build configuration, and generated edits.
Language-server logs, MCP client transcripts, model prompts, and debug output can retain proprietary code structure and project metadata.
Environment variables passed to the language server may include paths, cache locations, tokens, private registry settings, or build-system credentials.
Avoid connecting private workspaces to shared MCP clients or model providers without approval from the project owner.
✓Project source code, file paths, and symbol information are read into the model context so Serena can reason about and edit the codebase.
Avoid pointing it at directories that contain secrets or private data you do not want surfaced to the model.
✓Indexed chunks, file paths, symbols, comments, Markdown, PDFs, configuration values, database files, daemon state, and search results can reveal proprietary source code and internal architecture.
Embedding, reranking, LLM, and web search providers may receive code-derived queries or snippets if configured.
Local ChunkHound database files, logs, daemon state, and MCP transcripts may retain code-derived context after the session ends.
Avoid sharing ChunkHound databases, config files with API keys, verbose logs, research outputs, and screenshots from private repositories.
✓Source code, file paths, symbol names, comments, identifiers, embeddings, memory nodes, relations, prompts, API keys, static-analysis output, proposed diffs, and tool results may be visible to the MCP client and model provider.
Proprietary codebases can expose internal architecture, feature maps, naming conventions, secrets accidentally present in code, and product plans.
Keep API keys and provider base URLs out of committed MCP configs, logs, screenshots, and shared prompts.
Review `.mcp_data` and generated restore-point data before sharing workspaces or artifacts.
Prerequisites
Go installed for building the `mcp-language-server` binary.
A stdio language server installed for the target language, such as gopls, rust-analyzer, pyright, typescript-language-server, or clangd.
A workspace path the agent is allowed to inspect and, if enabled, edit.
Language-server environment variables, PATH entries, caches, module paths, and compile-command directories configured for the target project.
The uv toolchain installed (provides uvx; install from https://docs.astral.sh/uv)
Claude Code or Claude Desktop with MCP support
A local project or codebase you want Serena to index and operate on
Internet access on first run so uvx can fetch Serena from its Git repository
Python 3.10 or newer and the `uv` package manager.
A local repository or workspace you are authorized to index.
ChunkHound JSON config reviewed for database path, excludes, embeddings, and LLM provider settings.
Optional embedding provider credentials for semantic search, or regex-only usage when no embedding key is configured.
Node.js and npx available to the MCP client runtime.
A repository or workspace you are authorized to index and expose to an MCP client.
Ollama embedding model available, or an approved OpenAI-compatible embedding provider and API key.
Static analysis tools installed if you want Context+ to run native linters or compilers.
Install
go install github.com/isaacphi/mcp-language-server@latest