Serena: IDE-style symbol tools for coding agents
A language-server-backed toolkit that lets agents find, reference, rename and rewrite code by symbol in 40+ languages, instead of grepping and patching lines.
Project and installation docs
View projecthttps://github.com/oraios/serena
In a large repository, a coding agent typically greps around, reads whole files and then replaces text by line number. Renaming one function across files can take a dozen steps, and it’s easy to miss a reference. Serena brings the IDE approach instead: it drives language servers (LSP) so the agent can find definitions, list references and rewrite function bodies by symbol, in one call where it used to take several searches. It’s maintained by Oraios and had about 30k stars as of 2026-10-06.
What it does
- Symbol-level retrieval: find symbols, get a file outline, list references, jump to declarations and implementations, without reading whole files.
- Symbol-level editing: replace a function body, insert before or after a symbol, or safe-delete it, which goes wrong far less often than line-number patches.
- Refactoring: the language server backend supports symbol renames. The paid JetBrains plugin backend adds move, inline, propagated deletion and an interactive debugger.
- 40+ languages: Python, TypeScript, Go, Rust, Java, C#, Swift and many more. Some languages need their language server installed separately.
- Project memory: a simple memory system keeps project knowledge across sessions, and you can switch it off.
Who it’s for
- Developers asking Claude Code or Codex to refactor across files in a monorepo with hundreds of thousands of lines.
- Teams that want agents to stop reading entire files and burning context.
Setup
The only prerequisite is uv. Install and initialize:
uv tool install -p 3.13 serena-agent
serena init
serena init sets up the language server backend; add -b JetBrains for the JetBrains plugin backend. Launch commands for each client are in the official docs.
Our take
Most code-context servers index a repo and hand back snippets. Serena also does the editing, and its edits land on symbols, with renames carried through every reference by the language server. The README warns against installing from MCP or plugin marketplaces, whose commands are outdated, so follow the official quick start. A few caveats: it includes basic tools such as execute_shell_command, which are off by default inside harnesses like Claude Code that already have file and shell tools, so know what you’re enabling in other clients. Move, inline and debugging only come with the paid JetBrains plugin. Licensing is per component: GPL-3.0-or-later for the application, MIT for SolidLSP.