Skip to main content
Glama

ENCODE Toolkit — Genomics Research Infrastructure for Claude

License: AGPL-3.0 Python 3.10+ Version Status Skills Tools Pipelines Databases Tests Coverage Security Claude Code Provenance PyPI version PyPI Downloads npm version NPM Downloads GitHub Clones DOI

Search ENCODE, cross-reference 14 databases, run 7 analysis pipelines, and generate publication-ready methods — all from natural language in Claude Code.

Start from ENCODE but go everywhere: discover histone peaks, cross-reference with GWAS variants, check ClinVar pathogenicity, pull GTEx expression, analyze TF binding motifs from JASPAR, run pipelines, and generate publication-ready methods with full provenance — in one conversation.


Citation Notes

If you use ENCODE-Toolkit, please cite:

Alex M. Mawla. (2026). ENCODE-Toolkit: an MCP server, Claude plugin, and skills suite for ENCODE genomic data access and analysis. Zenodo. https://doi.org/10.5281/zenodo.18917511

BibTeX

@software{mawla_2026_encode_toolkit,
  author  = {Mawla, Alex M.},
  title   = {ENCODE-Toolkit: an MCP server, Claude plugin, and skills suite for ENCODE genomic data access and analysis},
  year    = {2026},
  publisher = {Zenodo},
  doi     = {10.5281/zenodo.18917511},
  url     = {https://doi.org/10.5281/zenodo.18917511}
}

Related MCP server: BioContextAI Knowledgebase MCP

Quick Start

Start a new Claude Code session and enter:

/plugin marketplace add ammawla/encode-toolkit

/plugin install encode-toolkit

That's it. All 20 tools, 47 skills, and the MCP connector are now available.

If you only need the 20 MCP tools without the 47 workflow skills:

claude mcp add encode -- uvx encode-toolkit

npx (Node.js)

npx encode-toolkit

Or in MCP client config: { "command": "npx", "args": ["encode-toolkit"] }

pip install

pip install encode-toolkit

Then use encode-toolkit as the command in any MCP client configuration:

{
  "mcpServers": {
    "encode": {
      "command": "encode-toolkit"
    }
  }
}

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "encode": {
      "command": "uvx",
      "args": ["encode-toolkit"]
    }
  }
}

No installation needed when using uvx. Just add the config and restart Claude.

Add to .vscode/mcp.json in your workspace:

{
  "mcp": {
    "servers": {
      "encode": {
        "command": "uvx",
        "args": ["encode-toolkit"]
      }
    }
  }
}

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "encode": {
      "command": "uvx",
      "args": ["encode-toolkit"]
    }
  }
}

Add to .windsurf/mcp.json:

{
  "mcpServers": {
    "encode": {
      "command": "uvx",
      "args": ["encode-toolkit"]
    }
  }
}

Connected Databases

ENCODE Toolkit integrates 14 databases through live API tools and guided skills.

Database

Access Method

Use Case

ENCODE

20 MCP tools (live API)

ChIP-seq, ATAC-seq, RNA-seq, Hi-C, WGBS, CUT&RUN data

GTEx

REST API (skill)

Tissue-specific gene expression across 54 tissues

ClinVar

E-utilities (skill)

Variant clinical significance and pathogenicity

GWAS Catalog

REST API (skill)

Trait-variant associations from genome-wide studies

JASPAR

REST API (skill)

Transcription factor binding motif profiles

CellxGene

Census API (skill)

Single-cell expression atlas across tissues

gnomAD

GraphQL (skill)

Population allele frequencies and gene constraint

Ensembl

REST API (skill)

VEP annotation, Regulatory Build, coordinate liftover

UCSC Genome Browser

REST API (skill)

cCRE tracks, TF clusters, sequence retrieval

GEO

E-utilities (skill)

Complementary expression/epigenomic datasets

PubMed

MCP server

Literature search and citation

bioRxiv

MCP server

Preprint discovery

ClinicalTrials.gov

MCP server

Clinical trial cross-reference

Open Targets

MCP server

Drug target identification


What You Can Ask Claude

Search and explore

  • "Find all histone ChIP-seq experiments for human pancreas tissue"

  • "What ATAC-seq data is available for mouse brain?"

  • "Search for RNA-seq on GM12878 cell line"

  • "What histone marks have ChIP-seq data for pancreas?"

Download and track

  • "Download all BED files from ENCSR133RZO to ~/data/encode"

  • "Track experiment ENCSR133RZO with its publications"

  • "Export citations for my tracked experiments as BibTeX"

Cross-reference databases

  • "What GWAS variants overlap islet enhancers?"

  • "Check ClinVar pathogenicity for rs7903146"

  • "Pull GTEx expression for TCF7L2 across tissues"

  • "Find JASPAR motifs for HNF4A binding sites"

Run pipelines

  • "Set up a ChIP-seq pipeline for my H3K27ac experiments"

  • "Run ATAC-seq analysis with ENCODE-standard QC thresholds"

Generate methods and provenance

  • "Log that I created filtered_peaks.bed from ENCSR133RZO using bedtools"

  • "Generate a methods section for my analysis with citations"

Experiment details

  • "Show me the full details for experiment ENCSR133RZO"

  • "What files are available for ENCSR133RZO?"

  • "List only the BED files from ENCSR133RZO"

Bulk downloads

  • "Download all FASTQs from human pancreas ChIP-seq to /data/fastqs"

  • "Get the IDR thresholded peaks from these experiments"

  • "Download the bigWig signal tracks for H3K27me3 in GRCh38"

Compatibility analysis

  • "Are experiments ENCSR133RZO and ENCSR000AKS compatible for combined analysis?"

  • "Compare these two ChIP-seq experiments"

Provenance chains

  • "Show me the provenance chain for my derived files"

  • "What files have I derived from ENCSR133RZO?"


The Problem

Using genomics databases today means:

  1. Navigate web portals, click through dozens of filters

  2. Manually find the right experiments and files across multiple databases

  3. Write custom scripts to batch download

  4. Lose track of which files came from where

With ENCODE Toolkit, just tell Claude what you need:

