serena-agent
A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent
What it is and what it does
Serena is an MCP (Model Context Protocol) server designed to give AI coding agents IDE-level capabilities for understanding and modifying code. Instead of working with raw text and line numbers, agents using Serena can perform semantic operations like finding symbols, cross-file renames, reference lookups, and refactoring—all grounded in the actual structure of the code. It supports over 40 programming languages through an abstraction layer over language servers (the free/open-source default) or optionally through JetBrains IDE integration (paid with free trial).
The package integrates with modern AI chat clients—Claude Code, Codex, Copilot, JetBrains AI Assistant, and others—via MCP. You either launch Serena as a subprocess or run it in HTTP mode and point your client to it. The tool is built for agent-first workflows: it provides high-level abstractions that let agents work faster and more reliably on complex codebases by reducing error-prone manual text surgery into atomic, semantically-aware operations. It includes 33 runtime dependencies covering web frameworks (flask, starlette), LLM integration (anthropic, tiktoken), code parsing (beautifulsoup4, pyyaml), and protocol support (lsprotocol, pygls, mcp).
Use it for:
- Enable an AI agent to safely rename symbols across multiple files in a large codebase without manual line-by-line verification
- Let a coding agent explore and understand a monorepo's structure by querying symbols and their relationships at the semantic level
- Provide an agent with IDE-backed diagnostics and inspections to catch errors before suggesting code changes
- Support multi-language projects where agents need consistent symbol-aware navigation across Python, Java, TypeScript, and other languages
- Reduce agent hallucination and errors by replacing fragile text-based edits with atomic, symbol-aware refactoring operations
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Serena is an MCP server that provides semantic code retrieval, editing, and refactoring tools for AI coding agents, operating at the symbol level across over 40 programming languages via language servers or JetBrains IDE integration.
Yes, with conditions. Serena is actively maintained, has low install friction, carries no security vulnerabilities, and is MIT-licensed. It is worth installing if you are running an AI coding agent in a modern client that supports MCP and need IDE-level code understanding to improve agent reliability and speed. Not worth installing if you are not using an MCP-compatible AI client or if your codebase is small enough that agents work well with built-in text-based tools. The 33 runtime dependencies are substantial; verify they do not conflict with your environment.
Install
serena-agent on PyPI
pip
pip install serena-agentuv
uv add serena-agentpoetry
poetry add serena-agentInstalling serena-agent
Before you install
Low install friction with a pure Python wheel. Active maintenance: last commit 2026-08-14, 28027 repository stars, and release within 5 days of the fact sheet date. Requires Python 3.11–3.14 and 33 runtime dependencies including anthropic, flask, pydantic, and language server protocol libraries, which is substantial but typical for a full-featured agent toolkit.
License in practice
MIT license (permissive) allows free use, modification, and distribution with minimal restrictions, making it suitable for both open-source and commercial projects without licensing friction.
Quickstart
pip install serena-agent
from serena_agent import SerenaAgent
agent = SerenaAgent()
# Configure with language servers or JetBrains backend
# Connect via MCP to your AI client
Requires Python 3.11 or later. Language server backend needs appropriate language servers installed for your target languages; JetBrains backend requires a running JetBrains IDE. MCP client integration is required to use Serena's tools.
Verify before relying
- Performance characteristics and latency on very large codebases (fact sheet mentions 'large' but gives no benchmarks)
- Exact list of supported language servers and their versions/compatibility
- Memory footprint and resource requirements when running multiple language servers
- Whether the JetBrains plugin trial period and pricing are documented
- Stability and error recovery behavior when language servers crash or become unresponsive
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<3.15,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 33 — anthropic, beautifulsoup4, cryptography, docstring-parser, dotenv, filelock, flask, jinja2, joblib, lsprotocol, mcp, oslex, overrides, pathspec, psutil, pydantic, pygls, pystray, python-dotenv, python-multipart, pythonnet, pywebview, pyyaml, regex, requests, ruamel-yaml, sensai-utils, starlette, tiktoken, tqdm |
| Maintenance | actively maintained — 5 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 115,155/month — #12,266 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: serena_agent-1.7.0-py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
ouroboros-aiOuroboros is an Agent OS that turns vague AI…
permissive · top 15,000 on PyPI
sembleSemble is a code search library that indexes…
permissive · top 15,000 on PyPI
fast-agent-mcpfast-agent-mcp is a CLI-first framework for…
permissive · top 15,000 on PyPI
amalgam-langAmalgam is a Python wrapper that lets you call…
agpl · top 15,000 on PyPI
detect_agentDetects whether code is running in an AI agent…
unclear · top 15,000 on PyPI
jcodemunch-mcpAn MCP server that retrieves precise source…
unclear · top 15,000 on PyPI
hud-sdkHud-sdk is a lightweight runtime sensor that…
unclear · top 15,000 on PyPI
kimi-cliKimi CLI is a terminal-based AI agent that…
unclear · top 15,000 on PyPI
openhands-aciProvides tools and interfaces for AI agents to…
permissive · top 5,000 on PyPI
arxiv-mcp-serverAn MCP server that exposes arXiv search, paper…
permissive · top 15,000 on PyPI