Red Hat's zero-dependency C++23 code-context engine — ranked call graphs and blast-radius analysis, indexing a repo in under half a second with no server and no database.
SerenaMCP Server
Summary
Semantic code toolkit for coding agents — symbol-level search, editing and refactoring backed by language servers or the JetBrains platform.
Features
- Symbol-level code search across a whole project
- Find all references to a symbol before changing it
- Insert, replace and rename symbols as atomic edits
- Language Server Protocol backend covering many languages
- Optional JetBrains IDE backend for large codebases
- Reads only the symbols an agent needs, saving context
- Project-based workflow with per-project configuration
Installation
Set up this MCP server in your favorite AI agent — copy a ready-made configuration below.
Description
Serena gives a coding agent the tools an IDE gives a developer. Rather than grepping for strings and rewriting files by line number, an agent connected to Serena works at the level of symbols: find a class or function by name, list every reference to it, read only the body it needs, insert a method after another one, or rename a symbol across the whole project as a single atomic operation.
The semantic layer comes from real language tooling. By default Serena runs Language Server Protocol servers — the same ones that power editor autocomplete — which keeps it free and open source across a wide range of languages. Alternatively it can be driven by a JetBrains IDE backend, which trades the extra setup for the deeper indexing JetBrains does on large codebases.
The practical payoff is token efficiency on big repositories. Loading a 4,000-line file to change one method wastes most of the context window; asking for that one symbol does not. This matters most where naive agents struggle: multi-file renames, moves, and reference lookups that would otherwise take a dozen careful, error-prone steps.
Serena is MIT-licensed, written in Python and distributed as the serena-agent tool via uv. It is a stdio MCP server, so it works with Claude Code, Claude Desktop, Codex and any MCP-capable IDE. The maintainers explicitly ask you to install from source rather than from plugin marketplaces, which carry outdated launch commands. Note that setup is a two-step process — install the tool, then run serena init — and that some languages need their language server installed separately.
Related MCP Servers
Builds a searchable markdown graph of your repo so coding agents stop re-exploring it on every task — reported 42% fewer tokens and 46% fewer tool calls.
MCP: Graphicle
by Graphicle
Local-first Rust MCP server that maps your repo into a code graph and project memory, then hands coding agents cited file-and-line excerpts.
Context-compression MCP server that shrinks tool outputs, logs, files and RAG chunks before they reach the model, cutting 60-95% of tokens on JSON payloads.