Searches ENCODE genomics experiments, downloads ChIP-seq, ATAC-seq and RNA-seq files, and cross-references 14 biological databases from an AI client.
Also known as ammawla/encode-toolkit, encode-toolkit
- Stars
- 20
- Tools
- 37
- Downloads, 30 days
- 673
- Latest version
- 0.3.0-beta.5
- Last commit
- Sep 27, 2026
- License
- AGPL-3.0
What is ENCODE Toolkit MCP?
ENCODE Toolkit searches ENCODE genomics experiments, downloads ChIP-seq, ATAC-seq and RNA-seq files, and cross-references 14 biological databases from an AI client. It exposes 37 tools, such as assay_title, organism, organ.
Summary generated from the project's README
About ENCODE Toolkit MCP server
Genomics researchers can automate the discovery and retrieval of complex biological data by using this toolkit within an AI client like Claude Code. The server provides direct access to ENCODE experiments, allowing users to search for specific assays such as ChIP-seq, ATAC-seq, or RNA-seq based on organism, organ, or target. It facilitates the organized downloading of files like BED or bigWig formats to local directories with built-in MD5 integrity verification.
Beyond simple file retrieval, the toolkit integrates 14 different biological databases to enable deep cross-referencing. Users can connect ENCODE data with information from GTEx for tissue expression, ClinVar for pathogenicity, and JASPAR for transcription factor motifs. The system supports running seven analysis pipelines and maintaining a full audit trail of derived files. It is designed for developers and scientists who need to move from natural language queries to structured genomic datasets and publication-ready methods without manual web navigation.
What you can do with it
- 1Cross-database biological analysisCheck if specific GWAS variants overlap with identified islet enhancers.
- 2Transcription factor motif discoveryIdentify JASPAR motifs that correspond to specific HNF4A binding sites.
- 3Research documentation and provenanceGenerate a formal methods section for a research paper including all necessary citations.
Written from the project's README. Every use case is checked against a quote from it.
How to install ENCODE Toolkit MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall ENCODE Toolkit MCP in Claude Code
$ claude mcp add encode-toolkit -- npx -y encode-toolkitInstall ENCODE Toolkit MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"encode-toolkit": {
"command": "npx",
"args": [
"-y",
"encode-toolkit"
]
}
}
}Install ENCODE Toolkit MCP in VS Code
.vscode/mcp.json
{
"servers": {
"encode-toolkit": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"encode-toolkit"
]
}
}
}Install ENCODE Toolkit MCP in VS Code CLI
$ code --add-mcp '{"name":"encode-toolkit","type":"stdio","command":"npx","args":["-y","encode-toolkit"]}'Install ENCODE Toolkit MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"encode-toolkit": {
"command": "npx",
"args": [
"-y",
"encode-toolkit"
]
}
}
}Install ENCODE Toolkit MCP in Codex
$ codex mcp add encode-toolkit -- npx -y encode-toolkitInstall ENCODE Toolkit MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.encode-toolkit] command = "npx" args = ["-y", "encode-toolkit"]
Install ENCODE Toolkit MCP in Gemini CLI
$ gemini mcp add -s user encode-toolkit npx -- -y encode-toolkitInstall ENCODE Toolkit MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"encode-toolkit": {
"command": "npx",
"args": [
"-y",
"encode-toolkit"
]
}
}
}ENCODE Toolkit MCP tools 37
Detected from the READMEassay_titleorganismorganbiosample_typetargetbiosample_term_namelimitaccessionfile_accessionsdownload_dirorganize_byverify_md5
| assay_title | — | |
| organism | — | |
| organ | — | |
| biosample_type | — | |
| target | — | |
| biosample_term_name | — | |
| limit | — | |
| accession | — | |
| file_accessions | — | |
| download_dir | — | |
| organize_by | — | |
| verify_md5 | — |
Show all 37 toolsShow fewer tools
file_formatdry_runfetch_publicationsfetch_pipelinesnotesexperiment_accessionoutput_typeassemblypreferred_defaultmetadata_typeactionaccess_keysecret_keyexport_formataccession1accession2file_pathsource_accessionsdescriptiontool_usedparameterssource_accessionformatreference_typereference_id
| file_format | — | |
| dry_run | — | |
| fetch_publications | — | |
| fetch_pipelines | — | |
| notes | — | |
| experiment_accession | — | |
| output_type | — | |
| assembly | — | |
| preferred_default | — | |
| metadata_type | — | |
| action | — | |
| access_key | — | |
| secret_key | — | |
| export_format | — | |
| accession1 | — | |
| accession2 | — | |
| file_path | — | |
| source_accessions | — | |
| description | — | |
| tool_used | — | |
| parameters | — | |
| source_accession | — | |
| format | — | |
| reference_type | — | |
| reference_id | — |
Automated checks
Ran Nov 14, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachableammawla/encode-toolkit is public and reachablegithub.com/ammawla/encode-toolkit ↗Pass
- Package names this repository as its sourceencode-toolkit, encode-toolkit name ammawla/encode-toolkit as sourcenpmjs.com/package/encode-toolkit ↗Pass
- Build provenance (Sigstore attestation)Sigstore attestation for encode-toolkitpypi.org/project/encode-toolkit/ ↗Pass
- Open source license (OSI)AGPL-3.0spdx.org/licenses/AGPL-3.0.html ↗Pass
- Commit or release in the last yearLast commit or release 2026-09-27github.com/ammawla/encode-toolkit ↗Pass
- OpenSSF ScorecardNot checked
- Package name not close to a popular packageNo popular package one edit away from encode-toolkit, encode-toolkitPass
- No critical advisory in the package or its dependencies1 resolved dependencies checked; no critical advisoryosv.dev ↗Pass
- No hidden instructions to the model37 tool descriptions and the README read; no override phrases, credential paths or hidden charactersPass
- Destructive tools are labelledNo tool named like delete, drop or execPass
- Remote endpoint answers the MCP handshakeNot checked
README
View on GitHubENCODE 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}
}
Quick Start
Claude Code Plugin (recommended)
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:
- 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 |
|---|---|---|
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 |
encode_link_reference
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.
ENCODE Toolkit MCP questions
How do I add ENCODE Toolkit MCP to Claude Code?
Run claude mcp add encode-toolkit -- npx -y encode-toolkit in your terminal. Add --scope user to make it available in every project.
How do I add ENCODE Toolkit MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
What tools does ENCODE Toolkit MCP provide?
It exposes 37 tools, including assay_title, organism, organ, biosample_type, target.
What genomic data can I search with the ENCODE MCP server?
It searches ENCODE experiments across assays including ChIP-seq, ATAC-seq, RNA-seq, Hi-C, WGBS and CUT&RUN, filtered by organism, organ, target and biosample.
Can I download ENCODE files through the MCP server?
Yes, you can download specific file accessions or batch download by search filters, with optional MD5 verification and organized output folders.
How do I install the ENCODE Toolkit in Claude Code?
Add the plugin marketplace and install the plugin in a Claude Code session; the 20 tools, 47 skills and MCP connector become available.
Which external databases does ENCODE Toolkit cross-reference?
It connects to 14 databases including GTEx, ClinVar, GWAS Catalog, JASPAR, gnomAD, Ensembl, UCSC, GEO, PubMed and Open Targets.
Can the server run analysis pipelines?
Yes, it provides 7 Nextflow pipelines for assays such as ChIP-seq and ATAC-seq using ENCODE-standard QC thresholds.