
主な機能
セマンティック検索・編集
シンボルレベルでコードエンティティを抽出し関係構造を利用して検索・編集を行う機能を提供し、find_symbolやfind_referencing_symbols、insert_after_symbolなどのツールで特定箇所を効率的に操作できます。
言語サーバー(LSP)統合
言語サーバー(LSP)との統合レイヤーを備え、30以上のプログラミング言語に対してセマンティック解析とクエリ・編集機能を提供します。
LLM統合・ツール呼び出し
Model Context Protocol(MCP)サーバー経由やmcpo/OpenAPIを利用した接続により、各種LLMやクライアントと連携してSerenaのツールを呼び出すワークフローをサポートします。
IDEプラグイン・クライアント連携
JetBrainsプラグインやVSCodeなどのIDE、ターミナルやローカルクライアントとの統合をサポートし、IDEの解析機能をバックエンドとして利用できます。
使用例
🔎シンボル検索
“このリポジトリ内で `calculateTotal` という関数の定義箇所を見つけて、ファイル名と行番号、該当コードの短い抜粋を教えて。”
🧭参照解析
“`UserService.login` を参照している箇所をすべて列挙して、どの呼び出しが影響範囲に入るか優先順位付きで教えて。”
✏️コード編集・挿入
“`AuthController` の直後にリクエストログを出力するコードを挿入してほしい。変更差分(patch)を作成して適用して。”
🔧機能実装/リファクタリング
“プロジェクトの認証モジュールにセッションタイムアウト処理を追加する改修案を作り、関連ファイルの変更点を提案してパッチを生成して。”
🧰言語解析とIDE連携
“このPythonプロジェクトについて、未使用関数と型不一致をLSPで検出して修正案を示して。JetBrainsプラグインを使ってより精密な解析を行ってもらえますか?”
導入方法
詳細なインストール方法はGitHubリポジトリのREADMEを参照してください。