"Find all histone ChIP-seq data for human pancreas tissue"

Claude searches ENCODE, returns a structured table of 66 experiments with targets, replicates, and file counts. Downloads are organized by experiment with MD5 verification and full provenance tracking.


Available Tools (20)

Five core tools are shown below. The remaining 15 are collapsed for readability.

encode_search_experiments

Search ENCODE experiments with 20+ filters.

Parameter

Type

Description

assay_title

string

Assay type: "Histone ChIP-seq", "ATAC-seq", "total RNA-seq", "Hi-C", etc.

organism

string

Species (default: "Homo sapiens")

organ

string

Organ: "pancreas", "brain", "liver", "heart", "kidney", etc.

biosample_type

string

"tissue", "cell line", "primary cell", "organoid"

target

string

ChIP target: "H3K27me3", "H3K4me3", "CTCF", etc.

biosample_term_name

string

Specific biosample: "GM12878", "HepG2", etc.

limit

int

Max results (default: 25)

encode_get_experiment

Get full details for a single experiment including all files, quality metrics, and audit info.

Parameter

Type

Description

accession

string

Experiment ID (e.g., "ENCSR133RZO")

encode_download_files

Download specific files by accession to a local directory.

Parameter

Type

Description

file_accessions

list[str]

File IDs to download (e.g., ["ENCFF635JIA"])

download_dir

string

Local path to save files

organize_by

string

"flat", "experiment", "format", "experiment_format"

verify_md5

bool

Verify file integrity (default: true)

encode_batch_download

Search + download in one step. Runs in preview mode by default.

Parameter

Type

Description

download_dir

string

Local path to save files

file_format

string

File format to download

assay_title

string

Assay type filter

organ

string

Organ filter

dry_run

bool

Preview only (default: true). Set false to download.

encode_track_experiment

Track an experiment locally with its publications, methods, and pipeline info.

Parameter

Type

Description

accession

string

Experiment ID to track

fetch_publications

bool

Fetch associated publications (default: true)

fetch_pipelines

bool

Fetch pipeline/analysis info (default: true)

notes

string

Optional notes to attach

encode_list_files

List files for a specific experiment with format/type filters.

Parameter

Type

Description

experiment_accession

string

Experiment ID

file_format

string

"fastq", "bam", "bed", "bigWig", "bigBed", etc.

output_type

string

"reads", "peaks", "signal", "alignments", etc.

assembly

string

"GRCh38", "mm10", etc.

preferred_default

bool

Only return recommended files

encode_search_files

Search files across all experiments with combined experiment + file filters.

Parameter

Type

Description

file_format

string

File format filter

assay_title

string

Assay type of parent experiment

organ

string

Organ of parent experiment

target

string

ChIP/CUT&RUN target

output_type

string

Output type filter

assembly

string

Genome assembly

encode_get_metadata

List valid filter values for any parameter.

Parameter

Type

Description

metadata_type

string

"assays", "organisms", "organs", "biosample_types", "file_formats", "output_types", "assemblies"

encode_get_facets

Get live counts from ENCODE showing what data exists for given filters.

Parameter

Type

Description

assay_title

string

Pre-filter by assay

organism

string

Pre-filter by organism

organ

string

Pre-filter by organ

encode_get_file_info

Get detailed metadata for a single file.

Parameter

Type

Description

accession

string

File ID (e.g., "ENCFF635JIA")

encode_manage_credentials

Store, check, or clear ENCODE credentials for restricted data access.

Parameter

Type

Description

action

string

"store", "check", or "clear"

access_key

string

ENCODE access key (for "store")

secret_key

string

ENCODE secret key (for "store")

encode_list_tracked

List all experiments in your local tracker with metadata, publication counts, and derived file counts.

Parameter

Type

Description

assay_title

string

Filter by assay type

organism

string

Filter by organism

organ

string

Filter by organ

encode_get_citations

Get publications for tracked experiments. Export as BibTeX or RIS for reference managers.

Parameter

Type

Description

accession

string

Specific experiment (or all if omitted)

export_format

string

"json" (default), "bibtex", or "ris"

encode_compare_experiments

Analyze whether two experiments are compatible for combined analysis.

Parameter

Type

Description

accession1

string

First experiment ID

accession2

string

Second experiment ID

encode_summarize_collection

Get grouped statistics of your tracked experiment collection.

Parameter

Type

Description

assay_title

string

Filter by assay type

organism

string

Filter by organism

organ

string

Filter by organ

encode_log_derived_file

Log a file you created from ENCODE data for provenance tracking.

Parameter

Type

Description

file_path

string

Path to your derived file

source_accessions

list[str]

ENCODE accessions this was derived from

description

string

What the file contains

tool_used

string

Tool/software used

parameters

string

Command or parameters used

encode_get_provenance

View provenance chains from derived files back to source ENCODE data.

Parameter

Type

Description

file_path

string

Get provenance for a specific file

source_accession

string

List all files derived from an accession

encode_export_data

Export tracked experiments as a table (CSV, TSV, or JSON) for Excel, R, pandas.

Parameter

Type

Description

format

string

"csv" (default), "tsv", or "json"

assay_title

string

Filter by assay type

Link external references (PubMed, bioRxiv, ClinicalTrials, GEO) to tracked experiments.

Parameter

Type

Description

experiment_accession

string

ENCODE experiment accession

reference_type

string

"pmid", "doi", "nct_id", "preprint_doi", "geo_accession", "other"

reference_id

string

The identifier value

encode_get_references

Get external references linked to tracked experiments for cross-server workflows.

Parameter

Type

Description

experiment_accession

string

Filter by experiment (optional)

reference_type

string

Filter by type (optional)


Authentication

Most ENCODE data is public and requires no authentication. Just install and use.

For restricted/unreleased data, ask Claude: "Store my ENCODE credentials"

Credentials are encrypted using your OS keyring (macOS Keychain, Linux Secret Service, Windows Credential Locker) and never stored in plaintext. Get your access keys from your ENCODE profile.


Plugin Skills (47)

