Genomics MCP

io.github.rewire-bio由 GitHub 账号 rewire-bio 发布v0.1.0更新于 Oct 24, 2026

Bounded genomic data from archives and indexed files, with versioned reference evidence.

概览

AI 生成的概览

本地 MCP 服务器,让助手查找公共基因组数据集并读取限定区域、变异与基因,同时给出数据来源。

可以做什么
  • 在 EGA、ENA、ENCODE、GEO 和 NCBI Datasets 中检索研究、数据集、样本与文件
  • 以有预算、可续传、带校验的方式传输文件,并查询或取消传输
  • 从 BAM/CRAM、VCF、FASTA、BED/GFF 与 bigWig/bigBed 文件读取 reads、覆盖度、pileup、变异、序列、特征与信号
  • 检查位点并在多个文件间比较样本
  • 解析标识符,并在 HGNC、Ensembl、ClinVar、gnomAD、UniProt 与 Open Targets 中查询变异、基因和蛋白质
适用场景
适合希望让智能体无需编写集成代码即可从公共档案库或自有索引文件取用真实基因组数据的计算生物学家与研究人员,也适合需要可追溯来源的智能体构建者。它只检索和报告数据,不进行变异检出,也不提供临床解读。
运行要求
以 stdio 本地运行(或在 127.0.0.1 上以 bearer token 使用 Streamable HTTP)。可用 linux/amd64 Docker 镜像并挂载只读数据目录,或从源码安装,需要 Python 3.12、uv、C 编译器以及 libcurl 和 zlib。访问档案库与参考数据库需要网络;私有 S3 和 EGA 需显式配置,EGA 示例需要 GENOMICS_MCP_EGA_PUBLIC_TEST_ACCOUNT=1。
安装前请注意
本地读取仅限允许的目录且不会修改源文件,但传输会把下载文件写入工作卷。未标记为 public 的文件内容只有在调用设置 allow_external_annotation 时才会发送到外部 API。不会使用环境中的 AWS 凭据;私有 S3 和 EGA 需显式提供凭据。默认上限为 1 Mb 区域、10,000 条记录、1 MiB 响应和 100 MiB 传输,且不会在不同装配之间做坐标转换。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Genomics MCP,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Genomics MCP

[Release] [MCP Registry] [Python 3.12] [License: MIT]

Let your AI assistant retrieve real genomic data and reference evidence, with the sources it came from.

Genomics MCP is a local Model Context Protocol server. An agent can use it to find public datasets and read a bounded region from archive, remote or local files. It can also look up variants and genes in public reference databases. Region queries use an explicit assembly and 0-based half-open coordinates. Where the format and server support range reads, a region is read without downloading the whole file. Whole-file downloads are a separate, budgeted step. Results report which sources were consulted (provenance and per-source status), with accessions, versions and retrieval times where the source provides them.

It is a research tool. It retrieves and reports data. It does not give clinical interpretation, call variants or draw biological conclusions.

Read the blog article: Genomics MCP: genomic data access for AI agents, including an agent case study at the BCL11A enhancer.

Who it is for

Computational biologists and researchers who want an agent to pull data from EGA, ENA, ENCODE, GEO, NCBI or their own indexed files without writing integration code. It also suits people building agents or evaluations who need real data with traceable sources. It does not generate benchmarks itself.

Example requests

Illustrative prompts; results depend on your client and model. Intervals are 0-based half-open (start included, end excluded); VCF-style variant positions are 1-based.

  • "Show the reads from EGA file EGAF00007243773 (dataset EGAD00001003338) overlapping GRCh38 chr10:[10000, 10050)." Needs GENOMICS_MCP_EGA_PUBLIC_TEST_ACCOUNT=1, EGA's documented public test account.
  • "What is the mean signal of ENCODE file ENCFF792QDS over GRCh38 chr1:[1000000, 1001000)?"
  • "Check the reference base of GRCh38 variant 7-140753336-A-T against NCBI, then list its ClinVar records with germline, somatic and oncogenicity classifications kept separate."
  • "Download the ENA FASTA for DQ285577.1 and show its first 30 bases."
  • "Compare genotypes in chr1:[100000, 200000) across the two VCFs in my data folder."

Measured example

The ENCODE request above, run through a clean install on 2026-09-25 with live data:

  • File: ENCODE ENCFF792QDS, GRCh38 bigWig, 1,413,106,336 bytes
  • Interval: chr1:[1000000, 1001000)
  • Result: exact mean 26.361254017233847, from HTTP range reads. The workspace held 0 bytes afterwards (nothing written to disk; network reads still happened).

