mcpField
G
gnomAD MCP Server

gnomAD MCP Server

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

gnomAD MCP Server について

gnomAD MCP Serverは、生物情報学の利用者や後続ツール向けに、gnomAD APIへの統一されたプログラムインターフェースを提供します。3つのAPIバージョンに対応し、フィールドやスキーマの違いを吸収します。

主な機能

  1. 01gnomAD v2.1.1、v3.1.2、v4.1.0に対応
  2. 02遺伝子とバリアントの検索
  3. 03バリアントと集団頻度データの取得
  4. 04ClinVarと構造バリアントの照会
  5. 05バージョン別のクエリ対応状況

活用シーン

  1. 01gnomADの複数バージョンでバリアント詳細を確認
  2. 02ID、遺伝子、領域を指定した検索
  3. 03ClinVarの臨床的意義と頻度データの取得

MCP 対応

gnomADへのクエリをMCPツールとしてクライアントに公開します。バージョンごとに対応するAPI操作を提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

gnomAD MCP サーバー

概要

この MCP サーバーは、Genome Aggregation Database(gnomAD)API へのプログラム可能なインターフェースを提供し、複数の API バージョン(v2.1.1、v3.1.2、v4.1.0)に対応しています。
バージョン固有のフィールドやスキーマの違いを抽象化し、後続のツールやユーザー向けに統一された API を公開します。

ステータス

🚧 現在開発中 🚧

このプロジェクトは現在開発中です。API や機能は予告なく変更される場合があります。

対応する gnomAD API バージョン

  • v4.1.0(gnomad_r4)
  • v3.1.2(gnomad_r3)
  • v2.1.1(gnomad_r2_1)

バージョン別の対応クエリ

次の表は、各 gnomAD API バージョンで利用可能なクエリをまとめたものです。

クエリタイプ説明v2v3v4
get_gene_info遺伝子のメタデータと制約指標を取得します(gene_id/gene_symbol による直接検索)❌❌✅
get_region_infoゲノム領域のバリアント情報と要約情報を取得します❌❌✅
get_variant_infoバリアントのメタデータと集団頻度データを取得します(variantId による検索)✅✅✅
get_clinvar_variant_infoClinVar のバリアントデータと臨床的意義を取得します✅✅✅
get_mitochondrial_variant_infoミトコンドリアバリアントのデータと集団頻度を取得します❌❌✅
get_structural_variant_info構造バリアント(SV)のデータと集団頻度を取得します✅❌✅
get_copy_number_variant_infoコピー数バリアント(CNV)のデータと集団頻度を取得します❌❌✅
search_for_genesシンボルまたは名前で遺伝子を検索します(v2/v3 では gene_id による直接検索はできません)✅✅✅
search_for_variantsID、遺伝子、または領域でバリアントを検索します✅✅✅
get_str_info短鎖タンデムリピート(STR)のデータと集団頻度を取得します❌❌✅
get_all_strsデータセット内のすべての STR を取得します❌❌✅
get_variant_liftoverゲノム間のバリアントのリフトオーバーマッピングを取得します✅❌❌
get_metadatagnomAD ブラウザーのメタデータと API バージョン情報を取得します✅✅✅
  • ✅ = このバージョンで対応
  • ❌ = このバージョンでは未対応

依存関係

  • Python >= 3.13
  • aiohttp >= 3.11.18
  • fastmcp >= 2.2.1
  • gql >= 3.5.2
  • httpx >= 0.28.1
  • mcp[cli] >= 1.6.0
  • nest-asyncio >= 1.6.0
  • pytest >= 8.3.5
  • pytest-asyncio >= 0.26.0

ディレクトリ構成

.
├── gnomad/              # Main package
│   ├── __init__.py
│   ├── types.py         # Type definitions
│   ├── queries/         # GraphQL query templates
│   │   ├── v2/         # v2.1 specific queries
│   │   ├── v3/         # v3 specific queries
│   │   └── v4/         # v4 specific queries
│   └── schemas/         # Versioned schema files
├── tests/               # Test code and data
│   ├── input/          # Test input data
│   │   ├── analyzed_schemas/  # Analyzed schema data
│   │   ├── schema2query/     # Schema to query conversion
│   │   └── schemas/          # Raw schema files
│   ├── output/         # Test output data
│   │   ├── server/     # Server test outputs
│   │   ├── v2/         # v2.1 test outputs
│   │   ├── v3/         # v3 test outputs
│   │   └── v4/         # v4 test outputs
│   ├── scripts/        # Test utility scripts
│   └── tests/          # Additional test modules
├── server.py           # FastMCP server entrypoint
├── pyproject.toml      # Project metadata
├── README.md           # This file
└── README_tests.md     # Testing documentation

セットアップ

依存関係をインストールする
uv sync
仮想環境を有効化する
. .venv/bin/activate
サーバーをテストする
uv --directory ./ run mcp dev server.py
MCP サーバーを MCP サーバーリストに追加する(Claude、Cursor など)
{
    "mcpServers": {
      "gnomad": {
        "command": "uv",
        "args": ["--directory", "where you cloned the repo", "run", "server.py"],
        "env": {}
      }
    }
}
テストを実行する

README_tests.md を参照してください。

クエリと API の設計

  • バージョン固有の GraphQL クエリテンプレートを管理するために、QueryTemplateEngine パターンを使用します。
  • 現在、クエリは固定されています。(./gnomad/queries) を参照してください。
  • MCP ツールのエンドポイントには、パラメーターと出力の詳細な説明が記載されています。

ライセンス

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

このプロジェクトは gnomAD API を使用しています。このツールまたはその出力を使用する際は、gnomAD を引用してください。

謝辞

コメント

MCP は初めてですか?

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

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