
MCP Language Server by isaacphi: Setup for Claude, Cursor and Other Apps
Gives Claude, Cursor and other coding assistants code navigation (definitions, references, hover, diagnostics, rename) from a language server.
MCP Language Server runs a language server such as gopls or pyright on your machine and exposes its code intelligence to your assistant. The assistant can then look up a symbol or rename it everywhere, instead of guessing from text.
You install it with Go, install a language server for your language, and point it at a project folder when you add it to your app. It is community software by isaacphi, and the README calls it beta.
Good for
- Developers who want an assistant to navigate code by symbol, not by text search
- Teams using Go, Rust, Python, TypeScript or C/C++ language servers
- People doing safe renames across a large codebase
Works in
12 should work
Tap an app to see how to set it up and any known problems.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Supports local MCP servers.
Runs as a local process on your computer, so ChatGPT cannot reach it.
Runs as a local process on your computer, so n8n cannot reach it.
Install mcp-language-server
Claude Code
- 1
Copy this prompt.
Add the mcp-language-server server to Claude Code. Run this command: claude mcp add language-server -- mcp-language-server --workspace /path/to/project --lsp gopls Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Go, A language server such as gopls.
Read-only mode: There is no read-only mode. rename_symbol and edit_file write to files in the workspace.
First run go install github.com/isaacphi/mcp-language-server@latest, then install a language server (the example uses gopls for Go). Replace /path/to/project with your project folder and gopls with your language server; for pyright or typescript-language-server add -- --stdio at the end of the args. In Claude Desktop, the README says to also set PATH (plus GOPATH, GOCACHE and GOMODCACHE for Go) in an env block. These configs are adapted from the README's Claude Desktop example.
Built from the package data we hold. Not yet tested by us.
Tools
Reads the code where a function or type is defined
Looks up a symbol by name through the language server and returns the full source code of where it is defined.
Try: “Show me the definition of the ParseConfig function.”
Files ·
definitionFinds everywhere a symbol is used
Finds all usages of a function, type or constant across the project and returns the files and locations where it appears.
Try: “Where is the UserSession type used?”
Files ·
referencesLists errors and warnings the language server reports for a file
Returns the language server's diagnostics for one file, with optional context lines and line numbers around each problem.
Try: “What errors does the language server report in src/server.go?”
Files ·
diagnosticsShows the type and docs for the symbol at a position
Returns the hover information the language server shows for a given file, line and column, such as a type signature and documentation.
Try: “What is the type of the symbol at line 42, column 10 of main.go?”
Files ·
hoverRenames a symbol and updates every reference
Renames a variable, function or class at a given position and updates all references throughout the codebase, through the language server. It rewrites files on disk.
Try: “Rename the function at line 18, column 6 of util.go to loadSettings.”
Write ·
rename_symbolReplaces line ranges in a file
Applies several text edits to a file, each replacing a range of lines with new text, or removing the lines if the text is blank.
Try: “Replace lines 10 to 14 of handler.go with this corrected block.”
Write ·
edit_file
Read from the source code
Permissions
medium risk · 3 things to watch
Medium risk
Two of the tools rewrite files on your disk. Point it at a project that is under version control so you can review and undo changes.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It can edit files and rename across the project
The rename_symbol and edit_file tools write to files on disk, and the README documents no read-only option. Use it on a Git-tracked project and review the diff. github.com
It starts a language server program on your machine
The server runs whatever language server command you give it, such as gopls, with your user's permissions. Only configure language servers you trust. github.com
The README calls it beta software
Expect rough edges and report problems on its issue tracker. github.com
Security advisories
No published security advisories as of Nov 1, 2026.
Technical details
| Sign-in and keys | No credentials. |
|---|---|
| Scopes |
|
Questions
Is the MCP Language Server official?
No. It is a community project by isaacphi, not made by the makers of any language server such as gopls or pyright.
How do I set it up?
Install Go, install the server and a language server for your language, then add it to your app using the install box above. The box shows Go with gopls as the example, and the README has other language servers.
Which languages does it support?
The README gives setup for Go (gopls), Rust (rust-analyzer), Python (pyright), TypeScript (typescript-language-server) and C/C++ (clangd). Other language servers can be passed with the lsp flag.
Do I need an API key?
No. It runs locally and needs no account or key.
Why does Claude Desktop need extra environment variables?
For Go, the README says Claude Desktop needs PATH to include the go and gopls locations, plus GOPATH, GOCACHE and GOMODCACHE. Other clients may not need them.
Can it change my code?
Yes. rename_symbol rewrites every reference, and edit_file replaces line ranges. There is no read-only mode in the README.
Can I use it in ChatGPT or n8n?
No. It runs as a local process on your computer, so it works in apps that start local servers such as Claude Code, Claude Desktop and Cursor.
Information
updated Nov 2, 2026
- Publisher
- Community
- Package
github.com/isaacphi/mcp-language-server- Registry
- Go
- Transport
- stdio
- Auth
- None
- License
- BSD-3-Clause
- Last commit
- Mar 1, 2026
- Open issues
- 36
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.