Labsco
MCP SERVER

Serena MCP

by oraios

Give your coding agent IDE-grade code understanding: find symbols and their references, rename and refactor across files, and edit at the symbol level.

Code Intelligence & Repository Indexing
Summary
Pick the backend before you install: the free one does less.

Language servers are open-source and cover retrieval, renaming symbols, and symbolic editing. Move, inline, dead-code propagation, type hierarchy, dependency search and the interactive debugger only exist on the paid JetBrains plugin, and the README publishes that split as a table rather than burying it. The reason to bother either way is that a cross-file rename becomes one atomic call instead of a sequence of careful text edits.

What it is

A semantic code toolkit for coding agents, powered either by language servers speaking LSP (the free default) or by the paid Serena JetBrains plugin. Instead of line numbers and regex, its tools operate on symbols and the relationships between them, which is why it holds up in large codebases.

What you get
  • Symbol-level retrieval on both backends: find symbol, file outline, find referencing symbols, find declaration, find implementations, query external projects, and diagnostics
  • Symbolic editing that avoids rewriting whole files: replace a symbol's body, insert before or after a symbol, and safe delete
  • Renaming of symbols on the language-server backend; the JetBrains backend adds renaming files and directories, move, inline, and propagating deletions to remove unused code
  • Search in project dependencies and type hierarchy — JetBrains backend only
  • Interactive debugging, exclusive to the JetBrains plugin: set breakpoints, inspect variables, evaluate expressions and control execution through a persistent REPL-style interface
  • Basic utilities for completeness, usually disabled inside harnesses that already have them — `search_for_pattern`, `replace_content`, `list_dir`, `find_file`, `read_file`, `execute_shell_command`
  • A memory system for knowledge that outlives a session, which can be turned off if you prefer your agent's own
Requirements

Uv is the only hard prerequisite. Install with `uv tool install -p 3.13 serena-agent`, then run `serena init` to set up and verify — it configures the language-server backend by default, or `-b JetBrains` for the plugin. Connect it either by giving your client a launch command or by starting the server in HTTP mode and handing over the URL. The published package is `serena-agent`, run over stdio via uvx, with a `--context` matching your client. Some languages need extra dependencies installed for their language server. Do not install it from a plugin marketplace — the README says those carry outdated commands.

Setup effort

One command — uv tool install -p 3.13 serena-agent