This is an early release preview. You may encounter bugs.
Serena logo
Unclaimed

Tool coding

Serena

On a large codebase, a coding agent reads whole files and edits by text match

A 89/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
Discussion

01 / Summary

About Serena.

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
  • 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

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Serena.

Browse the catalog for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Serena →

Browse the catalog