
How to add Serena to Claude Desktop
LSP-powered coding agent toolkit: semantic symbol search, references and structural edits. Paste the config into ~/Library/Application Support/Claude/claude_desktop_config.json and restart Claude Desktop.
Last updated June 15, 2026 ยท 12kโ ยท stdio ยท no auth
Claude Desktop config for Serena
uvx --from git+https://github.com/oraios/serena serena start-mcp-server{
"mcpServers": {
"serena": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/oraios/serena",
"serena",
"start-mcp-server"
]
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Setup steps
- 1Open Claude Desktop โ Settings โ Developer โ Edit Config (this opens ~/Library/Application Support/Claude/claude_desktop_config.json).
- 2Paste the Serena config below under the top-level "mcpServers" key.
- 3Fill in any placeholder secrets (API keys, paths) in the snippet.
- 4Save the file, then fully quit and reopen Claude Desktop.
- 5Open a chat and confirm Serena's tools appear under the ๐ tools menu.
Before you start
- uv (the Python package/tool manager) installed โ it bootstraps and runs Serena
- Python 3.11+ (the project targets recent Python; 3.13 recommended)
- Language servers for the languages you use are auto-downloaded on first use; some ecosystems (e.g. Java, C#) may need their toolchain installed
- No API key or account required โ Serena runs locally against your repo
What Serena can do in Claude Desktop
find_symbolLocate a class/function/symbol by name path across the project
get_symbols_overviewReturn the symbol outline (top-level definitions) of a file
find_referencing_symbolsFind all symbols that reference a given symbol (call sites, usages)
replace_symbol_bodyReplace the full body of a function/class/method symbol
insert_after_symbolInsert new code immediately after a given symbol
insert_before_symbolInsert new code immediately before a given symbol (e.g. imports)
search_for_patternRegex/text search across the project for non-symbol matches
read_file / list_dir / find_fileNavigate the project tree and read file contents
Security
Serena reads and edits files in the project you point it at and launches language servers locally, so only run it on trusted codebases. Installing from a git ref pulls executable code, so pin to a tag or commit you trust.
Serena + Claude Desktop FAQ
Where is the Claude Desktop config file?
Claude Desktop reads MCP servers from ~/Library/Application Support/Claude/claude_desktop_config.json. Paste the Serena config there under the "mcpServers" key and restart the client.
Is Serena safe to use with Claude Desktop?
Serena reads and edits files in the project you point it at and launches language servers locally, so only run it on trusted codebases. Installing from a git ref pulls executable code, so pin to a tag or commit you trust.
Does Serena require an API key or account?
No. Serena runs entirely locally against your code via uv/uvx and language servers. There is no authentication, account, or hosted service.
Which languages does it support?
40+ languages through their language servers, including Python, TypeScript/JavaScript, Java, Go, Rust, C/C++, C#, PHP, and Ruby. Language servers are downloaded automatically on first use.
Which MCP clients work with Serena?
Any stdio MCP client โ including Claude Code, Claude Desktop, Codex, Cursor, and VS Code. There's also a JetBrains plugin path with additional refactoring tools.