# Serena MCP: the IDE for your agent

Gives your agent symbol-level search, references and refactoring through language servers. Useful on large codebases where text search falls apart.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 30677
- Author: oraios
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/oraios/serena
- Updated: 2026-10-20
- HTML: https://affpapa.org/en/nevibecode/mcp/serena-mcp-the-ide-for-your-agent

## What it does

Serena plugs into your AI client over Model Context Protocol and adds tools that work with code as symbols, not lines. The agent finds definitions, follows references and renames across files in one call. Under the hood sits an abstraction layer over language servers that speak LSP. Support is claimed for over 40 languages, Python, TypeScript, Go, Rust, Java and C/C++ among them.

There is a second backend: the paid Serena JetBrains plugin with a free trial, which leans on the code analysis inside your IDE. Which one to pick comes down to whether you want to pay for deeper analysis. The language server route is the default.

The server starts with `uvx serena-agent`, so `uvx` has to be on your machine. Two ways to connect: hand the client a launch command, or run the server yourself in HTTP mode and give the client the URL. The second one pays off when several clients share one server.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add serena -- uvx serena-agent
```
uvx runs the command named after the package; if the README names another one, use uvx --from serena-agent <command>

### Codex

**Platform CLI**
```bash
codex mcp add serena-mcp-the-ide-for-your-agent -- uvx serena-agent
```
uvx runs the command named after the package; if the README names another one, use uvx --from serena-agent <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "serena-mcp-the-ide-for-your-agent": {
            "command": "uvx",
            "args": [
                "serena-agent"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from serena-agent <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "serena-mcp-the-ide-for-your-agent": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "serena-agent"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from serena-agent <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add serena-mcp-the-ide-for-your-agent uvx serena-agent
```
uvx runs the command named after the package; if the README names another one, use uvx --from serena-agent <command>

## When to use it
- find every reference to a function before renaming it
- rename a symbol across multiple files at once
- jump to a method definition in another module
- trace dependencies in a large monorepo
- swap string search for symbol-aware navigation

## Example prompts
- find every call site of `parse_config` and list them
- rename the `UserStore` class to `AccountStore` across the project
- show me where the `auth.tokens` module is imported from

## Similar
- [gopls-lsp](https://affpapa.org/en/nevibecode/plugins/gopls-lsp.md) — plugin · ★ 44635
- [Delphi Expert](https://affpapa.org/en/nevibecode/agents/delphi-expert.md) — subagent · ★ 40418
- [clangd-lsp](https://affpapa.org/en/nevibecode/plugins/clangd-lsp.md) — plugin · ★ 44635
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [dbx](https://affpapa.org/en/nevibecode/mcp/dbx.md) — MCP server · ★ 27669

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
