メインコンテンツまでスキップ
バージョン: design-archive

2.3. グラフ計算サービス仕様 (NetworkXMCP)

NetworkX Model Context Protocol (NetworkXMCP) は、グラフの計算処理に特化したステートフルなマイクロサービスです。

役割​

  • APIサービスからCPU負荷の高い計算処理をオフロードする。
  • データベースに直接接続し、計算結果(レイアウト座標、中心性指標など)を永続的にキャッシュする。
  • キャッシュが存在しない場合のみNetworkXライブラリを利用して計算を実行する。
  • 様々な形式のGraphMLファイルをシステムで一貫して扱える標準形式に変換・正規化する。

APIエンドポイント一覧​

APIサービスから内部的に呼び出される、主要なツールエンドポイントです。

MethodPath説明
GET/healthサービスのヘルスチェックを行う。
POST/tools/calculate_centrality中心性指標(例: 次数中心性、媒介中心性、近接中心性、PageRankなど)を計算し、結果をキャッシュに保存する。可視化は変更しない。
POST/tools/apply_metric_to_visualキャッシュされた計算結果を、ノードのサイズや色などの可視化に反映させる。
POST/tools/change_layoutグラフレイアウトを計算またはキャッシュから取得し、ノードの座標を更新する。GraphMLアップロード時の初期レイアウト計算にも使用される。
POST/tools/highlight_nodes指定された指標と基準(例: 上位10%)に基づき、ノードのスタイル(サイズ、色など)をまとめて変更する、より抽象度の高いツール。
POST/tools/convert_graphmlアップロードされたGraphMLファイルを解析・修正し、正規化されたGraphMLを返す。(ステートレス)

設計思想: 計算と可視化の分離​

本システムは、LLMの複数ツール呼び出し機能を活用し、「計算」と「可視化への反映」を明確に分離しています。これにより、ユーザーは「次数中心性を計算して」といった分析の指示と、「その結果をノードの大きさで表現して」といった可視化の指示を、自然な対話の中で組み合わせることができます。