Serena gives coding agents IDE-like tools for semantic code retrieval, editing, refactoring, and debugging. The tools work at the symbol level (find a symbol, list its references, replace its body, rename it) instead of with line numbers or text search patterns, which matters most in large codebases. Serena does not do the work itself: an LLM in the client orchestrates the tool calls.
It runs as a Model Context Protocol server, so it extends any MCP client: terminal agents such as Claude Code, Codex, OpenCode, and Gemini CLI, IDE assistants in VS Code, Cursor, and JetBrains IDEs, and desktop or web clients such as Claude Desktop and Open WebUI. The client either launches the server itself or connects to it over HTTP.
Two backends power the semantic analysis. The default uses open-source language servers through the Language Server Protocol and supports more than 40 languages. A paid Serena JetBrains Plugin instead uses the analysis engine of a JetBrains IDE and adds dependency search, type hierarchies, file and directory moves, inlining, deletion propagation, and an interactive debugger with breakpoints and expression evaluation.
Serena also has basic file, search, and shell tools (disabled by default inside harnesses such as Claude Code, which already provide them) and a memory system for sharing knowledge across sessions, users, and projects. Active tools, tool descriptions, prompts, and backend details are configured in YAML at global, launch-command, per-project, per-client, and mode levels.
| Capability | Language servers | JetBrains plugin |
|---|---|---|
| Find symbol, symbol overview, find references | Yes | Yes |
| Search in project dependencies, type hierarchy | No | Yes |
| Rename | Symbols only | Symbols, files, directories |
| Move, inline, propagate deletions | No | Yes |
| Replace symbol body, insert before or after, safe delete | Yes | Yes |
| Interactive debugging | No | Yes |
Features
- Symbol retrieval: find symbols, file outlines, referencing symbols, declarations, implementations, and diagnostics without reading whole files
- Refactoring: symbol renames with language servers, plus file and directory renames, moves, inlining, and deletion propagation with the JetBrains plugin
- Symbolic editing: replace a symbol body, insert before or after a symbol, and delete safely
- Language server backend: more than 40 languages through the Language Server Protocol
- JetBrains plugin backend: uses IntelliJ IDEA, PyCharm, WebStorm, GoLand, and other JetBrains IDEs for analysis and editing
- Interactive debugging: breakpoints, variable inspection, expression evaluation, and execution control through a REPL-style tool (JetBrains plugin only)
- MCP server: works with Claude Code, Codex, OpenCode, Gemini CLI, Cursor, Claude Desktop, Open WebUI, and other MCP clients
- Memory: project memories shared across sessions, users, and projects, and can be turned off
- Basic tools: regex search, text replacement, file listing and reading, and shell commands for clients that lack them
- Layered configuration: global, launch-command, per-project, per-client, and mode-based YAML settings for tools and prompts



