2026. 05. 07.  /  TECH  ·  7 min read

Serena vs Graphify — AIコード検索、どちらが強い?

どちらもMCPベースのコード検索ツールだが、アプローチが全く違う。どの状況で何を使うべきかをまとめた

Serena vs Graphify — AIコード検索、どちらが強い?

AIアシスタントにコードベースを連携させる方法が増える中、SerenaGraphifyがよく挙げられる。

どちらもMCPベース、どちらも「コード検索をより上手くする」と言っているが、比較してみるとアプローチが全く違う。


Serena

SerenaはMCPサーバー形態のコードインテリジェンスツールだ。

IDEがコードを理解する方式 — LSP(Language Server Protocol) — をAIアシスタントがそのまま使えるように繋げてくれる。

核心はシンボル単位のナビゲーションだ。

ファイルを行単位で読むのではなく、関数、クラス、型のようなシンボルを基準にコードを探索する。

find_symbol("getUserById")
→ 定義: src/services/user.ts:42
→ 呼び出し元: auth.ts:18, routes.ts:67
→ シグニチャ: (id: string) => Promise<User>

対応言語は40以上。Python、TypeScript、Java、Rust、Go、C++全部対応。

主要機能:

  • find_symbol — シンボル定義を探す
  • find_referencing_symbols — このシンボルを参照している場所を全部探す
  • insert_after_symbol — シンボル基準の精密編集

一言まとめ: AIがIDEのようにコードを探索できるようにするツール


Graphify

Graphifyはコードベース全体を知識グラフに変換するツールだ。

コード、ドキュメント、SQLスキーマ、さらには画像や動画まで — プロジェクト内の全てをノードとエッジで表現する。

動作方式が独特だ。

LLMやベクターDBを使わない。Tree-sitter ASTパーシングでコード構造を先に分析して、そこから関係を抽出してグラフを作る。

関数A ──calls──→ 関数B
クラスC ──imports──→ モジュールD
ドキュメントE ──describes──→ クラスC

関係には出典がタグ付けされる:

  • EXTRACTED — コードから直接見つかった関係
  • INFERRED — 確率的に推論した関係(信頼度スコア付き)
  • AMBIGUOUS — 不確かな関係

/graphifyコマンド一つでプロジェクトがインタラクティブHTMLグラフとして可視化される。

MCPでインストールするとこんな関数が使える:

query_graph("認証関連の関数")
get_neighbors("UserService")
shortest_path("LoginController", "Database")

一言まとめ: コードベースを地図化してAIが全体構造を把握できるようにするツール


決定的な違い

SerenaGraphify
探索単位シンボル(関数・クラス・型)ノード・エッジ(関係グラフ)
分析方式LSP(言語サーバー)Tree-sitter AST + セマンティック抽出
ベクターDBなしなし
マルチモーダルコード専用コード・ドキュメント・画像・動画
可視化なしインタラクティブHTMLグラフ
プライバシーローカルローカル(外部APIなし)
インストールMCPサーバーpip install 'graphifyy[mcp]'

検索でどちらが有利か

Serenaが強い状況

「この関数はどこで使われているか」が気になる時

シンボルリファレンスの追跡が目的ならSerenaが格段に速い。find_referencing_symbols一回でプロジェクト全体から該当シンボルを参照している場所を全部捕捉する。

リファクタリング前のインパクト確認

関数シグニチャを変える前に「どこが壊れるか」を確認する時。LSPベースなので言語別の型情報まで含めて分析してくれる。

精密なコード編集

AIに「このクラスのこのメソッドだけ修正して」を指示する時。行番号ではなくシンボル基準で編集するから格段に安定している。


Graphifyが強い状況

「この機能がシステム全体でどんな位置にあるか」が気になる時

Serenaは特定シンボルの関係を追跡し、Graphifyはプロジェクト全体の構造を地図に描く。

「認証モジュールがどう繋がっているか」、「このマイクロサービス間の依存関係は何か」のような質問にはGraphifyが適している。

トークン効率が重要な時

Graphifyが公開している数値がある:

52ファイルのプロジェクト基準 Graphifyなし: 約123,000トークン Graphify使用: 約1,700トークン 約71.5倍削減

グラフトポロジーで探索するためAIにファイル内容を全て渡さなくていい。

コード以外の資料が混在している時

設計文書、API仕様PDF、ERD画像がコードと一緒にあるプロジェクトなら、これを一つのグラフで繋げられるのはGraphifyだけだ。


一緒に使うこともできる

二つは競争関係にない。レイヤーが違う。

  • Graphify: 全体構造の把握 → 「どこを見るべきか」
  • Serena: 特定シンボルの探索 → 「そこで正確に何をすべきか」

大きなコードベースで作業する時は順番を分ければいい:

  1. Graphifyで関連モジュールと関係を把握
  2. Serenaでそれらのシンボルを精密に探索・編集

選択基準まとめ

こういう必要がある使うもの
特定の関数・クラスの追跡Serena
リファクタリング前の依存性分析Serena
AIコード編集精度の向上Serena
プロジェクト全体の構造把握Graphify
トークンコスト削減Graphify
コード+ドキュメント+画像の統合検索Graphify
チームオンボーディング、コードベース可視化Graphify

ツール選択はシンプルだ。

「どこを見ればいいか分からない」 → Graphifyから 「どこを見ればいいかは分かるが、正確に何なのか分からない」 → Serena

関連記事