Delv
CommunityActive· 7d4.3by Oraios AI

Serena

Semantic code MCP for any agent. Symbol-level navigation, refactors, cross-file refs across 40+ languages. Backed by language servers.

C
Safety & Trust

Delv Safety Grade: C

Score 58/100 · assessed 2026-04-18

Maintainer45
Permissions55
Supply chain35
Transparency75
Incidents100

Serena is a community MCP server from Oraios AI that bridges language servers to AI agents for semantic code operations. It provides symbol navigation, refactoring, and cross-file references across 40-plus languages. The tool is open source with reasonable documentation and clear purpose. However, it requires installation via git clone rather than a proper package registry, which weakens supply chain verification. The maintainer appears to be a smaller organisation with limited track record. Permissions are moderately scoped: it needs filesystem read/write for code navigation and refactoring operations, plus shell execution to spawn language server processes. No known security incidents exist, but the install method and relatively unknown maintainer introduce supply chain risk. Best suited for developers who can audit the code themselves before deployment.

Green flags

  • Open source with clear documentation and purpose
  • No environment variables or secrets required
  • Scoped to code operations, not arbitrary system access
  • No known security incidents or CVEs
  • Supports multiple established AI hosts (Claude Desktop, Cursor, etc)

Red flags

  • Install via git clone only, no npm/pypi package for version pinning
  • Oraios AI is relatively unknown with limited public track record
  • Requires shell execution to spawn language server processes
  • Filesystem write access for refactoring operations across entire codebase

Permissions requested

Read filesWrite filesShell execute
Assessed by Delv Editorial using public metadata. Grades are advisory and update as the ecosystem changes. They do not replace your own review of permissions and code before granting an agent access to sensitive systems.

Install

uvx --from git+https://github.com/oraios/serena serena start-mcp-server

Review

Serena is a semantic code navigation MCP that plugs language servers into your AI agent. Instead of your LLM doing dumb string searches, it gets proper symbol lookups, cross-file references, and rename refactors across 40-plus languages. It's the difference between asking Claude to "find where this function is called" and getting grep output versus getting an actual call hierarchy. I've used it most heavily in TypeScript and Python repos where cross-file imports get messy. The killer feature is reliable rename: tell it to rename a method and it propagates correctly through the entire codebase, respecting scope and imports. That's not trivial. Most LLM-driven refactors either miss references or rename too much. Serena leans on the same language servers your editor uses, so it gets the semantics right. The workflow I reach for: before any large refactor, I run a usage lookup on the symbol I'm about to change. Serena returns every reference with file paths and line numbers. I can see the blast radius before I commit. Then I use the rename tool if it's straightforward, or at least I know what to review manually. Quirks: it's a Python package installed via uvx, so you need Python 3.10 or later. The language server backends have to be installed separately for each language you care about (pyright for Python, typescript-language-server for TS, etc.). The README lists them, but it's not automatic. If you're working in a language without a mature LSP, you're back to grep. Who shouldn't bother: if you only write single-file scripts or work in a language without LSP support, this is overkill. Also, if you're already happy with your editor's refactor tools and don't need an agent to do semantic ops, skip it. But if you're using Claude Desktop or Cursor to navigate a real codebase and you're tired of it hallucinating references, Serena is the fix. It's not flashy, but it's the kind of tool that quietly makes your agent competent at the one thing it should be good at: understanding code structure.
Verdict

Install this if you use Claude or Cursor on multi-file codebases and want proper symbol navigation instead of glorified grep. Skip it if you're doing single-file work or your language lacks a solid language server. It's the boring, essential plumbing that makes agent-driven refactors actually work.

Good at

  • Proper semantic navigation: renames propagate correctly, references respect scope, no false positives from string matches.
  • Supports 40-plus languages via their native language servers, so you're not locked to one ecosystem.
  • Cross-file reference lookups are fast and accurate, which makes pre-refactor reconnaissance actually useful.
  • Backed by the same LSP tooling your editor uses, so behaviour is consistent and predictable.

Watch out

  • Requires separate installation of each language server you care about, which is fiddly if you work across many languages.
  • Python 3.10 minimum, and the uvx install step is an extra dependency to manage.
  • No built-in diagnostics or health checks, so if a language server is missing or misconfigured, you get silent failures.
  • Hosts beyond Claude Desktop need manual MCP config, which isn't documented exhaustively in the README.

Use cases

  • Reliable rename across a Java codebase
  • Cross-file reference lookups in a Python repo
  • Finding all usages of a TypeScript symbol
  • Semantic search before a large refactor

Getting started

1. Install via uvx: `uvx --from git+https://github.com/oraios/serena serena start-mcp-server`. Requires Python 3.10+. 2. Add the server to your Claude Desktop or Cursor MCP config (check the repo README for the JSON snippet). Point it at the uvx-installed binary. 3. Install the language servers you need separately: pyright for Python, typescript-language-server for TypeScript, etc. Serena won't work without them. 4. Restart your host and verify by asking Claude to "find all references to [some function name]" in a multi-file project. You should get file paths and line numbers. 5. Watch out: if the language server crashes or isn't installed, Serena fails silently. Check the MCP logs if symbol lookups return nothing.

Works with

Claude DesktopClaude CodeCursorCodex

Similar MCPs