Genomics MCP について
Genomics MCPは、計算生物学者や研究者向けのローカルMCPサーバーです。公開ゲノムデータの検索、範囲指定での読み取り、参照データベースの検索を行い、出典やバージョンを示しますが、臨床解釈や生物学的結論は提供しません。
主な機能
- 01公開データセットの検索
- 02指定範囲のゲノムデータ読み取り
- 03変異・遺伝子・タンパク質の検索
- 04予算上限付きファイル取得
- 05出典とバージョンの提示
活用シーン
- 01EGA、ENA、ENCODEなどのデータ検索
- 02BAMやbigWigの範囲データ読み取り
- 03変異や遺伝子の参照情報確認
MCP 対応
ローカルMCPサーバーとして、データ検索、ゲノム読み取り、参照情報検索のツールとリソースを公開します。stdioまたはトークン認証付きのローカルStreamable HTTPに対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Genomics MCP
AI アシスタントが、出典付きの実際のゲノムデータと参照エビデンスを取得できるようにします。
Genomics MCP は、ローカルの Model Context Protocol サーバーです。エージェントはこのサーバーを使って公開データセットを探し、アーカイブ、リモートファイル、またはローカルファイルから指定範囲のデータを読み取れます。また、公開参照データベースからバリアントや遺伝子を検索することもできます。範囲のクエリでは、アセンブリを明示し、0 始まりの半開区間座標を使用します。形式とサーバーが範囲読み取りに対応している場合、ファイル全体をダウンロードせずに指定範囲を読み取ります。ファイル全体のダウンロードは別のステップとして予算管理されます。結果には、参照したソース(来歴とソースごとのステータス)が報告され、ソースから提供される場合は、アクセッション、バージョン、取得時刻も含まれます。
これは研究用ツールです。データを取得して報告します。臨床的な解釈、バリアントのコール、生物学的な結論の導出は行いません。
ブログ記事:Genomics MCP: genomic data access for AI agentsをご覧ください。BCL11A エンハンサーでのエージェント事例も紹介しています。
対象ユーザー
統合コードを書かずに、エージェントを使って EGA、ENA、ENCODE、GEO、NCBI、またはインデックス化した独自ファイルからデータを取得したい計算生物学者や研究者を対象としています。追跡可能なソースを持つ実データを必要とする、エージェントや評価を構築する方にも適しています。ベンチマーク自体を生成するものではありません。
リクエスト例
説明用のプロンプトです。結果は使用するクライアントとモデルによって異なります。区間は 0 始まりの半開区間(start を含み、end を含まない)です。VCF 形式のバリアント位置は 1 始まりです。
- 「EGA ファイル EGAF00007243773(データセット EGAD00001003338)から、GRCh38 chr10:[10000, 10050) と重なるリードを表示して。」
GENOMICS_MCP_EGA_PUBLIC_TEST_ACCOUNT=1と、EGA が公開しているテストアカウントが必要です。 - 「ENCODE ファイル ENCFF792QDS の GRCh38 chr1:[1000000, 1001000) における平均シグナルを教えて。」
- 「GRCh38 バリアント 7-140753336-A-T の参照塩基を NCBI で確認し、生殖細胞系列、体細胞、腫瘍形成性の分類を分けて ClinVar のレコードを一覧表示して。」
- 「DQ285577.1 の ENA FASTA をダウンロードし、先頭の 30 塩基を表示して。」
- 「データフォルダー内の 2 つの VCF で、chr1:[100000, 200000) の遺伝子型を比較して。」
実測例
上記の ENCODE リクエストを、2026-09-25 にライブデータを使ってクリーンインストール環境で実行しました。
- ファイル:ENCODE ENCFF792QDS、GRCh38 bigWig、1,413,106,336 バイト
- 区間:chr1:[1000000, 1001000)
- 結果:HTTP 範囲読み取りによる正確な平均値 26.361254017233847。その後、ワークスペースには 0 バイトが残りました(ディスクへの書き込みはなく、ネットワーク読み取りは発生しました)。
同じインストール環境で、ほかに 4 つのライブデモを実行しました。EGA テスト BAM の範囲指定、ENA 配列のダウンロード、ClinVar を使った参照確認、ローカル MinIO です。コマンドと機械可読な結果:docs/demos.md。
エージェント事例:このサーバーのツールだけを使える Claude Code エージェントが、BCL11A 赤血球系エンハンサーにおける 26 個のファイルの ENCODE DNase-seq シグナルを比較します。トランスクリプトとモデルを使わないリプレイもあります:examples/agent-case-study/。
クイックスタート
コンテナ(Linux x86_64、Docker 使用)
イメージは linux/amd64 用です。Linux x86_64 でテスト済みです。macOS 上の Docker ではテストしていません。先にデータフォルダーを作成してください。フォルダーは読み取り専用でマウントされます。
{
"mcpServers": {
"genomics": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--mount", "type=bind,source=/path/to/your/data,target=/data,readonly",
"--mount", "type=volume,source=genomics-mcp-work,target=/work",
"ghcr.io/rewire-bio/genomics-mcp:0.1.0"
]
}
}
}
ソースから実行(macOS arm64、Linux x86_64)
Python 3.12、uv、C コンパイラー、libcurl と zlib の開発用ファイルが必要です(リモートファイルをサポートするため、pyBigWig はソースからビルドされます)。
git clone https://github.com/rewire-bio/genomics-mcp
cd genomics-mcp && git checkout v0.1.0
uv sync --locked --no-dev
uv run --no-dev genomics-mcp --check-config
{
"mcpServers": {
"genomics": {
"command": "uv",
"args": ["--directory", "/path/to/genomics-mcp", "run", "--no-dev", "genomics-mcp"],
"env": { "GENOMICS_MCP_ALLOWED_ROOTS": "/path/to/your/data" }
}
}
}
PyPI パッケージはまだありません。Wheel、Linux MCPB バンドル、バージョンを固定した uvx コマンド、Windows(WSL2)およびプラットフォームに関する注意事項については、docs/install.md をご覧ください。
対応範囲
| 分野 | ソースと形式 |
|---|---|
| ディスカバリー | EGA、ENA(SRA アクセッションを含む)、ENCODE、GEO、NCBI Datasets:研究、データセット、サンプル、提供される表現型、ファイル |
| ゲノムデータ | ローカルディスク、HTTPS または S3 上の BAM/CRAM、VCF/BCF、FASTA、BED/GFF3/GTF、bigWig/bigBed;htsget 経由の EGA 領域 |
| 転送 | 予算制限付きで再開可能なチェックサム検証済みダウンロードをローカルパスとして返します;オプションで SRA Toolkit を使って SRA run を FASTQ に変換します(未リリース) |
| リファレンス | HGNC、Ensembl、ClinVar、gnomAD、UniProt、Open Targets;任意のキーを使用するオプションの AlphaGenome Atlas |
全 24 ツールとリソース
| グループ | ツール |
|---|---|
| ディスカバリー | list_sources、search_datasets、describe_dataset、list_files、list_samples、get_sample_metadata |
| 転送 | fetch_file、get_transfer_status、cancel_transfer、convert_sra_run(オプション、未リリース) |
| ゲノミクス | get_reads、get_coverage、get_pileup、get_variants、get_sequence、get_features、get_signal |
| 構成 | inspect_locus、compare_samples |
| リファレンス | resolve_identifier、normalize_variant、lookup_variant、lookup_gene、lookup_protein |
リソース:genomics://capabilities、genomics://status、genomics://schemas、genomics://schemas/{name}。
デフォルト設定と安全性
-
制限: 領域は 1 Mb、レコードは 10,000 件、応答は 1 MiB、制限時間は 30 秒です。呼び出し側でこれらの値を引き下げることができます。呼び出しでより大きな予算を設定しない限り、転送は 100 MiB に制限されます。切り詰めが発生した場合は通知されます。アセンブリ間でのリフトオーバーは行いません。
-
ローカルのみ: stdio、または 127.0.0.1 上でベアラートークンを使用する Streamable HTTP に対応しています。ホスト型サービスはありません。ローカルの読み取り対象は許可したフォルダーに限られ、ソースファイルは変更されません。
-
認証情報と外部通信: 環境に設定された AWS 認証情報は使用されません。プライベート S3 と EGA には明示的な設定が必要です。
publicとマークされていないファイルの値が外部 API に送信されるのは、呼び出しでallow_external_annotationが設定されている場合のみです。 -
キャッシュ(未リリース;開発用チェックアウトのみ、v0.1.0 には含まれません): 上限付きのインメモリーキャッシュにより、
publicとマークされた公開 HTTPS ファイルのバイト範囲(呼び出しごとに ETag で再検証)と公開 API の応答を再利用します。プライベート、署名付き、認証済みのリクエストには使用されません。[cache] enabled = falseで無効にできます。再起動するとクリアされます。詳細と測定結果:パフォーマンス。 -
SRA Toolkit(未リリース;オプション):
convert_sra_runは、NCBI のprefetchとfasterq-dumpを使用して、公開 SRR/ERR/DRR run をローカルの FASTQ ファイルに変換する、予算制限付きでキャンセル可能なジョブです。ディスカバリーによって自動的に開始されることはありません。ENA の FASTQ ファイルにはツールキットは不要です。インストール方法、コンテナ版、制限および現在の検証状況については、SRA Toolkit をご覧ください。
設定:config.example.toml。対象範囲と既知の制限:PRD.md。ディレクトリと PyPI の状況:公開台帳。技術的な詳細:データアクセス、アーカイブ、リファレンス、構成。セキュリティ:SECURITY.md。
開発
uv sync --locked
uv run ruff check . && uv run ruff format --check .
uv run pytest
ライセンス
MIT。LICENSE をご覧ください。各ソースのデータには、それぞれのソース独自の利用条件が適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。