BioGRID MCP server について
BioGRID MCP serverは、LLMやエージェントにBioGRIDの遺伝的・物理的相互作用データを提供します。研究者はスキーマ検証付きの呼び出しで遺伝子や根拠付き相互作用を調べ、ネットワークを出力し、統計を確認できます。
主な機能
- 01遺伝的・物理的相互作用の取得
- 02遺伝子の一次近傍の検索
- 03TSVまたはCSVのエッジリスト出力
- 04遺伝子シンボルと別名の検索
- 05相互作用ネットワーク統計の集計
- 06相互作用と文献リソースへのアクセス
活用シーン
- 01CRISPRスクリーニング用にTP53の相互作用相手を調査
- 02遺伝子リストからCytoscape用ネットワークを作成
- 03曖昧な遺伝子シンボルを特定
- 04出力前にネットワーク密度を確認
MCP 対応
MCPクライアントにBioGRIDの相互作用ツールとリソーステンプレートを提供します。stdioとHTTPのトランスポートに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
BioGRID MCP サーバー
これは、LLM や自律型エージェントが BioGRID API にアクセスできるよう、厳選された 2 × 10⁷ 件の遺伝的相互作用および物理的相互作用を利用可能にする、Model-Context-Protocol(MCP)エンドポイントサーバーです。このリポジトリは、生の遺伝子シンボルから、出版物を根拠とする相互作用ネットワーク、TSV エッジリスト、すぐに解析できる統計情報までを、スキーマで検証された JSON 呼び出しだけで取得できるツールを、エージェントスタックに提供します。これらのツールは入力と出力を自己記述するため、エージェントは自ら呼び出しを検出、検証、修正できます。
ツール
- get_interactions:1 つの遺伝子に関係する BioGRID の相互作用をすべて取得します。
- get_neighbors:1 つの遺伝子の一次パートナーを返す軽量ラッパーです。
- export_edge_list:遺伝子セットの TSV/CSV エッジリストを生成します。Cytoscape や graph-tool ですぐに使用できます。
- search_genes:BioGRID の遺伝子テーブルをあいまい検索し、曖昧なシンボルや別名を検索します。
- interaction_stats:遺伝子リストのネットワーク概要(件数、次数分布、物理的相互作用と遺伝的相互作用の比率)をすばやく取得します。
リソーステンプレート
- biogrid://edge-list/{gene1,gene2,…}:遺伝子セットの TSV エッジリスト(export_edge_list と同じですが、キャッシュされ、共有できます)
- biogrid://interaction/{biogrid_id}:TSV 全体を解析せずに、エージェントが 1 件の相互作用を証拠として引用できます。
- biogrid://gene/{gene_symbol}:遺伝子を紹介する際にモデルが引用できる、手軽な「ナレッジカード」です。
- biogrid://publications/{pubmed_id}:NCBI にアクセスすることなく、引用を考慮した回答や RAG パイプラインを実現します。
- biogrid://dataset/{dataset_id}:特定の BioGRID データセットリリースを一括ダウンロードします(tar/zip)。
使用例
| ツール名 | 目的 | 主な引数(デフォルト) | 一般的な出力 | 使用例 |
|---|---|---|---|---|
| get_interactions | 1 つの遺伝子が関与する BioGRID の相互作用をすべて取得します。 | gene_symbol (必須)、species = 9606、type = "all" | "physical" | "genetic"、limit = 1000 | 相互作用オブジェクトの JSON 配列。各項目には相互作用相手、実験系、PubMed ID、スコアが含まれます。 | 「TP53について報告されている物理的相互作用をすべて表示してください。CRISPR スクリーニングの候補となる補因子を絞り込みたいです。」 |
| get_neighbors | 1 次の相互作用相手のみを返す軽量なラッパーです。 | 上記と同じ引数(limit のデフォルトは 250)。 | メタデータ付きの相互作用相手シンボルの JSON リスト(プロンプトの反復処理に最適です)。 | タンパク質セットを自動的に拡張:「BRCA1について、遺伝的相互作用相手の上位 25 件を返し、機能エンリッチメントに渡してください。」 |
| export_edge_list | 遺伝子セットの TSV/CSV エッジリストを作成します。Cytoscape、NetworkX、Gephi などですぐに使えます。 | gene_symbols[] (必須)、species、type | 単一のテキストデータ(TSV)または分割されたストリーム:ソース、ターゲット、相互作用タイプ、PubMed、エビデンス。 | 「RNA-seq の DEG リストにある遺伝子のエッジリストを作成してください。Cytoscape でネットワークをクラスタリングし、機能モジュールを見つけたいです。」 |
| search_genes | BioGRID の遺伝子テーブルをあいまい検索し、曖昧なシンボルや別名を調べます。 | query (必須)、species | 正式シンボル、体系的名称、BioGRID ID、生物種を含むランキング付きリスト。 | 別名を解決:「p85がPIK3R1とPIK3R2のどちらに対応するのか分かりません。検索して、信頼度の高い正しいエントリを選べるようにしてください。」 |
| interaction_stats | 遺伝子リストのネットワーク概要(ノード数/エッジ数、次数分布、物理的相互作用と遺伝的相互作用の比率)をすばやく表示します。 | gene_symbols[] (必須)、species、type | ノード数、エッジ数、平均次数、ヒストグラムの区間を含む JSON。 | 「エクスポートする前に、妥当性を確認してください。アルツハイマー病関連の 50 件のヒット遺伝子間の相互作用ネットワークは、どのくらい密ですか?」 |
クイックインストール
1. クローンとインストール
git clone https://github.com/<you>/biogrid-mcp-server.git
cd biogrid-mcp-server
npm install
2. BioGRID API キーを設定する
https://webservice.thebiogrid.org/ 学術目的での利用は無料です。
export BIOGRID_API_KEY=YOUR_KEY_HERE
3. サーバーを起動する
stdio モードはローカル LLM に最適です。
npm run start
HTTP モード – リモートエージェント向けにポートを公開します(空いているポートを選んでください)。
npm run start:http -- --port 3335
次のように表示されます。
[BIOGRID-MCP] server ready – manifest at /.well-known/mcp/manifest.json
5. ツール呼び出しの例
{
"name": "get_neighbors",
"arguments": {
"gene_symbol": "TP53",
"species": 9606,
"type": "genetic",
"limit": 250
}
}
ここで 9606 は生物種「ヒト」を表します。 取得されるサンプル
{
"query": {"gene":"TP53","species":9606,"type":"genetic"},
"neighbors": [
{
"partner": "MDM2",
"biogridId": "111",
"experimentalSystem": "Dosage Rescue",
"pubmedIds": [12345]
}
/* … */
],
"meta": {
"total": 187,
"timestamp": "YYYY-MM-DDTHH:MM:SSZ",
"biogrid_version": "4.4.229"
}
}
複数の MCP サーバーにまたがるワークフローの例
-
バリアントのトリアージ: search_genes → get_interactions → 遺伝学的エビデンスで絞り込み → PubMed の裏付けに基づいてパートナーをランク付けします。
-
モジュールの構築: get_neighbors(シード遺伝子)→ export_edge_list → GRAPH-MCP に渡してクラスタリング → overlay_expression。
-
データベース横断のエンリッチメント: search_genes → STRING-MCP get_functional_enrichment → Reactome-MCP でパスウェイをオーバーレイします。
公開予定:http://github.com/kleonai/bio-mcp-servers には、生物学分野の MCP サーバー一覧と使用ガイドがあります。
開発ガイド
- src/api.ts – BioGRID /interactions/ および /gene/ エンドポイント用の薄い axios ラッパー
- src/parsers.ts – TSV を型付きオブジェクトに変換します
- src/tools.ts – ツールのスキーマとハンドラーを宣言します
- src/server.ts – MCP トランスポート(stdio + express)を接続します
- 新しい分析機能(例:中心性、クラスタリング)は src/analytics.ts に追加します
前提条件
| 要件 | バージョン | 備考 |
|---|---|---|
| Node.js | ≥ 18 LTS | TypeScript + ESM をサポート |
| npm | ≥ 9 | Node のインストールに同梱されています |
| BioGRID API key | 無料(学術機関向け) | こちらから申請 |
このサーバーは https://kleonlab.com/ が開発しました。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。