encode-toolkit
This MCP server provides genomic research infrastructure for searching, downloading, tracking, and analyzing ENCODE data.
Search ENCODE experiments with filters for assay, organism, organ, target, biosample, status, date, and more.
Get full experiment details including files, quality metrics, and audit info.
List files for a specific experiment with filters by format, output type, assembly, and status.
Search files across all experiments using combined experiment and file filters.
Download specific files by accession with MD5 verification and directory organization options.
Batch search and download files with dry-run preview mode.
Discover valid filter values and live facet counts to explore available data.
Manage ENCODE credentials securely for restricted data access.
Track experiments locally with associated publications, pipelines, and notes.
List and summarize tracked experiments, and export data as CSV, TSV, or JSON.
Retrieve citations in JSON, BibTeX, or RIS formats.
Compare two experiments for compatibility in combined analysis.
Log derived files and retrieve provenance chains back to source ENCODE data.
Link external references (PMIDs, DOIs, NCT IDs, GEO accessions) to tracked experiments and retrieve them.
Enables literature search and citation retrieval to cross-reference genomics experiments with scientific publications and track research provenance.
ENCODE Toolkit — Genomics Research Infrastructure for Claude
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
Claude Code Plugin (recommended)
Start a new Claude Code session and enter:
/plugin marketplace add ammawla/encode-toolkit
/plugin install encode-toolkitThat'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-toolkitnpx (Node.js)
npx encode-toolkitOr in MCP client config: { "command": "npx", "args": ["encode-toolkit"] }
pip install
pip install encode-toolkitThen 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:
Navigate web portals, click through dozens of filters
Manually find the right experiments and files across multiple databases
Write custom scripts to batch download
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 |
| string | Assay type: "Histone ChIP-seq", "ATAC-seq", "total RNA-seq", "Hi-C", etc. |
| string | Species (default: "Homo sapiens") |
| string | Organ: "pancreas", "brain", "liver", "heart", "kidney", etc. |
| string | "tissue", "cell line", "primary cell", "organoid" |
| string | ChIP target: "H3K27me3", "H3K4me3", "CTCF", etc. |
| string | Specific biosample: "GM12878", "HepG2", etc. |
| 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 |
| string | Experiment ID (e.g., "ENCSR133RZO") |
encode_download_files
Download specific files by accession to a local directory.
Parameter | Type | Description |
| list[str] | File IDs to download (e.g., ["ENCFF635JIA"]) |
| string | Local path to save files |
| string | "flat", "experiment", "format", "experiment_format" |
| bool | Verify file integrity (default: true) |
encode_batch_download
Search + download in one step. Runs in preview mode by default.
Parameter | Type | Description |
| string | Local path to save files |
| string | File format to download |
| string | Assay type filter |
| string | Organ filter |
| 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 |
| string | Experiment ID to track |
| bool | Fetch associated publications (default: true) |
| bool | Fetch pipeline/analysis info (default: true) |
| string | Optional notes to attach |
encode_list_files
List files for a specific experiment with format/type filters.
Parameter | Type | Description |
| string | Experiment ID |
| string | "fastq", "bam", "bed", "bigWig", "bigBed", etc. |
| string | "reads", "peaks", "signal", "alignments", etc. |
| string | "GRCh38", "mm10", etc. |
| bool | Only return recommended files |
encode_search_files
Search files across all experiments with combined experiment + file filters.
Parameter | Type | Description |
| string | File format filter |
| string | Assay type of parent experiment |
| string | Organ of parent experiment |
| string | ChIP/CUT&RUN target |
| string | Output type filter |
| string | Genome assembly |
encode_get_metadata
List valid filter values for any parameter.
Parameter | Type | Description |
| 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 |
| string | Pre-filter by assay |
| string | Pre-filter by organism |
| string | Pre-filter by organ |
encode_get_file_info
Get detailed metadata for a single file.
Parameter | Type | Description |
| string | File ID (e.g., "ENCFF635JIA") |
encode_manage_credentials
Store, check, or clear ENCODE credentials for restricted data access.
Parameter | Type | Description |
| string | "store", "check", or "clear" |
| string | ENCODE access key (for "store") |
| 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 |
| string | Filter by assay type |
| string | Filter by organism |
| string | Filter by organ |
encode_get_citations
Get publications for tracked experiments. Export as BibTeX or RIS for reference managers.
Parameter | Type | Description |
| string | Specific experiment (or all if omitted) |
| string | "json" (default), "bibtex", or "ris" |
encode_compare_experiments
Analyze whether two experiments are compatible for combined analysis.
Parameter | Type | Description |
| string | First experiment ID |
| string | Second experiment ID |
encode_summarize_collection
Get grouped statistics of your tracked experiment collection.
Parameter | Type | Description |
| string | Filter by assay type |
| string | Filter by organism |
| string | Filter by organ |
encode_log_derived_file
Log a file you created from ENCODE data for provenance tracking.
Parameter | Type | Description |
| string | Path to your derived file |
| list[str] | ENCODE accessions this was derived from |
| string | What the file contains |
| string | Tool/software used |
| string | Command or parameters used |
encode_get_provenance
View provenance chains from derived files back to source ENCODE data.
Parameter | Type | Description |
| string | Get provenance for a specific file |
| 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 |
| string | "csv" (default), "tsv", or "json" |
| string | Filter by assay type |
encode_link_reference
Link external references (PubMed, bioRxiv, ClinicalTrials, GEO) to tracked experiments.
Parameter | Type | Description |
| string | ENCODE experiment accession |
| string | "pmid", "doi", "nct_id", "preprint_doi", "geo_accession", "other" |
| string | The identifier value |
encode_get_references
Get external references linked to tracked experiments for cross-server workflows.
Parameter | Type | Description |
| string | Filter by experiment (optional) |
| 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 |
| Install and configure the ENCODE Toolkit server |
| Search and explore ENCODE experiments and files |
| Download files with organization and verification |
| Track experiments, citations, and provenance locally |
| Connect ENCODE data to PubMed, bioRxiv, ClinicalTrials.gov |
Skill | Description |
| 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 |
| 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 |
| 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 |
| Build comprehensive chromatin state profiles — three-tiered histone panels, ChromHMM 15-state model, bivalent chromatin analysis. References the chromatin biology catalog |
| Compare experiments across tissues and cell types — biosample hierarchy, tissue-specific regulation, batch effect detection. Backed by Roadmap Epigenomics (2015), Leek 2010 |
| Generate publication-quality visualizations: genome browser tracks, heatmaps, and signal profiles |
| Discover and analyze TF binding motifs in regulatory regions using HOMER, MEME, and JASPAR |
| Annotate genomic peaks with features (promoter/enhancer/intergenic), nearest genes, and functional categories |
| Batch processing and QC screening across multiple ENCODE experiments with systematic quality filtering |
Skill | Description |
| Analyze CRISPR screens, MPRA, and STARR-seq data from ENCODE — MAGeCK, BAGEL2, MPRAflow integration |
Skill | Description |
| 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 |
| Union merge of ATAC-seq and DNase-seq peaks — cross-platform integration, peak summit preservation. Backed by Corces 2017, Amemiya 2019, Zhao 2020 |
| 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) |
| Aggregate WGBS methylation profiles — per-CpG weighted averaging, HMR/UMR/PMD identification. Backed by Schultz 2015, DMRcate (Peters 2021), Zhou 2020 |
Skill | Description |
| 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 |
| 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 |
| Full reproducibility tracking — tool versions, reference files, scripts, exact commands, timestamps, source-to-derived provenance chains |
| Generate proper citations, BibTeX/RIS export, data availability statements |
| Annotate GWAS/disease variants with ENCODE functional data — variant-to-gene mapping via cCREs. Backed by Finucane 2015, Maurano 2012 |
| Understand ENCODE uniform analysis pipelines and output types — pipeline specifications, Nextflow integration |
| Work with scRNA-seq and scATAC-seq data — platform comparison, cross-study integration, WNN multimodal analysis. Backed by Hao 2021, Stuart 2019 |
| Disease-focused workflows — GWAS variant interpretation, disease-tissue mapping, heritability enrichment, drug target identification via Open Targets. Backed by Buniello 2019, Finucane 2015 |
| Publication integrity assessment — 5-level trust scoring, retraction/erratum detection, citation analysis. Integrates with PubMed, bioRxiv, and Consensus |
| 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 |
| Generate publication-ready methods sections, figure legends, supplementary tables, and data availability statements with full tool citations |
| Convert genomic coordinates between assembly versions (hg19/hg38, mm9/mm10) using UCSC liftOver, CrossMap, Ensembl REST API, and rtracklayer |
Skill | Description |
| Query GTEx tissue expression data via REST API for gene expression context across 54 tissues |
| Annotate variants with ClinVar clinical significance, pathogenicity, and review status |
| Query CellxGene single-cell atlas for cell type expression context across tissues |
| Search NHGRI-EBI GWAS Catalog for trait associations, risk alleles, and study metadata |
| Query JASPAR database for transcription factor binding motifs and matrix profiles |
| Ensembl VEP variant annotation, Regulatory Build, coordinate liftover, gene lookup via REST API |
| Search NCBI GEO for complementary datasets, cross-reference with ENCODE, FTP downloads |
| gnomAD population allele frequencies, gene constraint (LOEUF/pLI), structural variants via GraphQL |
| UCSC Genome Browser REST API for cCRE tracks, TF binding clusters, and sequence retrieval |
Pipeline | Assay | Aligner | Caller |
| ChIP-seq | BWA-MEM | MACS2 + IDR |
| ATAC-seq | Bowtie2 | MACS2 (Tn5-adjusted) |
| RNA-seq | STAR | RSEM + Kallisto |
| WGBS | Bismark | MethylDackel |
| Hi-C | BWA | Juicer + HiCCUPS |
| DNase-seq | BWA | Hotspot2 |
| 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 |
| 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 |
| 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=FalseRate 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 |
Facets, search, metadata, quality-aware selection | |
File listing, download, tracking, citations, provenance | |
Histone marks, ATAC-seq, aggregation skills | |
GWAS catalog, ClinVar, GTEx, JASPAR, gnomAD | |
RNA-seq, scRNA-seq, GTEx, CellxGene, meta-analysis | |
TF ChIP-seq, chromatin states, HOMER/MEME | |
Hi-C loops, WGBS methylation, integrative analysis | |
ChIP-seq/ATAC-seq/RNA-seq pipelines, Nextflow | |
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 |
Download, blacklist-filter, liftover, auto-generate methods section | |
Union merge of H3K27ac across 5 pancreas experiments | |
rs7903146 in TCF7L2 with islet enhancer evidence scoring | |
Full Nextflow pipeline execution with ENCODE QC thresholds | |
T2D GWAS variants overlaid on islet H3K27ac enhancers | |
Trust assessment of artemisinin transdifferentiation claim | |
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-toolkitRun tests:
pytestTroubleshooting
Versions before 0.3.1 did not cap the
mcpdependency, so fresh installs pulled the incompatiblemcp2.x. This is fixed in 0.3.1.uv may have cached the broken environment. Refresh it once:
uvx --refresh encode-toolkit(oruv cache clean encode-toolkit)pip users:
pip install --upgrade encode-toolkit
Make sure you restarted Claude Desktop after adding the config
Verify
uvxis installed:pip install uvorcurl -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_facetsto see what data actually exists for your filtersUse
encode_get_metadatato 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 toolsencode_batch_downloadBatch Search and DownloadAIdempotent
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 ExperimentsARead-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 FilesAIdempotent
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 DataARead-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 CitationsARead-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 DetailsARead-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 DataARead-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 DetailsARead-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 ValuesARead-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 ProvenanceARead-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 ReferencesARead-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_link_referenceLink External ReferenceAIdempotent
Link an external reference to a tracked ENCODE experiment.
This is the cross-server bridge. Attach PubMed IDs, bioRxiv DOIs, ClinicalTrials.gov NCT IDs, GEO accessions, or any external identifier to your tracked experiments for provenance and cross-referencing.
After finding a relevant paper with PubMed MCP or a preprint on bioRxiv, link it to the ENCODE experiment for future reference.
WHEN TO USE: Use to attach external IDs (PMID, DOI, GEO, NCT) to tracked experiments for cross-referencing. RELATED TOOLS: encode_get_references, encode_get_citations
Args: experiment_accession: ENCODE experiment accession (e.g., "ENCSR133RZO") reference_type: Type of external reference: - "pmid": PubMed ID (e.g., "32728249") - "doi": DOI (e.g., "10.1038/s41586-020-2493-4") - "nct_id": ClinicalTrials.gov ID (e.g., "NCT04567890") - "preprint_doi": bioRxiv/medRxiv DOI - "geo_accession": GEO accession (e.g., "GSE123456") - "other": Any other identifier reference_id: The actual identifier value description: Optional description of why this reference is linked
Returns: JSON with linking result.
Inputs: reference_id (required), reference_type (required), experiment_accession (required), description. Returns: result
encode_list_filesList Experiment FilesARead-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 ExperimentsARead-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 FileAIdempotent
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 CredentialsADestructiveIdempotent
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 ExperimentsARead-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 ExperimentsARead-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 CollectionARead-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 LocallyAIdempotent
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
Scored across 20 tools
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.
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.
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.
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
Related MCP Connectors
MCP gateway federating 22 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
AI-powered bioprotocol optimization — generate, search, and manage lab protocols via MCP
Auditable MCP server for PubMed, Europe PMC, ClinicalTrials.gov, and bioRxiv/medRxiv queries
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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 PyPI16BSD 3-Clause
- AlicenseNot gradedqualityDmaintenanceA unified MCP server for biomedical research that connects AI systems to resources like Ensembl, EuropePMC, STRING, and more, enabling retrieval of verified domain-specific information.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceUnified MCP server providing AI-agent-ready access to AlphaFold, PubMed, ChEMBL, Ensembl, and 37+ scientific databases.MIT
- AlicenseNot gradedqualityDmaintenanceUnified 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