2025-04-02 01:38:30 +02:00
2025-04-01 20:52:16 +02:00
2025-03-29 16:34:17 +01:00
2025-03-30 20:22:21 +02:00
2025-04-01 17:37:45 +02:00
2025-04-01 20:52:16 +02:00
2025-04-01 20:52:16 +02:00
2025-04-02 01:12:07 +02:00
2025-04-02 01:12:57 +02:00
2025-04-02 01:38:30 +02:00
2025-04-01 17:36:32 +02:00

  • 🚀 Serena is a powerful, fully-featured coding agent that works directly on your codebase.
  • 🔧 Serena integrates with existing LLMs, providing them with essential semantic code retrieval and editing tools!
  • 🆓 Serena is free to use. No additional API keys or subscriptions required!

Q: Can I have a state-of-the-art coding agent without paying (enormous) API costs or constantly purchasing tokens?
A: Yes, you can! By integrating Serena with your favourite (even free) LLM and thereby enabling it to perform coding tasks directly on your codebase.

Serena can be integrated with an LLM in several ways:

  • by using the model context protocol (MCP).
    Serena provides an MCP server which integrates with Claude (and soon also ChatGPT).
  • by using Agno the model-agnostic agent framework. Serena's Agno-based agent allows you to turn virtually any LLM into a coding agent, whether it's provided by Google, OpenAI or DeepSeek (with a paid API key) or a free model provided by Ollama, Together or Anyscale.
  • by incorporating Serena's tools into an agent framework of your choice.
    Serena's tool implementation is decoupled from the framework-specific code and can thus easily be adapted to any agent framework.

Serena's semantic code analysis capabilities build on language servers using the widely implemented language server protocol (LSP). The LSP provides a set of versatile code querying and editing functionalities based on symbolic understanding of the code. Equipped with these capabilities, Serena discovers and edits code just like a seasoned developer making use of an IDE's capabilities would. Serena can efficiently find the right context and do the right thing even in very large and complex projects! So not only is it free and open-source, it frequently achieves better results than existing solutions that charge a premium.

Language servers provide support for a wide range of programming languages. With Serena, we provide

  • direct, out-of-the-box support for:
    • Python
    • Java (Note: startup is slow, initial startup especially so)
    • TypeScript
  • indirect support (may require some code changes/manual installation) for:
    • Ruby (untested)
    • Go (untested)
    • C# (untested) Further languages can easily be supported by providing a shallow adapter for a new language server implementation.

Table of Contents

Is It Really Free to Use?

Yes! Even the free tier of Anthropic's Claude has support for MCP Servers, so you can use Serena with Claude for free. Presumably, the same will soon be possible with ChatGPT Desktop once support for MCP servers is added.
Through Agno, you furthermore have the option to use Serena with a free/open-weights model.

Serena is Oraios AI's contribution to the developer community.
We use it ourselves on a regular basis.

We got tired of having to pay multiple IDE-based subscriptions (such as Windsurf or Cursor) that forced us to keep purchasing tokens on top of the chat subscription costs we already had. The substantial API costs incurred by tools like Claude Code, Cline, Aider and other API-based tools are similarly unattractive. We thus built Serena with the prospect of being able to cancel most other subscriptions.

What Can I Use Serena For?

You can use Serena for any coding tasks - analyzing, planning, editing and so on. Serena can read, write and execute code, read logs and the terminal output. Vibe coding is possible, and if you want to almost feel like "the code no longer exists" you may find Serena even more adequate for vibing than an agent inside an IDE (since you will have a separate GUI that really lets you forget).

Quick Start

MCP Server (Claude Desktop)

  1. Install uv (instructions here)
  2. Clone the repository to /path/to/serena.
  3. Create a configuration file for your project, say myproject.yml based on the template in myproject.demo.yml.
  4. Configure the MCP server in your client.
    For Claude Desktop, go to File / Settings / Developer / MCP Servers / Edit Config, which will let you open the json file claude_desktop_config.json. Add the following (with adjusted paths) to enable Serena:
{
    "mcpServers": {
        "serena": {
            "command": "/abs/path/to/uv",
            "args": ["run", "--directory", "/abs/path/to/serena", "serena-mcp-server", "/abs/path/to/myproject.yml"]
        }
    }
}

When using paths containing backslashes on Windows, be sure to escape them correctly (\\).

That's it! Save the config and then restart Claude Desktop (be sure to fully quit the application, as closing Claude will just minimize it to the system tray). You should then see the Serena MCP tools in your chat interface (notice the small hammer icon).

Note that Serena is always configured for a single project. To use it for another, you will have to write a new configuration file and adjust the config in the MCP client.

Here you see Serena implementing a small feature for itself (a better log GUI) with Claude Desktop. Note the smart usage in finding and editing the right symbols.

S
Description
A powerful coding agent toolkit providing semantic retrieval and editing capabilities (MCP server & Agno integration)
Readme MIT
3.4 MiB
Languages
Python 95.5%
Elixir 1.9%
JavaScript 1.2%
HTML 0.5%
HCL 0.5%
Other 0.2%