Server profile

Serena MCP Server

Serena gives coding agents symbol-aware retrieval, editing, refactoring, and debugging capabilities through MCP. It uses language servers or a JetBrains plugin to bring IDE-style code understanding to existing AI clients.

Server facts

Serena MCP Server

Project

Author
oraios
License
MIT

Tech

Runtime / language
pythonPython
Transports
stdio
Remote available
No
Authentication
Not specified

Activity

GitHub stars
30,329
Last commit
Data as of

Tags

  • Coding Agents
  • Jetbrains
  • Language Server
  • Refactoring
  • Semantic Code

Overview

Serena extends coding assistants with operations based on symbols and relationships within a codebase. Rather than relying only on line numbers or text patterns, agents can inspect file outlines, locate symbols and references, replace symbol bodies, and perform supported refactorings. The project targets larger codebases where navigating structure is important to finding the right context. It also includes a configurable memory system for sharing knowledge across longer workflows. Serena supplies tools rather than an independent reasoning model: an existing LLM or client still decides what work to do and how to coordinate those tools.

Two backends provide semantic analysis. The default uses language servers and supports more than 40 languages, with some capabilities varying by server. An optional paid JetBrains plugin offers broader refactoring and dependency exploration, plus interactive debugging; Rider and CLion are listed as unsupported. Basic filesystem, regex, and shell utilities are also available, though agent harnesses may disable overlapping utilities by default. Setup uses uv to install serena-agent with Python 3.13, followed by initialization and client configuration. Clients can launch the MCP process or connect to a separately started HTTP server. Global, project, context, and mode settings let teams tailor active tools and prompts. The README warns against marketplace installation commands because those may be outdated.

Install & configure

Requirements

  • uv
  • An LLM client supporting MCP
  • Additional language-specific dependencies where required
Documented launch / install command
uv tool install -p 3.13 serena-agent

This command installs Serena; it is not the client launch command. Next run serena init, then configure your MCP client using the linked client guide. The default backend uses language servers. A separately started HTTP server is also supported, but no endpoint is stated in this README.

Config file · macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Use Settings → Developer → Edit Config when available. Do not assume a Linux configuration path; check the client documentation for your platform. Remote servers use the app’s connector flow when supported, not the local stdio file shown here. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Desktop configuration
{
  "mcpServers": {
    "serena": {
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ],
      "env": {}
    }
  }
}

Read the Claude Desktop setup guide

Config file · Project: .cursor/mcp.json

User: ~/.cursor/mcp.json

The project path is relative to the workspace root. The tilde denotes your user home directory. Use Cursor’s MCP settings to confirm which configuration and scope your installed version is reading. Merge this example with existing settings; do not overwrite unrelated servers.

Cursor configuration
{
  "mcpServers": {
    "serena": {
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ],
      "env": {}
    }
  }
}

Read the Cursor setup guide

Config file · Workspace: .vscode/mcp.json

For user scope, use the “MCP: Open User Configuration” command if available. Do not guess a user configuration path across operating systems, profiles, containers, or remote workspaces; check the client documentation. Merge this example with existing settings; do not overwrite unrelated servers.

VS Code configuration
{
  "servers": {
    "serena": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ],
      "env": {}
    }
  }
}

Read the VS Code setup guide

Config file · macOS/Linux: ~/.codeium/windsurf/mcp_config.json

Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Open the MCP configuration through Windsurf’s settings when possible to confirm the active file. Paths can differ in managed or future releases; check the client documentation if this location is not present. Merge this example with existing settings; do not overwrite unrelated servers.

Windsurf configuration
{
  "mcpServers": {
    "serena": {
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ],
      "env": {}
    }
  }
}

Read the Windsurf setup guide

Config file · Project scope: .mcp.json at the repository root

The project file uses mcpServers. For user scope, use claude mcp add --scope user rather than assuming .mcp.json in your home directory is the user configuration. Check the client documentation for managed settings and storage details. Merge this example with existing settings; do not overwrite unrelated servers.

Claude Code configuration
{
  "mcpServers": {
    "serena": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "tool",
        "install",
        "-p",
        "3.13",
        "serena-agent"
      ],
      "env": {}
    }
  }
}

Read the Claude Code setup guide

Examples are translated from the published configuration. Supply your own credentials and verify requirements in the upstream README. Remote connectors are shown only where a supported configuration format is known.

Tools

Source: repository README. Tool descriptions are a documented snapshot, not a live capability check.

ToolWhat it does
search_for_patternSearch a codebase using regular expressions.
replace_contentApply literal or regex-based text substitutions.
list_dirInspect directory entries.
find_fileLocate files within a project.
read_fileRead complete files or selected portions.
execute_shell_commandRun shell tasks such as tests, builds, or linters.

Names, permissions, and defaults can change. Check the current upstream documentation before granting access.

Use cases

  • Navigate a large project using symbols, references, and file outlines.
  • Edit symbol bodies and perform backend-supported refactorings.
  • Preserve project knowledge across agent sessions with memory.
  • Debug interactively through the optional JetBrains backend.

Strengths

  • Provides symbol-aware alternatives to fragile text-only code manipulation.
  • Supports more than 40 languages through its language-server backend.
  • Offers layered configuration and optional persistent memory.

Limitations

  • Semantic capabilities depend on the selected backend and language server.
  • Interactive debugging and several advanced refactorings require the paid JetBrains plugin.
  • Some languages need additional dependencies.

Frequently asked questions

No. It provides tools that an existing LLM or AI client orchestrates.

The default language-server backend is the free and open-source option. The JetBrains plugin is paid, with a trial available.

The README identifies interactive debugging as exclusive to the JetBrains plugin.

Agent harnesses such as Claude Code or Codex already provide overlapping file, search, and shell capabilities, so those utilities are typically disabled there.

Independent listing, not an affiliation or security review. Grant the least access needed and verify the upstream instructions before running code.

Related MCP servers

MCP Advisor

Developer Tools

MCP Advisor helps assistants discover MCP servers from natural-language requests and obtain installation guidance. It combines registry providers with offline search and offers optional local Meilisearch integration.

Context7

Developer Tools

Context7 retrieves current library documentation and code examples for AI coding assistants. It supports MCP tools or a CLI-and-skills workflow, with library IDs and version-aware requests helping narrow the documentation context.

FastAPI-MCP

Developer Tools

FastAPI-MCP exposes existing FastAPI endpoints as MCP tools while retaining schemas, endpoint documentation, and dependency-based authentication. It is a native extension for developers adding agent access to a FastAPI service.

GitMCP

Developer Tools

GitMCP turns public GitHub repositories and GitHub Pages projects into documentation sources for AI assistants. It offers repository-specific endpoints or a dynamic server for retrieving docs, searching code, and following referenced content.

XcodeBuildMCP

Developer Tools

XcodeBuildMCP provides an MCP server and CLI for AI agents working on iOS and macOS projects. One package supports direct terminal tools, simulator builds, and stateful operations such as debugging and log capture.

DevDocs by CyberAGI

Developer Tools

Crawl technical documentation into organized Markdown, JSON, and MCP-accessible content for development assistants. The public DevDocs repository is marked as not publicly maintained.

JetBrains MCP Proxy Server

Developer Tools

This legacy Node-based proxy connects MCP clients to a JetBrains IDE plugin. The repository is deprecated: IntelliJ-based IDEs include the core functionality from version 2025.2 onward.

MCP Language Server

Developer Tools

Expose an installed language server to MCP assistants for semantic code navigation and edits. It provides definitions, references, diagnostics, hover information, symbol renaming, and line-based file changes.