oraios/serena
A powerful MCP toolkit for coding, providing semantic retrieval and editing capabilities - the IDE for your agent
Serena – AI コーディングエージェントのための IDE スタイルツールキット
概要 – Serena は、大規模言語モデルエージェントに IDE レベルの機能(シンボル認識のコード検索、ファイル横断リファクタリング、安全な編集、(JetBrains プラグインによる)対話的デバッグなど)を提供するサーバーサイドの「ツールボックス」です。独自の LLM は含まず、Model Context Protocol (MCP) をサポートする任意のクライアント(例:Claude Code、Codex CLI、VS Code AI アシスタントなど)と通信します。
重要性 – 現在のエージェントは生のテキストを操作することが多く、大規模な変更は脆弱になりがちです。Serena はエージェントをシンボルレベルに引き上げ、宣言、参照、階層を理解し、人間の開発者が行うように原子的なリファクタリングを実行できるようにします。README によると、Serena を使用するエージェントは、一般的なタスクのステップ数を 8〜12 削減し、「より鋭く、より落ち着いている」と感じられます。
コア機能
| カテゴリ | 機能 |
|---|---|
| 検索 | シンボルの検索、シンボルアウトラインの取得、参照の特定、外部プロジェクトのクエリ、診断 – すべてシンボルレベルで。 |
| リファクタリング | シンボルのみの名前変更(LSP)、JetBrains プラグインによる完全な名前変更/移動/インライン化/削除。 |
| シンボル編集 | シンボルの本体の置換、シンボルの前後への挿入、安全な削除 – 正規表現のハックなし。 |
| デバッグ (JetBrains のみ) | REPL スタイルのブレークポイント設定、変数検査、式評価。 |
| 基本ユーティリティ | 正規表現検索、置換、ディレクトリ/ファイル一覧、ファイル読み取り、シェルコマンド実行。 |
| メモリシステム | エージェントがセッションをまたいで情報を記憶できるシンプルな永続ストア。 |
| 設定可能 | YAML ベースの設定レイヤー(グローバル、プロジェクトごと、クライアントごと、動的フラグメント)。 |
| バックエンド | • 言語サーバーモード – 任意の LSP サーバーを使用(40 以上の言語をカバー)。 • JetBrains プラグイン – JetBrains IDE の完全な分析エンジンを活用(有料、無料トライアルあり)。 |
仕組み
- インストール – Python 中心のパッケージマネージャー uv を使用して
serena-agentツールをインストールします(uv tool install -p 3.13 serena-agent)。 serena initを実行して MCP サーバー(デフォルトの LSP バックエンド)を起動するか、serena init -b JetBrainsで JetBrains プラグインを使用します。- AI クライアント(Claude Code、Codex、VS Code AI 拡張機能など)を設定して、MCP サーバーを起動またはポイントします。クライアントはツール使用リクエストを Serena に送信し、Serena はセマンティック操作を実行して結果を返します。
- エージェントはこれらのツールを連鎖させて(例:シンボル検索 → 名前変更 → コミット)、複雑な開発ワークフローを完了できます。
対象ユーザー
- エージェント型コーディングアシスタントを構築する開発者 – 信頼性の高いシンボル認識操作が必要な方。
- LLM ベースのコード生成パイプラインを評価する研究者 – Serena は実験のための再現可能な「IDE レイヤー」を提供します。
- 大規模なモノレポを持つチーム – ファイル横断リファクタリングや依存関係ナビゲーションが一般的な場合。
クイックスタート(README より)
# 1. uv をインストール(まだの場合)
# 2. Serena をインストール
uv tool install -p 3.13 serena-agent
# 3. サーバーを初期化(デフォルトは LSP バックエンド)
serena init
# 4. ユーザーガイドに従って、MCP 対応クライアントをサーバーにポイントします
LSP バックエンドを使用する場合、追加の言語固有の依存関係が必要になる場合があります。
ドキュメントとコミュニティ
- 完全なドキュメント – https://oraios.github.io/serena/
- Discord – https://discord.com/invite/cVUNQmnV4r(サポートとディスカッション)
- ビデオ紹介 – README の YouTube リンク。
ライセンス
- コア SolidLSP コンポーネント – MIT。
- Serena アプリケーションの残り – GPL-3.0-or-later(結合配布には GPL)。
- 貢献には CLA への署名が必要です。
結論 – Serena は、AI コーディングエージェントに IDE グレードのシンボルレベルツールを提供する真のオープンソースプロジェクトであり、大規模な自動コード操作を実用的かつ信頼性の高いものにします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト