mcpField
G
GWAS Catalog MCP Server

GWAS Catalog MCP Server

ローカル
github.com/koido科学・教育479 週間前に更新

GWAS Catalog MCP Server について

GWAS Catalog MCP Serverは、GWAS Catalogの研究、バリアント、形質、関連データにプログラムからアクセスするインターフェースです。研究者やバイオインフォマティクスのワークフロー向けで、大量の結果はメモリ上の上限を超えるとファイルに保存できます。

主な機能

  1. 01研究・バリアント・形質・関連データの取得
  2. 02ゲノム領域によるバリアント検索
  3. 03EFO形質IDによるデータ検索
  4. 04有意性による関連結果の絞り込み
  5. 05大規模な結果のファイル保存

活用シーン

  1. 01研究や形質に関する関連を調べる
  2. 02ゲノム領域内のバリアントを確認する
  3. 03バリアントの有意な関連を取得する
  4. 04メモリ上限を超える結果セットを処理する

MCP 対応

GWAS Catalog REST APIとSummary Statistics APIの操作をMCPツールとして公開し、研究、バリアント、形質、関連を検索できます。大規模な結果はメモリ上の応答とは別に保存でき、ファイルパスが返されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

GWAS Catalog MCP サーバー

概要

この MCP サーバーは、GWAS Catalog REST API へのプログラムから利用できるインターフェースを提供し、GWAS の研究、バリアント、形質、関連データにアクセスできるようにします。大規模な結果セットを自動的に処理し、メモリ内での結果とファイルベースの保存方法の両方を提供します。

ステータス

🚧 開発中 🚧

このプロジェクトは現在、活発に開発が進められています。機能や API は予告なく変更される場合があります。

依存関係

  • uv
  • mcp[cli]
  • fastmcp
  • requests

ディレクトリ構造

.
├── server.py             # Main FastMCP server entrypoint
├── utils.py              # Utility functions
├── pyproject.toml        # Project metadata and dependencies
├── README.md             # Usage and documentation
├── tests/                # Test suite and test data
│   ├── run_tests.py
│   ├── input/
│   └── output/
│       ├── success/
│       └── error/
└── ...

セットアップと実行

依存関係をインストールする
uv sync
仮想環境を有効にする
. .venv/bin/activate
MCP サーバーを実行する
uv run server.py
テストを実行する
python tests/run_tests.py

MCP ツールの仕様

ツール名
  • GWAS_catalog
共通パラメーター

ほとんどのツールは、次の共通パラメーターに対応しています。

パラメーター型デフォルト説明
max_items_in_memoryint5000メモリ内に返す項目の最大数
force_to_fileboolFalse結果のサイズに関係なく、結果をファイルに書き込む
output_dirstr"/tmp"結果が上限を超えた場合のファイル出力先ディレクトリ
force_no_fileboolFalse結果をファイルに書き込まない
remove_linksboolTrueAPI レスポンスから「_links」フィールドを削除する
ツールのエンドポイントとパラメーター
研究を取得する
パラメーター型必須説明例
studyIdstrはいGWAS Catalog の研究識別子"GCST000001"
remove_linksboolいいえ「_links」フィールドを削除する(デフォルト:True)
関連を取得する
パラメーター型必須説明例
associationIdstrはいGWAS Catalog の関連識別子"123456"
remove_linksboolいいえ「_links」フィールドを削除する(デフォルト:True)
バリアントを取得する
パラメーター型必須説明例
variantIdstrはいバリアント識別子(例:rsID)"rs123"
remove_linksboolいいえ「_links」フィールドを削除する(デフォルト:True)
形質を取得する
パラメーター型必須説明例
efoIdstrはいEFO 形質識別子"EFO_0000305"
remove_linksboolいいえ「_links」フィールドを削除する(デフォルト:True)
領域内のバリアントを検索
パラメーター型必須説明例
chromosomestrはい染色体(例:「1」)"1"
startintはい開始位置(GRCh38/hg38)1000000
endintはい終了位置(GRCh38/hg38)2000000
efo_idstrいいえEFO 疾患形質識別子"EFO_0008531"
...common上記の共通パラメーターを参照
EFO ID からバリアントを取得
パラメーター型必須説明例
efo_idslistはいEFO 疾患形質識別子のリスト["EFO_0000305", "EFO_0000310"]
...common上記の共通パラメーターを参照
疾患形質ごとのバリアントランキング
パラメーター型必須説明例
efo_idstrはいEFO 疾患形質識別子"EFO_0008531"
top_nintいいえ返す上位レコード数(デフォルト:10)10
...common上記の共通パラメーターを参照
研究の関連付けを取得
パラメーター型必須説明例
studyIdstrはいGWAS Catalog の研究識別子"GCST000001"
...common上記の共通パラメーターを参照
疾患形質の研究を取得
パラメーター型必須説明例
efoIdstrはいEFO 疾患形質識別子"EFO_0000305"
...common上記の共通パラメーターを参照
疾患形質の関連付けを取得
パラメーター型必須説明例
efoIdstrはいEFO 疾患形質識別子"EFO_0000305"
...common上記の共通パラメーターを参照
バリアントから関連付けを取得(GWAS Catalog REST API を使用)
パラメーター型必須説明例
variantIdstrはいバリアント識別子"rs112735431"
...common上記の共通パラメーターを参照

注: このメソッドは、バリアントに関するすべての関連付けを返します。これには、p 値がゲノム全体の有意性閾値(p ≤ 5e-8)を満たすかどうかを示す is_gwas_significant フラグも含まれます。基本的に、MCP サーバーが返すのは is_gwas_significant が True の場合のみです。

領域と形質の関連を取得する (GWAS Summary Statistics API を使用)
パラメーター型必須説明例
chromosomestrはい染色体(例:「1」)"1"
startintはい開始位置(塩基対)1000000
endintはい終了位置(塩基対)2000000
efo_idstrはいEFO 形質識別子"EFO_0008531"
...common上記の共通パラメーターを参照してください

注記: 「GWAS Summary Statistics API を使用」と記載されたエンドポイントは、メインの REST API ではなく https://www.ebi.ac.uk/gwas/summary-statistics/api にアクセスします。

出力形式

すべての API レスポンスは一貫した構造に従います。

{
  "request_url": "https://www.ebi.ac.uk/gwas/rest/api/...",
  "items": [...],  // List of results, limited by max_items_in_memory
  "total_items_aft_process": 123,  // Total number of results after processing
  "is_complete": true,  // Whether all results are included in items
  "metadata": {
    "subset_size": 100,  // Number of items in the current response (after using max_items_in_memory parameter)
    "max_items_in_memory": 5000,  // Current memory threshold
    "total_items": 150,  // Total number of items before processing
    "significant_items": 80  // Number of genome-wide significant items (if applicable)
  }
}
大量の結果セット

結果が max_items_in_memory を超える場合:

  1. 結果の一部が items フィールドに返されます
  2. is_complete は False になります
  3. 完全なデータセットが自動的にファイルに保存されます
  4. レスポンスにはファイルパスを示す output_file フィールドが含まれます

大量の結果を含むレスポンスの例:

{
  "request_url": "...",
  "items": [...],  // First max_items_in_memory results
  "total_items_aft_process": 10000,
  "is_complete": false,
  "metadata": {
    "subset_size": 5000,
    "max_items_in_memory": 5000,
    "total_items": 12000,  // Original number of items
    "significant_items": 8000,  // Number of genome-wide significant items
    "output_file": "/tmp/large_result_abc123.json"
  }
}

重要:

  • is_complete フィールドと output_file フィールドを必ず確認してください。is_complete が false の場合、items に含まれるのは結果の一部のみで、完全な結果は output_file で指定されたファイルに保存されています。
  • p 値を処理するエンドポイント(例:関連)では、total_items は元の件数を表し、total_items_aft_process はフィルタリング後の件数を表します。
  • 研究関連のエンドポイントには、p 値関連のメタデータ(significant_items)は含まれません。
出力に関する特記事項
  • get_trait_associations は、関連 ID のリストを返す場合と、レスポンス形式が想定外の場合に生の関連データ構造を返す場合があります。
  • 一部のエンドポイント(特に要約統計 API を使用するもの)では、結果が 1 件のみの場合、items に単一のオブジェクトが返されることがあります。

クレジット

このツールは、GWAS Catalog REST API および GWAS Summary Statistics API を利用しています。

このツールを使用して成果を発表する際は、GWAS Catalog と各研究を引用し、クレジットを明記してください。

ライセンス

この MCP サーバー自体は Apache License 2.0 の下でライセンスされています。詳細は LICENSE ファイルを参照してください。

このプロジェクトは GWAS Catalog REST API と EMBL-EBI が提供するデータを使用しています。このツールまたはその出力を使用する際は、GWAS Catalog と元の研究を必ず引用してください。詳細は GWAS Catalog の利用規約を参照してください。

謝辞

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。