PlugWiki
Serena MCP: the IDE for your agent logo

Serena MCP Server: Setup for Claude Code, Cursor and Other Apps

CommunityLocal
GetPyPIserena-agentoraios/serena

Gives Claude, Cursor and Codex IDE-style tools to find, understand and edit code across a whole project.

Serena lets your coding assistant look up and edit code by symbol, such as a function or class, instead of reading and rewriting whole files. It runs on your computer and talks to your assistant over your local setup, with no account or API key. The project says it sends no personal data or project data to outside servers, and collects only anonymous start-up counts that you can turn off. It can edit files, delete code and run shell commands by default, so read the safety section before you let it loose on a project you care about.

Install Serena with uv first, as shown in the box above, because the README advises against marketplace installs. It starts a small local dashboard in your browser by default.

Good for

  • Developers working in large codebases where the assistant keeps reading whole files
  • Claude Code, Codex and Cursor users who want precise rename and edit tools
  • JetBrains users who want the assistant to use their IDE's own refactoring
  • Teams who want project notes the assistant keeps between sessions

Works in

12 should work

Tap an app to see how to set it up and any known problems.

Install Serena MCP: the IDE for your agent

Claude Code

  1. 1

    Copy this prompt.

    Add the Serena MCP: the IDE for your agent server to Claude Code. Run this command:
    
    claude mcp add --scope user serena -- serena start-mcp-server --context claude-code --project-from-cwd
    
    Then check that it loaded and tell me if I need to sign in or restart.
  2. 2

    Paste it into Claude Code. It shows the change and asks before running it.

Requires uv, Serena installed with uv.

Read-only mode: Add --mode planning to the arguments. This turns off every tool that edits files or runs commands.

Install Serena first with the command from the README, then run serena init. Install: uv tool install -p 3.13 serena-agent.

From the project README. Source.

Tools

  • Finds a function, class or variable by name across your project

    Looks up code symbols by name, or by a path such as a class and its method, using a language server. It can return the symbol's source and, optionally, its children.

    Try: “Find the class that handles payments in this project and show me its methods.”

    Files · find_symbol

  • Lists the classes and functions defined in one file

    Returns the top-level symbols in a file, so the assistant sees a file's shape without reading all of it.

    Try: “Give me an outline of src/billing/invoice.py.”

    Files · get_symbols_overview

  • Finds every place a function or class is used

    Lists the code that references a given symbol, with the surrounding lines.

    Try: “Where is calculate_tax called from?”

    Files · find_referencing_symbols

  • Finds the classes that implement an interface

    Returns the implementations of a symbol such as an interface or abstract method.

    Try: “Which classes implement PaymentProvider?”

    Files · find_implementations

  • Jumps to where something is defined

    Finds the declaration or definition of a symbol that is used at a given spot in a file.

    Try: “Where is the User type defined?”

    Files · find_declaration

  • Searches project files for text or a regular expression

    Searches files for a pattern and returns the matching lines, with options to limit paths and include context lines.

    Try: “Search the repo for every TODO that mentions caching.”

    Files · search_for_pattern

  • Reads a file from the project, or part of it

    Reads a file inside the project directory, optionally only a range of lines.

    Try: “Show me lines 1 to 80 of config/settings.py.”

    Files · read_file

  • Lists the files and folders in a directory

    Lists a directory inside the project, with optional recursion.

    Try: “What is in the tests folder?”

    Files · list_dir

  • Finds files by name or pattern

    Finds files matching a name pattern under the paths you give.

    Try: “Find every file named schema.sql.”

    Files · find_file

  • Shows errors and warnings the language server found in a file

    Returns language-server diagnostics for a file, grouped by symbol.

    Try: “Are there type errors in src/api/routes.ts?”

    Files · get_diagnostics_for_file

  • Shows errors and warnings for one function or class

    Returns diagnostics for one symbol and, optionally, for the symbols that reference it. Off by default.

    Try: “Check whether changing parse_config broke anything that calls it.”

    Files · get_diagnostics_for_symbol

  • Rewrites a whole function or class in place

    Replaces the full definition of a symbol with new code, found through the language server rather than line numbers.

    Try: “Rewrite validate_email so it also rejects addresses without a domain.”

    Write · replace_symbol_body

Read from the source code

Permissions

high risk · 4 things to watch · 3 advisories

High risk

By default it can edit and delete project files and run shell commands on your machine. Add the planning mode for a read-only session, and keep your project in version control.

What it can do

Watch out for

  • It can run any shell command

    The shell tool runs commands on your machine, and the project says the only full protection is a sandbox such as Docker. Use read-only mode or a container for code you do not trust. github.com

  • It can edit and delete code and files

    Edit tools overwrite files and one tool deletes symbols that nothing uses. Keep the project under version control so you can undo changes. github.com

  • Optional tools add a Python console

    A beta tool, off by default, runs Python code against Serena, and the project says tool limits do not apply to it. Leave it off unless you need it. github.com

  • Sends anonymous usage counts by default

    On start it reports the version, operating system, interface, backend and context. Set SERENA_USAGE_REPORTING to false to stop it. github.com

Security advisories

Technical details
Turning on read-onlyStart the server with --mode planning. That mode excludes every tool marked as able to edit, including file edits, memory edits and shell commands.
Talks toAnonymous start-up usage counts to the Serena project (can be turned off). Downloads language servers for your programming languages when needed
Sign-in and keysNo account or API key. Everything runs locally.
Data retentionProject notes (memories) are stored in your project folder. The project says no personal or project data is sent to external servers.

Questions

Is Serena free?

Yes. It is open source under GPL-3.0-or-later and needs no account or API key. You pay only for the assistant you connect it to.

Which apps does Serena work with?

The project documents Claude Code, Codex, Claude Desktop, VS Code, Copilot CLI and JetBrains assistants. Other apps that can add a local server, such as Cursor, Windsurf and Cline, are covered by its general instructions. Use the install box above.

Can I run Serena read-only?

Yes. Start it with the planning mode and it keeps only tools that read. Edit, memory-write and shell tools are turned off in that mode.

Does Serena send my code anywhere?

The project says it sends no personal data or project data to external servers. It collects anonymous start-up counts, which you can turn off. Your assistant still sees whatever Serena returns, so your assistant's own data policy applies.

Why does Serena say not to use the marketplace?

The README warns that marketplace and plugin installs carry outdated and weaker install commands. It recommends installing with uv instead.

Do I need a language server?

By default Serena uses language servers to understand code, and some languages need extra tools installed. There is also a JetBrains plugin backend. Check the project's language support page for your language.

Is this list of tools complete?

The list covers the tools registered in the source. Many are off by default, and your client or context may hide others, so you may see fewer.

Information

updated Nov 2, 2026

Publisher
Community
Package
serena-agent
Registry
PyPI
Transport
stdio
Version
1.5.3
License
GPL-3.0-or-later
Last commit
Oct 28, 2026
Open issues
75
Listed in
Official MCP registry

WebsiteGitHubPyPIOfficial MCP RegistryChangelogIssues

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 6
  1. Connecting your MCP client · github.com
  2. Serena README · github.com
  3. Serena tool sources · github.com
  4. Serena security · github.com
  5. Serena privacy · github.com
  6. Planning mode · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.