Skip to content
MCP Shelf

IDE-style "find symbol" and "edit symbol" for an agent, backed by language servers.

  • Started in our test
  • ★ 30.7K GitHub stars
  • 47.5K downloads a week
  • Last commit 26 Oct 2026

At a glance

Serena starts language servers for your project and exposes what they know: where a function is defined, who calls it, and the exact range of a class or method. The assistant can then read and edit by symbol instead of grepping and reading whole files.

On big repositories that saves a lot of context, and it makes edits land in the right place more often.

Made by
Oraios AI
GitHub stars
30.7K
Downloads
47.5K a week
Last commit
26 Oct 2026
Tools
3
Runs on
Your computer

Our check: We ran this exact config on 26 Oct 2026: it started and answered with 3 tools. The npm package called "serena" has no link to this project. Serena publishes to PyPI as serena-agent and documents running it from the GitHub source with uvx, which is what the config here does.

What's in the pod: its tools

We found 3 tools when we started it on 26 Oct 2026. 2 only read. The rest can change things, so keep your app's "ask before each tool call" setting on for them.

Changes things1 tool · Can create, edit, send or delete.

ToolWhat it is for
serena_replRuns Python with Serena's full toolkit loaded: find symbols and references, outline files, edit by symbol and refactor.

Only reads2 tools · Looks things up and changes nothing.

ToolWhat it is for
activate_projectPoints Serena at a codebase by name or folder so its language servers start indexing it.
initial_instructionsHands the agent Serena's how-to guide and a session id at the start of a chat.

Grouped and described by us. The README on GitHub lists the inputs each tool takes.

Set it up

Pick your app for the exact snippet and where it goes.

Where it goes: claude_desktop_config.json (Settings → Developer → Edit Config)

Claude Desktop
{
  "mcpServers": {
    "serena": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/oraios/serena",
        "serena",
        "start-mcp-server"
      ]
    }
  }
}

New to this? See the setup guides for Claude Code, Cursor, Claude Desktop and ChatGPT.

Settings

Names are exactly as the project spells them. Required ones are marked.

SettingWhat it does
serena initConfig · requiredOne-off setup that checks your install and picks the backend. Add -b JetBrains to use the paid IDE plugin instead of language servers.
--contextCommand line flagTunes the tool set for where Serena runs. A coding harness like Claude Code needs fewer of its basic file tools than a plain chat app.--context claude-code
--projectCommand line flagOpens a project at launch so you can skip activate_project.--project /path/to/repo
--transportCommand line flagRun over stdio (default) or as an HTTP server you connect to by URL.--transport streamable-http
.serena/project.ymlConfigPer-project settings such as the languages to index and tools to hide. Created the first time a project is activated.

What it can touch

It can read

  • Source files in the project you activate, through language servers or your JetBrains IDE
  • Its own memory notes saved in the project's .serena folder

It can change

  • Your code, when it replaces, inserts, renames or deletes symbols
  • Memory files it writes for later sessions
  • Shell commands, if its basic tools are switched on

Safer setup: Run it inside a git repository so every edit shows up in the diff, and leave the shell tool disabled when your client already has one.

Before you start

  • uv (for uvx)
  • Language support for your project language (Serena downloads most servers itself)

If it does not work

Symbols are not found in some languages
A few languages need their language server installed separately. Check Serena's language support page for the one you use.
Installed from a marketplace and nothing works
The project warns that marketplace entries carry old commands. Install with uv tool install -p 3.13 serena-agent, then run serena init.
The agent ignores Serena and greps instead
Ask it to call initial_instructions first, or name the project so it activates Serena before searching.

Peas in a pod: similar servers

How Serena lines up against other developer tools servers on the shelf.

ServerToolsRuns onLicenceStars
Serena3Your computer–30.7K
Context72Your computer or hostedMIT63.7K
GitHub46Hosted–34K
MCP Inspector–Your computer–11.2K
XcodeBuildMCP24Your computerMIT6.5K

Questions

Is Serena free?

Yes with language servers, which are open source and cover over 40 languages. The JetBrains backend is a paid plugin with a free trial.

What does it add over my agent's own search?

It works on symbols instead of lines of text, so it can jump to a definition, list every caller or rename across files in one step.

What licence is it under?

The Serena application is GPL-3.0-or-later. Its language server layer, SolidLSP, is MIT.

Which clients work?

Any MCP client, including Claude Code, Codex, Cursor, VS Code, JetBrains assistants and Claude Desktop.

Full docs on GitHuboraios/serena

Something wrong on this page? Tell us.

More in Developer tools