When installed as a Claude Code plugin, ENCODE Toolkit includes 47 literature-backed workflow skills that guide Claude through complex genomics tasks. Each analysis skill includes evidence-based quality thresholds, assay-specific metrics, and citations to primary literature.

Core Skills

Skill

Description

setup

Install and configure the ENCODE Toolkit server

search-encode

Search and explore ENCODE experiments and files

download-encode

Download files with organization and verification

track-experiments

Track experiments, citations, and provenance locally

cross-reference

Connect ENCODE data to PubMed, bioRxiv, ClinicalTrials.gov

Skill

Description

quality-assessment

Evaluate experiment quality using ENCODE metrics — assay-specific thresholds for ChIP-seq (FRiP, NSC, RSC, NRF, IDR), ATAC-seq (TSS enrichment, NFR ratio), RNA-seq (mapping rate, gene body coverage), WGBS (bisulfite conversion, CpG coverage), Hi-C (cis/trans ratio), and CUT&RUN/CUT&Tag. Backed by Landt 2012, Buenrostro 2013, ENCODE Phase 3 (2020), Li 2011

integrative-analysis

Combine multiple experiments with batch effect awareness — integration strategies (peak overlap, signal correlation, DiffBind, DESeq2, ChromHMM, ABC model). Backed by Ernst & Kellis 2012, Ross-Innes 2012, Love 2014, Fulco 2019

regulatory-elements

Discover enhancers, promoters, insulators from combinatorial histone marks — ENCODE cCRE classification (926,535 elements), ChromHMM state interpretation. Backed by ENCODE Phase 3 (2020), Roadmap Epigenomics (2015), Whyte 2013

epigenome-profiling

Build comprehensive chromatin state profiles — three-tiered histone panels, ChromHMM 15-state model, bivalent chromatin analysis. References the chromatin biology catalog

compare-biosamples

Compare experiments across tissues and cell types — biosample hierarchy, tissue-specific regulation, batch effect detection. Backed by Roadmap Epigenomics (2015), Leek 2010

visualization-workflow

Generate publication-quality visualizations: genome browser tracks, heatmaps, and signal profiles

motif-analysis

Discover and analyze TF binding motifs in regulatory regions using HOMER, MEME, and JASPAR

peak-annotation

Annotate genomic peaks with features (promoter/enhancer/intergenic), nearest genes, and functional categories

batch-analysis

Batch processing and QC screening across multiple ENCODE experiments with systematic quality filtering

Skill

Description

functional-screen-analysis

Analyze CRISPR screens, MPRA, and STARR-seq data from ENCODE — MAGeCK, BAGEL2, MPRAflow integration

Skill

Description

histone-aggregation

Union merge of histone ChIP-seq peaks across studies — signalValue-based noise filtering, sample-of-origin tagging, ENCODE blacklist removal. Backed by ChIP-Atlas (Oki 2018), Amemiya 2019, Perna 2024

accessibility-aggregation

Union merge of ATAC-seq and DNase-seq peaks — cross-platform integration, peak summit preservation. Backed by Corces 2017, Amemiya 2019, Zhao 2020

hic-aggregation

Union catalog of Hi-C chromatin loops (BEDPE) — resolution-aware anchor matching, loop caller concordance tracking. Backed by Loop Catalog (Reyna 2025), Mustache (Roayaei Ardakany 2020)

methylation-aggregation

Aggregate WGBS methylation profiles — per-CpG weighted averaging, HMR/UMR/PMD identification. Backed by Schultz 2015, DMRcate (Peters 2021), Zhou 2020

Skill

Description

scrna-meta-analysis

Cross-study meta-analysis of scRNA-seq data — reproducibility assessment, TIN-based quality filtering, ambient RNA quantification. Backed by Tran 2020, Luecken & Theis 2019, Stuart 2019, Korsunsky 2019

multi-omics-integration

Integrate RNA-seq, ATAC-seq, Histone ChIP-seq, and TF ChIP-seq — ABC model regulatory predictions, signal correlation. Backed by Fulco 2019, Corces 2018, ENCODE Phase 3 (2020)

Skill

Description

data-provenance

Full reproducibility tracking — tool versions, reference files, scripts, exact commands, timestamps, source-to-derived provenance chains

cite-encode

Generate proper citations, BibTeX/RIS export, data availability statements

variant-annotation

Annotate GWAS/disease variants with ENCODE functional data — variant-to-gene mapping via cCREs. Backed by Finucane 2015, Maurano 2012

pipeline-guide

Understand ENCODE uniform analysis pipelines and output types — pipeline specifications, Nextflow integration

single-cell-encode

Work with scRNA-seq and scATAC-seq data — platform comparison, cross-study integration, WNN multimodal analysis. Backed by Hao 2021, Stuart 2019

disease-research

Disease-focused workflows — GWAS variant interpretation, disease-tissue mapping, heritability enrichment, drug target identification via Open Targets. Backed by Buniello 2019, Finucane 2015

publication-trust

Publication integrity assessment — 5-level trust scoring, retraction/erratum detection, citation analysis. Integrates with PubMed, bioRxiv, and Consensus

bioinformatics-installer

Install all bioinformatics tools for ENCODE analyses — 7 conda environment YAMLs, 3 install scripts, 134+ tools across ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C, DNase-seq, CUT&RUN

scientific-writing

Generate publication-ready methods sections, figure legends, supplementary tables, and data availability statements with full tool citations

liftover-coordinates

Convert genomic coordinates between assembly versions (hg19/hg38, mm9/mm10) using UCSC liftOver, CrossMap, Ensembl REST API, and rtracklayer

Skill

Description

gtex-expression

Query GTEx tissue expression data via REST API for gene expression context across 54 tissues

clinvar-annotation

Annotate variants with ClinVar clinical significance, pathogenicity, and review status

cellxgene-context

Query CellxGene single-cell atlas for cell type expression context across tissues

gwas-catalog

Search NHGRI-EBI GWAS Catalog for trait associations, risk alleles, and study metadata

jaspar-motifs

Query JASPAR database for transcription factor binding motifs and matrix profiles

ensembl-annotation

