# Serena
Serena is an open-source (MIT) [[Model Context Protocol (MCP)]] server that gives coding agents **IDE-grade semantic code tools**: find a symbol, list its references across files, replace a function body, rename safely. Instead of grepping text and editing lines, the agent works at the symbol level — the way an IDE does.
The insight behind it: coding agents like [[Claude Code]] read whole files and edit by string matching, which burns tokens and breaks on big codebases. Serena routes those operations through a [[Language Server Protocol (LSP)|language server]] instead, so retrieval and edits are precise, cheap, and reliable even in large projects.
## Two backends
1. **LSP** — open-source language servers covering 40+ languages (Python, TypeScript, Go, Rust, Java, C/C++, C#, Kotlin, Swift, …). Free.
2. **JetBrains plugin** — paid, uses the JetBrains analysis engines; adds interactive debugging (breakpoints, expression evaluation) on top.
## What the agent gets
- **Retrieval**: symbol search, cross-file references, type hierarchies, dependency queries
- **Editing**: body replacement, targeted insertions, safe refactors (rename, move, inline, delete)
- **Memory**: persistent project knowledge across sessions
## Integrations
Works with [[Claude Code]], [[Codex CLI|Codex]], [[OpenCode]], [[Cursor]], VS Code, JetBrains IDEs, Claude Desktop, and OpenWebUI — anything that speaks MCP, via launch command or HTTP URL.
## My take
This is the same bet [[Claude Code]] made when it added native LSP support: semantic beats textual for code navigation. Serena generalizes it to every MCP client and every language with a language server. One of the most widely adopted MCP servers around, under active development. The memory system is a nice touch the built-in tools still lack.
## References
- [Serena on GitHub](https://github.com/oraios/serena)
- [Serena Documentation](https://oraios.github.io/serena/01-about/000_intro.html)
## Related
- [[Model Context Protocol (MCP)]] — the protocol it serves
- [[Language Server Protocol (LSP)]] — the machinery underneath
- [[Claude Code]] · [[Codex CLI]] · [[OpenCode]] · [[Cursor]] — clients it plugs into
- [[AI Agents]]