About this project
Serena is a Model Context Protocol (MCP) toolkit designed to provide AI coding agents with IDE-level capabilities for semantic code retrieval, editing, refactoring, and debugging. It operates at the symbol level, exploiting relational structure in code, which allows agents to work faster, more efficiently, and more reliably, especially in large and complex codebases.
Key features include:
- **Semantic Retrieval**: Find symbols, get file outlines, find referencing symbols, search project dependencies, type hierarchy, find declarations and implementations, query external projects, and get diagnostics.
- **Refactoring**: Rename symbols, files, and directories; move symbols/files/directories; inline; and propagate deletions to remove unused code.
- **Symbolic Editing**: Replace symbol bodies, insert before/after symbols, and safe delete, which are less error-prone and more token-efficient than text-based alternatives.
- **Interactive Debugging** (JetBrains plugin only): Set breakpoints, inspect variables, evaluate expressions, and control execution flow via a persistent REPL-style interface.
- **Basic Utilities**: Regex search, text replacement, directory listing, file reading, and shell command execution (often disabled by default in agentic harnesses like Claude Code or Codex).
- **Memory Management**: A simple memory system for long-lived agent workflows, shareable across sessions, users, and projects.
- **Configurability**: Multi-layered YAML configuration system with global, per-project, execution-context-specific, and dynamically composable configuration fragments.
Serena supports over 40 programming languages via language servers (the default, free/open-source backend) or via a paid JetBrains plugin (free trial available) that leverages the IDE's analysis capabilities. It integrates with any MCP-compatible client, including terminal-based clients (Claude Code, Codex, OpenCode, Gemini-CLI), IDEs (VSCode, Cursor, JetBrains), and desktop/web clients (Claude Desktop, Codex App, OpenWebUI).
Installation requires `uv` and is done via `uv tool install -p 3.13 serena-agent`, followed by `serena init`. The project is licensed under GPL-3.0-or-later (with the SolidLSP component under MIT).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.