Ensembl VEP variant annotation, Regulatory Build, coordinate liftover, gene lookup via REST API

geo-connector

Search NCBI GEO for complementary datasets, cross-reference with ENCODE, FTP downloads

gnomad-variants

gnomAD population allele frequencies, gene constraint (LOEUF/pLI), structural variants via GraphQL

ucsc-browser

UCSC Genome Browser REST API for cCRE tracks, TF binding clusters, and sequence retrieval

Pipeline

Assay

Aligner

Caller

pipeline-chipseq

ChIP-seq

BWA-MEM

MACS2 + IDR

pipeline-atacseq

ATAC-seq

Bowtie2

MACS2 (Tn5-adjusted)

pipeline-rnaseq

RNA-seq

STAR

RSEM + Kallisto

pipeline-wgbs

WGBS

Bismark

MethylDackel

pipeline-hic

Hi-C

BWA

Juicer + HiCCUPS

pipeline-dnaseseq

DNase-seq

BWA

Hotspot2

pipeline-cutandrun

CUT&RUN

Bowtie2

SEACR

Each pipeline includes a SKILL.md overview, 5-stage reference files (preprocessing through QC), a complete Nextflow DSL2 pipeline, a Dockerfile, and deployment configurations for local, SLURM, GCP, and AWS.

File

Description

skills/histone-aggregation/references/histone-marks-reference.md

Comprehensive chromatin biology catalog (1,442 lines) — 21 histone marks with writers/erasers/readers, 5 novel acylation marks, ChromHMM state models (5 to 51 states), TF co-binding patterns, chromatin remodeling complexes, DNA methylation-chromatin interplay, nucleosome dynamics, 3D genome organization, chromatin in disease. 74 primary references

