FastMCP server for surgical queries against a vault knowledge graph (NetworkX no について
Obsidian などのナレッジベースグラフを対象に、巨大なレポートを読み込まずに必要な情報を調べられる FastMCP サーバーです。起動時に NetworkX の node-link JSON を読み込み、主グラフと任意の第2グラフを扱います。
主な機能
- 01ノードのあいまい検索
- 02隣接ノードと最短経路の検索
- 03概念周辺のサブグラフ抽出
- 04上位ノードとコミュニティの検索
- 05主グラフと第2グラフのスコープ
活用シーン
- 01ナレッジベースグラフ内の概念検索
- 022つの概念間のつながりの追跡
- 03トピック周辺のノードの確認
- 04個人用とチーム用グラフの個別検索
MCP 対応
NetworkX の node-link JSON グラフを検索・照会するツールを MCP クライアントに公開します。設定されたグラフファイルを起動時に読み込み、メモリ上でクエリに応答します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
graph-query-mcp
Obsidian/Vault のナレッジグラフを対象に、的を絞ったクエリを実行します。起動時に graph.json(NetworkX の node-link 形式)を一度読み込み、Claude に 5 万行のグラフレポートを読ませることなく、対象を絞った質問に回答します。
graphify(ai-brain-starter のグラフ構築スキル)との併用を想定していますが、このサーバーは NetworkX の node-link JSON 形式のグラフであれば、どれでも受け付けます。最大 2 つのスコープ(プライマリ+セカンダリ。例:個人用+チーム用)に対応しています。
使う理由
すでに Vault で graphify を実行していれば、graph.json と GRAPH_REPORT.md が生成されています。レポート全体を Claude に読み込ませると、質問のたびに数千トークンを消費します。この MCP は起動時にグラフを一度読み込み、50 ミリ秒未満で回答し、グラフ全体をコンテキストに出力することもありません。
ツール
| ツール | 機能 |
|---|---|
search_nodes(query, scope, limit) | ノード名をあいまい検索します。完全一致/前方一致/部分一致の順にランク付けしたノード ID を返します。 |
get_neighbors(node_id, scope, max_hops, limit) | N ホップ以内の接続ノードを、次数順に並べて返します。 |
find_path(source, target, scope) | 2 つの概念間の最短経路を返します。両端は自動的にあいまい一致で検索されます。 |
get_top_nodes(scope, n) | 次数が最も高いノード(「ゴッドノード」)を返します。 |
query_subgraph(concepts, scope, max_hops, limit) | 概念のリストを中心とするサブグラフを返し、ノード数とエッジ数を報告します。 |
get_node_info(node_id, scope) | 1 つのノードの全メタデータと、上位の隣接ノードを返します。 |
get_community_members(node_id, scope, limit) | 同じコミュニティ検出クラスター内の全ノードを返します。 |
スコープのデフォルトは personal です。2 つ目のグラフには、scope="onde"(または設定したセカンダリスコープ名)を渡してください。
設定
環境変数は 2 つあり、どちらも省略可能です。
| 環境変数 | デフォルト | 用途 |
|---|---|---|
GRAPH_JSON_PATH | ~/Documents/Vault/Meta/graphify-out/graph.json | プライマリグラフ(personal スコープ) |
SECONDARY_GRAPH_JSON_PATH | ~/Documents/Vault/Team/Meta/graphify-out/graph.json | セカンダリグラフ(旧称の onde スコープ) |
ONDE_GRAPH_JSON_PATH も、SECONDARY_GRAPH_JSON_PATH の下位互換エイリアスとして使用できます。
起動時にパスが存在しない場合、サーバーは警告をログに記録し、そのスコープにクエリが送られるとツールはわかりやすいエラーを返します。サーバーはそのまま起動します。セカンダリグラフが見つからなくても、プライマリグラフの利用は妨げられません。
インストール
Claude Code を開き、次の内容を貼り付けます。
/plugin marketplace add adelaidasofia/graph-query-mcp
/plugin install graph-query-mcp@graph-query-mcp
旧式のインストール
git clone https://github.com/adelaidasofia/graph-query-mcp.git ~/.claude/graph-query-mcp
cd ~/.claude/graph-query-mcp
pip3 install --break-system-packages -r requirements.txt
プロジェクトの .mcp.json に登録します。
{
"mcpServers": {
"graph-query": {
"type": "stdio",
"command": "fastmcp",
"args": ["run", "/Users/YOU/.claude/graph-query-mcp/server.py"],
"env": {
"GRAPH_JSON_PATH": "/path/to/your/vault/Meta/graphify-out/graph.json"
}
}
}
}
Claude Code を再起動すると、claude mcp list に graph-query が接続済みとして表示されます。
この MCP はグラフを構築するのではなく、グラフに対してクエリを実行します。graph.json をボルトから生成するには、graphify(ai-brain-starter のスキル)を使用するか、NetworkX 互換のほかのビルダーを使用してください。想定される形式は、networkx.node_link_data(G) の出力です。
検証
python3 tests/integration/test_smoke.py
# expected: PASSED — graph-query-mcp smoke (4 steps green)
アーキテクチャ
FastMCP、stdio トランスポート、Python 3.10 以降を使用します。グラフは起動時に一度だけ読み込まれ、メモリにキャッシュされます。デーモン、リスナー、外部サービスはありません。クエリの基本機能には、メモリ内の NetworkX を使用します。
関連する MCP
同じ作者による、同じアーキテクチャパターン(FastMCP、該当する場合は書き込み時に下書き+確認、ボルトの自動エクスポート、MIT)を採用した MCP です。
- slack-mcp — 複数ワークスペースの Slack
- imessage-mcp — macOS の iMessage
- whatsapp-mcp — whatsmeow 経由の WhatsApp
- apollo-mcp — Apollo.io の CRM + シーケンス
- google-workspace-mcp — Gmail / Calendar / Drive / Docs / Sheets
- substack-mcp — Substack の執筆+分析
- parse-mcp — markitdown / Docling / LlamaParse ルーター
- luma-mcp — lu.ma イベント
- graph-autotagger-mcp — 同じグラフ形式からの wikilink の提案
テレメトリー
このプラグインは、特定のマシンで Claude Code セッション中に初めて読み込まれた際、匿名のインストール通知を myceliumai.co に 1 回だけ送信します。
送信される情報:
- プラグイン名(例:
slack-mcp) - プラグインのバージョン(例:
0.1.0)
送信されない情報:
- ユーザー ID、名前、メールアドレス、トークン、API キーは送信されません
- ファイルパス、メッセージ内容、作業に関する情報は送信されません
- 重複排除の処理後、IP アドレスは保存されません
理由: メンテナーが実際にインストールされているプラグインを把握し、利用されているプラグインに注力できるようにするためです。
オプトアウト: Claude Code を起動する前に、環境変数 MYCELIUM_NO_PING=1 を設定してください。フックはネットワーク呼び出しを完全にスキップします。通知済みのインストールでは ~/.mycelium/onboarded-<plugin> にセンチネルファイルが作成されます。状態をリセットする場合は削除してください。
ライセンス
MIT。LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。