Four other live demonstrations ran with the same install: an EGA test BAM region, an ENA sequence download, a reference check with ClinVar, and local MinIO. Commands and machine-readable results: docs/demos.md.

Agent case study: a Claude Code agent, limited to this server's tools, compares ENCODE DNase-seq signal at the BCL11A erythroid enhancer across 26 files, with a transcript and a model-free replay: examples/agent-case-study/.

Quickstart

Container (Linux x86_64 with Docker)

The image is linux/amd64. It is tested on Linux x86_64; Docker on macOS is untested. Create the data folder first; it is mounted read-only.

json
{  "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"      ]    }  }}

From source (macOS arm64, Linux x86_64)

Needs Python 3.12, uv, a C compiler, and libcurl and zlib development files (pyBigWig is built from source for remote-file support).

sh
git clone https://github.com/rewire-bio/genomics-mcpcd genomics-mcp && git checkout v0.1.0uv sync --locked --no-devuv run --no-dev genomics-mcp --check-config
json
{  "mcpServers": {    "genomics": {      "command": "uv",      "args": ["--directory", "/path/to/genomics-mcp", "run", "--no-dev", "genomics-mcp"],      "env": { "GENOMICS_MCP_ALLOWED_ROOTS": "/path/to/your/data" }    }  }}

There is no PyPI package yet. Wheel, Linux MCPB bundle, pinned uvx command, Windows (WSL2) and platform notes: docs/install.md.

Coverage

AreaSources and formats
DiscoveryEGA, ENA (incl. SRA accessions), ENCODE, GEO, NCBI Datasets: studies, datasets, samples, phenotypes as supplied, files
Genomic dataBAM/CRAM, VCF/BCF, FASTA, BED/GFF3/GTF, bigWig/bigBed on local disk, HTTPS or S3; EGA regions via htsget
TransfersBudgeted, resumable, checksummed downloads returned as local paths; optional SRA run to FASTQ with SRA Toolkit (unreleased)
ReferenceHGNC, Ensembl, ClinVar, gnomAD, UniProt, Open Targets; optional AlphaGenome Atlas with your own key
All 24 tools and the resources
GroupTools
Discoverylist_sources, search_datasets, describe_dataset, list_files, list_samples, get_sample_metadata
Transfersfetch_file, get_transfer_status, cancel_transfer, convert_sra_run (optional, unreleased)
Genomicsget_reads, get_coverage, get_pileup, get_variants, get_sequence, get_features, get_signal
Compositioninspect_locus, compare_samples
Referenceresolve_identifier, normalize_variant, lookup_variant, lookup_gene, lookup_protein

Resources: genomics://capabilities, genomics://status, genomics://schemas, genomics://schemas/{name}.

Defaults and safety

  • Limits: 1 Mb regions, 10,000 records, 1 MiB responses and a 30 s deadline; calls may lower these. Transfers are capped at 100 MiB unless a call sets a larger budget. Truncation is reported. Nothing is lifted over between assemblies.

  • Local only: stdio, or Streamable HTTP with a bearer token on 127.0.0.1. There is no hosted service. Local reads are limited to the folders you allow, and source files are never modified.

  • Credentials and egress: ambient AWS credentials are never used; private S3 and EGA need explicit configuration. Values from files not marked public go to external APIs only when a call sets allow_external_annotation.

  • Cache (unreleased; development checkout only, not in v0.1.0): a bounded in-memory cache reuses byte ranges of public HTTPS files marked public (revalidated by ETag on every call) and public API responses. It is never used for private, signed or authenticated requests. Turn it off with [cache] enabled = false; restarting clears it. Details and measurements: performance.

  • SRA Toolkit (unreleased; optional): convert_sra_run turns a public SRR/ERR/DRR run into local FASTQ files with NCBI's prefetch and fasterq-dump, as a budgeted, cancellable job. It is never started by discovery. ENA FASTQ files need no toolkit. Installation, container variant, limits and current verification status: SRA Toolkit.

Configuration: config.example.toml. Scope and known limits: PRD.md. Directory and PyPI status: publication ledger. Technical details: data access, archives, references, composition. Security: SECURITY.md.

Development

sh
uv sync --lockeduv run ruff check . && uv run ruff format --check .uv run pytest

Licence

MIT. See LICENSE. Data from each source is subject to that source's own terms.

来源:README.md,提交 c419069

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.0最新Sep 25, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分