mcpField
G
Genomics MCP

Genomics MCP

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

Genomics MCP について

Genomics MCPは、計算生物学者や研究者向けのローカルMCPサーバーです。公開ゲノムデータの検索、範囲指定での読み取り、参照データベースの検索を行い、出典やバージョンを示しますが、臨床解釈や生物学的結論は提供しません。

主な機能

  1. 01公開データセットの検索
  2. 02指定範囲のゲノムデータ読み取り
  3. 03変異・遺伝子・タンパク質の検索
  4. 04予算上限付きファイル取得
  5. 05出典とバージョンの提示

活用シーン

  1. 01EGA、ENA、ENCODEなどのデータ検索
  2. 02BAMやbigWigの範囲データ読み取り
  3. 03変異や遺伝子の参照情報確認

MCP 対応

ローカルMCPサーバーとして、データ検索、ゲノム読み取り、参照情報検索のツールとリソースを公開します。stdioまたはトークン認証付きのローカルStreamable HTTPに対応します。

設定

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

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

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

リポジトリ
パッケージ
ocighcr.io/rewire-bio/genomics-mcp:0.1.0
mcpbgenomics-mcp-0.1.0.mcpb

ツール

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

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

詳細

Genomics MCP

Release MCP Registry Python 3.12 License: MIT

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 をご覧ください。各ソースのデータには、それぞれのソース独自の利用条件が適用されます。

コメント

MCP は初めてですか?

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

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