Navigate:
Serena
~$SEREN1.6%

Serena: Coding agent toolkit with semantic capabilities

Coding agent toolkit with semantic code retrieval and editing for LLMs via MCP server.

LIVE RANKINGS • 05:09 AM • STEADY
TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10TOP 10
OVERALL
#10
6
DEVELOPER TOOLS
#1
30 DAY RANKING TREND
ovr#10
·Devel#1
STARS
19.9K
FORKS
1.3K
7D STARS
+318
7D FORKS
+16
See Repo:
Share:

Learn more about Serena

Serena is a coding agent toolkit that transforms LLMs into code-aware agents through semantic analysis and editing capabilities. The system operates through multiple integration methods including Model Context Protocol (MCP) servers, OpenAPI connections, and direct framework integration. It provides symbol-level code operations like find_symbol, find_referencing_symbols, and insert_after_symbol rather than basic text manipulation. The toolkit supports over 30 programming languages through LSP integration and JetBrains IDE plugin architecture.

Serena

1

Symbol-Level Operations

Performs code analysis and editing at the symbol level using semantic understanding rather than text-based search and replace operations.

2

Multiple Backend Support

Supports both Language Server Protocol (LSP) integration for 30+ languages and JetBrains IDE plugin architecture for enhanced code analysis.

3

Framework Agnostic

Provides decoupled tool implementations that can integrate with various LLMs, agent frameworks, and client interfaces through MCP, OpenAPI, or direct integration.


# Use Serena's semantic tools to find symbols and their references
# Instead of grep-like searches or reading entire files

# Find a specific symbol in your codebase
find_symbol("MyClass")

# Find all symbols that reference a particular symbol
find_referencing_symbols("my_function")

# Insert code after a specific symbol
insert_after_symbol("class MyClass", "\n    def new_method(self):\n        pass")

vv0.1.4

This likely is the last release before the stable version 1.0.0 which will come together with the JetBrains IDE extension.

  • Initial instructions no longer need to be loaded by the user**
  • Significantly extended CLI
  • Removed `replace_regex` tool from `ide-assistant` and `codex` contexts.
  • Configuration:
  • Simplify customization of modes and contexts, including CLI support.
vv0.1.3

This is the first release of Serena to pypi. Since the last release, we have greatly improved

  • Reduce the use of asyncio to a minimum**, improving stability and reducing the need for workarounds
  • Switch to newly developed fully synchronous LSP library `solidlsp` (derived from `multilspy`),
  • Switch from fastapi (which uses asyncio) to Flask in the Serena dashboard
  • The MCP server is the only asyncio-based component now, which resolves cross-component loop contamination,
  • Improved editing tools**: The editing logic was simplified and improved, making it more robust.
v2025-05-19

PHP support, fixed various small issues

  • PHP support, fixed various small issues Java LS doesn't seem to run on macos in this version

See how people are using Serena

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers