# oraios/serena [Health: Active]

**Category:** 🤖 Coding Agents  
**Repository:** https://github.com/oraios/serena  
**GitHub Stars:** 30783  
**Views:** 10  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/oraios-serena

## Description
A fully-featured coding agent that relies on symbolic code operations by using language servers.

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What oraios/serena does

oraios/serena provides semantic code retrieval, editing, refactoring, and debugging capabilities for AI coding agents. Rather than treating a project as a collection of text ranges, its tools operate around symbols and the relationships between them. This lets an agent inspect code structure, locate references, and make changes with an IDE-style understanding of the project.

The server is designed for use with MCP-compatible clients and LLMs. Serena supplies the coding tools; the connected model remains responsible for deciding which tools to call and how to apply the results. Its focus is the 🤖 Coding Agents category, particularly workflows involving navigation and changes across multiple files.

## How it works

Serena can use one of two analysis backends. The default option integrates language servers implementing the Language Server Protocol. These servers are generally open-source or freely available and provide language-specific information about symbols, declarations, implementations, references, and diagnostics.

A second option is the Serena JetBrains Plugin, which uses the analysis and editing facilities of a supported JetBrains IDE. The plugin is paid and offers a free trial. It supports the languages and frameworks handled by JetBrains IDEs; IntelliJ IDEA, PyCharm, Android Studio, WebStorm, PhpStorm, RubyMine, and GoLand are listed as supported environments, while Rider and CLion are unsupported.

The language-server backend covers more than 40 languages, including Python, Java, JavaScript, TypeScript, C#, C/C++, Go, Rust, Kotlin, Ruby, PHP, Swift, Scala, Dart, Elixir, Haskell, Lua, Terraform, YAML, JSON, HTML, CSS, SQL-adjacent project formats, and many others. Actual semantic coverage depends on the language server in use.

## Setup and configuration

MCP clients can connect to Serena in either of two ways:

- Give the client a launch command so it starts the MCP server when needed.
- Start Serena yourself in HTTP mode and configure the client with the server URL.

Serena includes a multi-layer configuration system for adapting its broad tool set to different projects and agent workflows. The project also provides a REPL-based agent interface in Serena v2, alongside the MCP interface.

The connected client must support MCP. Examples named by the project include Claude Code, Codex, OpenCode, Gemini CLI, VS Code integrations, Cursor, JetBrains IDE integrations, Claude Desktop, Codex App, and OpenWebUI.

## Tools and capabilities

The available capabilities include:

- Finding symbols and declarations.
- Producing a symbol overview or file outline.
- Finding symbols that reference another symbol.
- Finding implementations where the language server supports the operation.
- Querying external projects.
- Reading diagnostics and inspections.
- Searching project dependencies through the JetBrains backend.
- Inspecting type hierarchies through the JetBrains backend.
- Editing and refactoring code using semantic structure rather than only line-based text operations.
- Supporting long-lived agent workflows through a memory system.

Declaration lookup generally does not cover declarations in external dependencies when using language servers. Implementation lookup is also limited by the capabilities of the selected language server.

## Limitations and notes

Serena does not replace the LLM or coding client: it exposes tools, while the model orchestrates the coding task. Backend choice affects available analysis features. The language-server route depends on suitable language-server support for the target language, while the JetBrains route requires a supported JetBrains environment and uses a paid plugin after its trial.

The project is licensed under GPL-3.0-or-later. It is intended for projects where symbol relationships and semantic navigation are useful; simple text edits and non-code tasks may not need its full tool set.

_Full upstream README: https://allmcps.com/mcp/oraios-serena/readme_

