Add-ons & integrations Β· MCP
Serena
An MCP toolkit that gives your agent IDE-like, semantic code tools β symbol-precise finding, editing and refactoring via language servers (LSP) instead of blind text grep.
Serena attaches to your agent as an MCP server and exposes tools that resemble an IDE rather than a text search: find symbols (find_symbol), resolve references (find_referencing_symbols), replace a symbol body (replace_symbol_body) and more. It builds on language servers (LSP) β the same tech VS Code uses for "go to definition" β so the agent works on the relational structure of the code instead of grepping blindly. Serena is model- and client-agnostic, runs in stdio or HTTP mode and is open source. Agentic harnesses get matching context profiles (e.g. --context claude-code).
π§ SETUP
- Install (via uv): `uv tool install -p 3.13 serena-agent`
- Register with Claude Code: `claude mcp add serena -- serena start-mcp-server --context claude-code --project "$(pwd)"`
- Also possible without a fixed install via uvx; alternatively start HTTP mode and give the client the URL
- The right language servers are used automatically depending on the project language (LSP)
β WHEN TO USE IT?
Navigating and refactoring large codebases
"Find all callers of X and rename them" runs symbol-precise via the language server instead of grep.
Saving tokens on context lookups
Serena reads individual symbols on demand instead of loading whole files into context.
β WHEN NOT TO?
Tiny projects / a single file
The LSP and MCP setup overhead barely pays off on very small projects.
Better: Use the agentβs built-in grep/glob search.
A language without a good language server
Serenaβs strength depends on the language server for each language β it can be weaker for exotic ones.
Better: Stick to well-supported languages (Python, TypeScript, Go, Rust, Java β¦).
SOURCES
- GitHub: oraios/serena β github.com
- Docs: setting up clients β oraios.github.io