skills/*/references/literature.md

47 per-skill literature reference documents — about 240 papers cataloged with DOI, PMID, citation counts, and skill-relevant key findings


Why ENCODE Toolkit

Most genomics tools give you one thing. ENCODE Toolkit gives you the full research loop:

Capability

ENCODE Toolkit

Typical MCP servers

Live database access

20 tools across 14 databases

Single database, read-only

Executable pipelines

7 Nextflow DSL2 pipelines with Docker and cloud configs

None

Provenance tracking

Full audit trail from source data to derived files

None

Publication output

BibTeX/RIS citations, auto-generated methods sections

None

Literature backing

100+ primary references with assay-specific QC thresholds

None

Workflow skills

47 guided skills covering search to publication

Static documentation


Supported Assay Types

Category

Assays

Histone/Chromatin

Histone ChIP-seq, TF ChIP-seq, ATAC-seq, DNase-seq, CUT&RUN, CUT&Tag, MNase-seq

Transcription

total RNA-seq, polyA plus RNA-seq, small RNA-seq, long read RNA-seq, CAGE, RAMPAGE, PRO-seq, GRO-seq

3D Genome

Hi-C, intact Hi-C, Micro-C, ChIA-PET, HiChIP, PLAC-seq, 5C

DNA Methylation

WGBS, RRBS, MeDIP-seq, MRE-seq

Functional

STARR-seq, MPRA, CRISPR screen, eCLIP, iCLIP

Single Cell

scRNA-seq, snATAC-seq, snRNA-seq, long read scRNA-seq

Perturbation

CRISPRi RNA-seq, shRNA RNA-seq, siRNA RNA-seq, CRISPR RNA-seq

Supported file formats: fastq bam bed bigWig bigBed tsv csv hic tagAlign bedpe pairs fasta vcf tar


Security and Privacy

  • 100% local execution — no telemetry, no analytics, no tracking

  • Credentials encrypted at rest via OS keyring with Fernet fallback

  • Certificate verification enforced — no verify=False

  • Rate limited to respect ENCODE's 10 req/sec policy

  • MD5 verification on all downloads by default

  • No data leaves your machine except queries to public APIs over HTTPS


Vignettes

Step-by-step walkthroughs showing real Claude sessions, including actual API output and scientific interpretation.

Vignette

Skills Demonstrated

01 — Discovery & Search

Facets, search, metadata, quality-aware selection

02 — Download & Track

File listing, download, tracking, citations, provenance

03 — Epigenomics Workflow

Histone marks, ATAC-seq, aggregation skills

04 — Variant & Disease Research

GWAS catalog, ClinVar, GTEx, JASPAR, gnomAD

05 — Expression & Single-Cell

RNA-seq, scRNA-seq, GTEx, CellxGene, meta-analysis

06 — Motif & Regulatory Analysis

TF ChIP-seq, chromatin states, HOMER/MEME

07 — 3D Genome & Methylation

Hi-C loops, WGBS methylation, integrative analysis

08 — Pipeline Execution

ChIP-seq/ATAC-seq/RNA-seq pipelines, Nextflow

09 — Cross-Reference & Integration

GEO, PubMed, Ensembl, UCSC, multi-omics

Every skill has a dedicated vignette in docs/skill-vignettes/ with a complete example session. Highlights:

Skill

Vignette Scenario

data-provenance

Download, blacklist-filter, liftover, auto-generate methods section

histone-aggregation

Union merge of H3K27ac across 5 pancreas experiments

variant-annotation

rs7903146 in TCF7L2 with islet enhancer evidence scoring

pipeline-chipseq

Full Nextflow pipeline execution with ENCODE QC thresholds

gwas-catalog

T2D GWAS variants overlaid on islet H3K27ac enhancers

publication-trust

Trust assessment of artemisinin transdifferentiation claim

scrna-meta-analysis

3-study islet integration following Mawla et al. 2019 framework

See the full showcase for 15 detailed examples.


Development

git clone https://github.com/ammawla/encode-toolkit.git
cd encode-toolkit
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"

Run the server locally:

encode-toolkit

Run tests:

pytest

Troubleshooting

  • Versions before 0.3.1 did not cap the mcp dependency, so fresh installs pulled the incompatible mcp 2.x. This is fixed in 0.3.1.

  • uv may have cached the broken environment. Refresh it once: uvx --refresh encode-toolkit (or uv cache clean encode-toolkit)

  • pip users: pip install --upgrade encode-toolkit

  • Make sure you restarted Claude Desktop after adding the config

  • Verify uvx is installed: pip install uv or curl -LsSf https://astral.sh/uv/install.sh | sh

  • Check your internet connection

  • ENCODE API rate limit is 10 requests/sec — the server handles this automatically

  • The file may require authentication. Ask Claude: "Store my ENCODE credentials"

  • Or check if the file status is "released" on encodeproject.org

  • Try broader filters (remove biosample_type or organ)

  • Use encode_get_facets to see what data actually exists for your filters

  • Use encode_get_metadata to check valid filter values


Author

Dr. Alex M. Mawla, PhD

License

AGPL-3.0. See LICENSE for full terms.

For commercial licensing inquiries: ammawla@ucdavis.edu

Available Tools

20 tools
encode_batch_downloadBatch Search and DownloadA
Idempotent

Search for files and download them all in batch.

First searches for files matching the criteria, then downloads them. By default runs in dry_run mode to preview what would be downloaded. Set dry_run=False to actually download.

WHEN TO USE: Use for searching and downloading files in one step. Always use dry_run=True first to preview. For specific file accessions, use encode_download_files. RELATED TOOLS: encode_download_files, encode_search_files

Examples:

  • Download all BED files from human pancreas ChIP-seq: file_format="bed", assay_title="Histone ChIP-seq", organ="pancreas", download_dir="/data/encode", dry_run=False

  • Preview FASTQ downloads for mouse brain RNA-seq: file_format="fastq", assay_title="total RNA-seq", organ="brain", organism="Mus musculus", download_dir="/data/encode"

  • Download IDR peaks for H3K27me3 in GRCh38: output_type="IDR thresholded peaks", target="H3K27me3", assembly="GRCh38", download_dir="/data/encode", dry_run=False

Args: download_dir: Local directory to save files file_format: File format filter ("fastq", "bam", "bed", "bigWig", etc.) output_type: Output type filter ("reads", "peaks", "signal", etc.) output_category: Output category ("raw data", "alignment", "annotation", etc.) assembly: Genome assembly ("GRCh38", "mm10", etc.) assay_title: Assay type ("Histone ChIP-seq", "ATAC-seq", "total RNA-seq", etc.) organism: Organism (default: "Homo sapiens") organ: Organ/tissue ("pancreas", "brain", "liver", etc.) biosample_type: Biosample type ("tissue", "cell line", "primary cell", etc.) target: ChIP/CUT&RUN target ("H3K27me3", "CTCF", etc.) preferred_default: If True, only download default/recommended files organize_by: File organization ("flat", "experiment", "format", "experiment_format") verify_md5: Verify downloads with MD5 checksums (default True) limit: Max files to download (default 100, safety limit) dry_run: If True (default), only preview what would be downloaded. Set False to download. offset: Skip the first N matching files; pass the next_offset of the previous reply to continue a search that has more files than limit

Returns: JSON with download preview (dry_run=True) or download results (dry_run=False).

Inputs: download_dir (required), limit, organ, offset, +12 more. Returns: result

encode_compare_experimentsCompare ExperimentsA
Read-onlyIdempotent

Analyze whether two ENCODE experiments are compatible for combined analysis.

Compares organism, genome assembly, assay type, biosample, organ, target, replication strategy, and lab to identify potential issues.

Both experiments must be tracked first (use encode_track_experiment).

WHEN TO USE: Use to check if two experiments are compatible for combined analysis. Both must be tracked first. RELATED TOOLS: encode_track_experiment, encode_list_tracked

Args: accession1: First experiment accession (e.g., "ENCSR133RZO") accession2: Second experiment accession (e.g., "ENCSR000AKS")

Returns: JSON compatibility report with verdict, issues, warnings, and recommendations.

Inputs: accession1 (required), accession2 (required). Returns: result

encode_download_filesDownload ENCODE FilesA
Idempotent

Download specific ENCODE files by accession to a local directory.

Downloads files from ENCODE to your local machine. Supports MD5 verification, concurrent downloads, and skip-if-already-downloaded.

WHEN TO USE: Use for downloading specific files by accession. For bulk downloads, prefer encode_batch_download. RELATED TOOLS: encode_batch_download, encode_search_files, encode_log_derived_file

Args: file_accessions: List of file accessions to download (e.g., ["ENCFF635JIA", "ENCFF388RZD"]) download_dir: Local directory path to save files (e.g., "./data/encode") organize_by: How to organize downloaded files: - "flat": All files in download_dir (default) - "experiment": download_dir/ENCSR.../filename - "format": download_dir/bed/filename - "experiment_format": download_dir/ENCSR.../bed/filename verify_md5: Verify file integrity with MD5 checksum (default True)

Returns: JSON with download results for each file (path, size, success/error, MD5 status).

Inputs: download_dir (required), file_accessions (required), verify_md5, organize_by. Returns: result

encode_export_dataExport Tracked DataA
Read-onlyIdempotent

Export tracked experiments as a table (CSV, TSV, or JSON).

Creates a tabular export of all tracked experiments with metadata, publication counts, PMIDs, and derived file counts. Useful for loading into Excel, R, pandas, or sharing with collaborators.

PMIDs in the output can be directly used with PubMed MCP tools for further literature analysis.

WHEN TO USE: Use to create shareable tables of tracked experiments (CSV, TSV, JSON). Good for manuscripts and reports. RELATED TOOLS: encode_list_tracked, encode_summarize_collection

Args: format: Output format: - "csv": Comma-separated values (default, for Excel/spreadsheets) - "tsv": Tab-separated values (for R, pandas) - "json": JSON array (for programmatic use) assay_title: Filter by assay type (partial match) organism: Filter by organism (partial match) organ: Filter by organ (partial match)

Returns: Formatted table data in the requested format.

Inputs: organ, format, organism, assay_title. Returns: result

encode_get_citationsGet CitationsA
Read-onlyIdempotent

Get publications and citations for tracked experiments.

Returns publication data with authors, journal, DOI, PMID. Can export as BibTeX or RIS (Endnote/Zotero/Mendeley compatible).

WHEN TO USE: Use to get publication data for tracked experiments. Supports BibTeX and RIS export for reference managers. RELATED TOOLS: encode_track_experiment, encode_link_reference

Args: accession: Specific experiment accession. If None, returns all publications. export_format: Output format: - "json": Structured data (default) - "bibtex": BibTeX format for LaTeX - "ris": RIS format (Endnote, Zotero, Mendeley)

Returns: Publications in the requested format.

Inputs: accession, export_format. Returns: result

encode_get_experimentGet Experiment DetailsA
Read-onlyIdempotent

Get full details for a specific ENCODE experiment by accession ID.

Returns the experiment's metadata, all associated files, the accessions of its possible controls, replicate counts, and the number of audit flags at each level (ERROR, NOT_COMPLIANT, WARNING, INTERNAL_ACTION). It does not return QC metric values such as FRiP or NSC; those are on the experiment's page at encodeproject.org.

WHEN TO USE: Use when you have a specific accession and need full details including files, controls, and audit counts. RELATED TOOLS: encode_list_files, encode_track_experiment, encode_compare_experiments

Args: accession: ENCODE experiment accession (e.g., "ENCSR133RZO", "ENCSR000AKS")

Returns: JSON with full experiment details and file listing.

Inputs: accession (required). Returns: result

encode_get_facetsExplore Available DataA
Read-onlyIdempotent

Get live filter counts from ENCODE to discover what data is available.

Returns faceted counts showing how many experiments/files exist for each filter value. Useful for exploring what's available before searching.

WHEN TO USE: Use to explore what data exists before searching. Shows counts per filter value. Best first step for unknown datasets. RELATED TOOLS: encode_get_metadata, encode_search_experiments

Examples:

  • What assays are available for pancreas? organ="pancreas"

  • What organs have Histone ChIP-seq data? assay_title="Histone ChIP-seq"

  • What targets are available for mouse brain ChIP-seq? assay_title="Histone ChIP-seq", organism="Mus musculus", organ="brain"

Args: search_type: Object type ("Experiment" or "File") assay_title: Pre-filter by assay type organism: Pre-filter by organism organ: Pre-filter by organ biosample_type: Pre-filter by biosample type

Returns: JSON with facet names and their term counts.

Inputs: organ, organism, assay_title, search_type, +1 more. Returns: result

encode_get_file_infoGet File DetailsA
Read-onlyIdempotent

Get detailed information about a specific ENCODE file.

WHEN TO USE: Use when you need detailed metadata for a specific file (size, md5, assembly, biological replicate info). RELATED TOOLS: encode_download_files, encode_list_files

Args: accession: File accession ID (e.g., "ENCFF635JIA")

Returns: JSON with file metadata including format, size, download URL, MD5, assembly, etc.

Inputs: accession (required). Returns: result

encode_get_metadataGet Filter ValuesA
Read-onlyIdempotent

Get available filter values for ENCODE searches.

Use this to discover valid values for search parameters.

WHEN TO USE: Use to discover valid filter values before searching. Helps prevent typos in assay_title, organ, biosample_type etc. RELATED TOOLS: encode_get_facets, encode_search_experiments

Args: metadata_type: Type of metadata to retrieve. Options: - "assays": Available assay types (Histone ChIP-seq, ATAC-seq, total RNA-seq, etc.) - "organisms": Available organisms (Homo sapiens, Mus musculus, etc.) - "organs": Available organ/tissue systems (pancreas, brain, liver, etc.) - "biosample_types": Biosample classifications (tissue, cell line, primary cell, etc.) - "file_formats": File format types (fastq, bam, bed, bigWig, etc.) - "output_types": Output data types (reads, peaks, signal, etc.) - "output_categories": Output categories (raw data, alignment, signal, etc.) - "assemblies": Genome assemblies (GRCh38, hg19, mm10, etc.) - "life_stages": Life stages (embryonic, adult, child, etc.) - "replication_types": Replication types (isogenic, anisogenic, unreplicated) - "statuses": Experiment statuses (released, archived, etc.) - "file_statuses": File statuses (released, archived, in progress, etc.)

Returns: JSON list of valid values for the specified metadata type.

Inputs: metadata_type (required). Returns: result

encode_get_provenanceGet File ProvenanceA
Read-onlyIdempotent

Get provenance information for derived files.

Shows the chain from your derived files back to original ENCODE data, including what tools and parameters were used.

WHEN TO USE: Use to trace a derived file back to original ENCODE data. Shows tools and parameters used. RELATED TOOLS: encode_log_derived_file

Args: file_path: Get provenance for a specific derived file source_accession: List all files derived from a specific ENCODE accession

Returns: JSON provenance chain or list of derived files.

Inputs: file_path, source_accession. Returns: result

encode_get_referencesGet Linked ReferencesA
Read-onlyIdempotent

Get external references linked to tracked experiments.

Returns PMIDs, DOIs, NCT IDs, GEO accessions and other identifiers linked to experiments. These identifiers can be directly passed to PubMed, bioRxiv, ClinicalTrials.gov, or other MCP tools.

WHEN TO USE: Use to retrieve external references linked to experiments. PMIDs can be passed to PubMed MCP tools. RELATED TOOLS: encode_link_reference, encode_get_citations

Args: experiment_accession: Filter by specific experiment (optional) reference_type: Filter by reference type (optional): "pmid", "doi", "nct_id", "preprint_doi", "geo_accession", "other"

Returns: JSON with linked external references.

Inputs: reference_type, experiment_accession. Returns: result

encode_list_filesList Experiment FilesA
Read-onlyIdempotent

List all files for a specific ENCODE experiment, with optional filters.

Examples:

  • All BED files: experiment_accession="ENCSR133RZO", file_format="bed"

  • FASTQs only: experiment_accession="ENCSR133RZO", file_format="fastq"

  • Signal tracks: experiment_accession="ENCSR133RZO", output_category="signal"

  • Default/recommended files: preferred_default=True

  • Peaks from GRCh38: file_format="bed", output_type="IDR thresholded peaks", assembly="GRCh38"

Common file_format values: "fastq", "bam", "bed", "bigWig", "bigBed", "tsv", "hic"

Common output_type values: "reads", "alignments", "signal of unique reads", "signal of all reads", "fold change over control", "IDR thresholded peaks", "pseudoreplicated peaks", "replicated peaks", "gene quantifications", "transcript quantifications", "contact matrix"

WHEN TO USE: Use to browse files within a known experiment. Use encode_search_files instead to find files across experiments. RELATED TOOLS: encode_search_files, encode_get_file_info, encode_download_files

Args: experiment_accession: ENCODE experiment accession (e.g., "ENCSR133RZO") file_format: Filter by format ("fastq", "bam", "bed", "bigWig", "bigBed", etc.) file_type: Filter by specific type ("bed narrowPeak", "bed broadPeak", etc.) output_type: Filter by output type ("reads", "peaks", "signal", etc.) output_category: Filter by category ("raw data", "alignment", "signal", "annotation") assembly: Filter by genome assembly ("GRCh38", "hg19", "mm10") status: Filter by status ("released", "archived", "in progress") preferred_default: If True, return only default/recommended files limit: Max files to return (default 200)

Returns: JSON list of files with accession, format, size, download URL, and metadata.

Inputs: experiment_accession (required), limit, status, assembly, +5 more. Returns: result

encode_list_trackedList Tracked ExperimentsA
Read-onlyIdempotent

List all experiments you've tracked locally, with optional filters.

Shows your local library of tracked ENCODE experiments, their metadata, publication counts, and derived file counts.

WHEN TO USE: Use to see all experiments in your local library. Filter by assay, organism, or organ. RELATED TOOLS: encode_summarize_collection, encode_export_data

Args: assay_title: Filter by assay type (partial match) organism: Filter by organism (partial match) organ: Filter by organ (partial match)

Returns: JSON with tracked experiments metadata table and tracker stats.

Inputs: organ, organism, assay_title. Returns: result

encode_log_derived_fileLog Derived FileA
Idempotent

Log a file you've derived from ENCODE data for provenance tracking.

Use this when you create new files from ENCODE data (e.g., running a pipeline, filtering peaks, merging samples). This creates a provenance record linking your derived file back to the original ENCODE source data.

WHEN TO USE: Use after creating files from ENCODE data (filtered peaks, merged signals). Creates provenance chain back to source. RELATED TOOLS: encode_get_provenance, encode_download_files

Args: file_path: Path to the derived file you created source_accessions: List of ENCODE accessions this file was derived from (experiment or file accessions, e.g., ["ENCSR133RZO", "ENCFF635JIA"]) description: What this derived file contains file_type: Type of file (e.g., "filtered_peaks", "merged_signal", "differential") tool_used: Tool/software used to create it (e.g., "bedtools intersect", "DESeq2") parameters: Parameters or command used

Returns: JSON with the provenance record ID.

Inputs: file_path (required), source_accessions (required), file_type, tool_used, +2 more. Returns: result

encode_manage_credentialsManage API CredentialsA
DestructiveIdempotent

Manage ENCODE API credentials for accessing restricted/unreleased data.

Most ENCODE data is public and requires no authentication. Credentials are only needed for unreleased or restricted datasets.

Credentials are stored securely in your OS keyring (macOS Keychain, Linux Secret Service, Windows Credential Locker) and never in plaintext.

WHEN TO USE: Use only for accessing unreleased/restricted ENCODE data. Public data requires no authentication. RELATED TOOLS: encode_search_experiments

Args: action: What to do: - "store": Save new credentials (requires access_key and secret_key) - "check": Check if credentials are configured - "clear": Remove stored credentials access_key: Your ENCODE access key (only for action="store") secret_key: Your ENCODE secret key (only for action="store")

Returns: JSON with action result.

Inputs: action (required), access_key, secret_key. Returns: result

encode_search_experimentsSearch ENCODE ExperimentsA
Read-onlyIdempotent

Search ENCODE experiments with comprehensive filters.

Examples:

  • Find all Histone ChIP-seq on human pancreas tissue: assay_title="Histone ChIP-seq", organ="pancreas", biosample_type="tissue"

  • Find ATAC-seq on human brain: assay_title="ATAC-seq", organ="brain"

  • Find RNA-seq on GM12878 cell line: assay_title="total RNA-seq", biosample_term_name="GM12878"

  • Find ChIP-seq targeting H3K27me3: assay_title="Histone ChIP-seq", target="H3K27me3"

  • Find all mouse liver experiments: organism="Mus musculus", organ="liver"

  • Free text search: search_term="CRISPR screen pancreatic"

Common assay_title values: "Histone ChIP-seq", "TF ChIP-seq", "ATAC-seq", "DNase-seq", "total RNA-seq", "polyA plus RNA-seq", "WGBS", "intact Hi-C", "CUT&RUN", "CUT&Tag", "STARR-seq", "MPRA", "eCLIP", "CRISPR screen"

Common organ values: "pancreas", "liver", "brain", "heart", "kidney", "lung", "intestine", "skin of body", "blood", "spleen", "thymus"

biosample_type values: "tissue", "cell line", "primary cell", "in vitro differentiated cells", "organoid"

WHEN TO USE: Use as the primary entry point when users want to find experiments. Start with encode_get_facets if unsure what filters to use. RELATED TOOLS: encode_get_facets, encode_get_metadata, encode_search_files

Args: assay_title: Assay type (e.g., "Histone ChIP-seq", "ATAC-seq", "total RNA-seq") organism: Species (default: "Homo sapiens"). Also: "Mus musculus" organ: Organ/tissue system (e.g., "pancreas", "brain", "liver") biosample_type: Sample classification ("tissue", "cell line", "primary cell", "organoid") biosample_term_name: Specific cell/tissue name (e.g., "GM12878", "HepG2", "pancreas") target: ChIP/CUT&RUN target (e.g., "H3K27me3", "CTCF", "p300") status: Data status (default: "released"). Also: "archived", "revoked" lab: Submitting lab name award: Funding project assembly: Genome assembly (e.g., "GRCh38", "mm10") replication_type: "isogenic", "anisogenic", or "unreplicated" life_stage: "embryonic", "postnatal", "child", "adult" sex: "male", "female", "mixed" treatment: Treatment name if perturbation experiment genetic_modification: Modification type ("CRISPR", "RNAi") perturbed: True for perturbation experiments only search_term: Free text search across all fields date_released_from: Start date (YYYY-MM-DD) for date range filter date_released_to: End date (YYYY-MM-DD) for date range filter limit: Max results to return (default 25, use larger for comprehensive searches) offset: Skip first N results (for pagination)

Returns: JSON with experiment results, total count, and pagination info.

Inputs: lab, sex, award, limit, +17 more. Returns: result

encode_search_filesSearch Files Across ExperimentsA
Read-onlyIdempotent

Search files across ALL experiments with combined experiment + file filters.

This is powerful for finding specific file types across many experiments.

Examples:

  • All BED files from human pancreas ChIP-seq: file_format="bed", assay_title="Histone ChIP-seq", organ="pancreas"

  • FASTQs from mouse liver RNA-seq: file_format="fastq", assay_title="total RNA-seq", organ="liver", organism="Mus musculus"

  • All IDR peak files for H3K27me3: output_type="IDR thresholded peaks", target="H3K27me3"

  • BigWig signal tracks from ATAC-seq on brain tissue: file_format="bigWig", assay_title="ATAC-seq", organ="brain", biosample_type="tissue"

WHEN TO USE: Use to find specific file types across ALL experiments. More powerful than encode_list_files for cross-experiment file discovery. RELATED TOOLS: encode_list_files, encode_batch_download, encode_get_file_info

Args: file_format: File format ("fastq", "bam", "bed", "bigWig", etc.) file_type: Specific file type ("bed narrowPeak", "bed broadPeak", etc.) output_type: Output type ("reads", "peaks", "signal", etc.) output_category: Output category ("raw data", "alignment", "signal", "annotation") assembly: Genome assembly ("GRCh38", "hg19", "mm10") assay_title: Filter by assay type of parent experiment organism: Filter by organism of parent experiment organ: Filter by organ of parent experiment biosample_type: Filter by biosample type ("tissue", "cell line", etc.) target: Filter by ChIP/CUT&RUN target status: File status (default: "released") preferred_default: If True, only default/recommended files search_term: Free text search limit: Max results (default 25) offset: Skip first N results (pagination)

Returns: JSON with file results, total count, and pagination info.

Inputs: limit, organ, offset, status, +11 more. Returns: result

encode_summarize_collectionSummarize CollectionA
Read-onlyIdempotent

Summarize your tracked experiment collection with grouped statistics.

Provides an overview of tracked experiments grouped by assay type, target, organism, organ, biosample type, and lab. Shows total counts for publications, derived files, and external references.

Useful when tracking 10+ experiments and needing a bird's-eye view of your research data collection.

WHEN TO USE: Use for a bird's-eye view of tracked experiments grouped by assay, target, organ. Best for 10+ tracked experiments. RELATED TOOLS: encode_list_tracked, encode_export_data

Args: assay_title: Filter by assay type (partial match) organism: Filter by organism (partial match) organ: Filter by organ (partial match)

Returns: JSON summary with experiment counts grouped by multiple dimensions.

Inputs: organ, organism, assay_title. Returns: result

encode_track_experimentTrack Experiment LocallyA
Idempotent

Track an ENCODE experiment locally with its publications, methods, and pipeline info.

Fetches full experiment metadata from ENCODE and stores it in a local SQLite database along with any associated publications (PMIDs, DOIs, authors, journal) and pipeline/analysis information (software versions, methods).

This is like adding an experiment to your "library" - similar to Endnote for papers.

WHEN TO USE: Use to save an experiment to your local library with publications and pipeline info. Required before compare or citations. RELATED TOOLS: encode_compare_experiments, encode_get_citations, encode_export_data

Args: accession: ENCODE experiment accession (e.g., "ENCSR133RZO") fetch_publications: Also fetch and store publications/citations (default True) fetch_pipelines: Also fetch and store pipeline/analysis info (default True) notes: Optional notes to attach to this experiment

Returns: JSON with tracking result including publications and pipeline info found.

Inputs: accession (required), notes, fetch_pipelines, fetch_publications. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 20 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes, with clear usage guidance (e.g., encode_list_files vs encode_search_files vs encode_download_files). However, a few pairs like encode_get_metadata vs encode_get_facets and encode_get_references vs encode_get_citations are close enough that an agent could misselect without careful reading, though descriptions mitigate this.

    Naming Consistency5/5

    All tools follow a consistent 'encode_verb_noun' snake_case pattern (e.g., encode_search_experiments, encode_download_files, encode_log_derived_file). There are no mixed camelCase or inconsistent verb styles, making the naming highly predictable.

    Tool Count4/5

    20 tools is slightly above the typical 3-15 range, but the server spans a wide domain: ENCODE search, file download, local tracking, provenance, references, citations, and credentials. Each tool has a distinct role, so the count feels reasonable rather than bloated.

    Completeness3/5

    Core operations are well covered: search/get experiments, list/search/download files, track experiments, and export data. However, there is no delete/untrack for tracked experiments, no unlink for references, and no delete for derived files—create and read exist but update/delete are missing, which is a notable lifecycle gap.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that enables scRNA-Seq analysis through natural language, providing tools for data preprocessing, clustering, and biological visualization. It supports both predefined function execution and a flexible code mode powered by a Jupyter backend for automated single-cell transcriptomics workflows.
      16 PyPI
      16
      BSD 3-Clause
    • A
      license
      Not graded
      quality
      D
      maintenance
      Unified genomic track, peak, and sequence retrieval tool for ENCODE, ChIP-Atlas, ReMap, GEO, and SRA/ENA with unified metadata, resolved DOI/PMID provenance, and direct FASTQ download without SRA toolkit.
      MIT