From encode-toolkit
Guides setup of ENCODE Toolkit MCP server for Claude Code, Desktop, VS Code, Cursor, and Windsurf via uvx or pip. Includes verification queries for genomics database access.
How this skill is triggered — by the user, by Claude, or both
Slash command
/encode-toolkit:setupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- User needs help installing or configuring the ENCODE Toolkit MCP server
Help the user set up the ENCODE Toolkit server. The server connects Claude to the ENCODE Project genomics database — the largest public catalog of functional genomic elements with 8,000+ experiments across 50+ assay types.
The ENCODE Toolkit server is installed via uvx (recommended) or pip:
claude mcp add encode -- uvx encode-toolkit
Add to claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
Then restart Claude Desktop.
Add to your VS Code settings.json (Ctrl/Cmd + Shift + P → "Preferences: Open Settings (JSON)"):
{
"claude.mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
pip install encode-toolkit
encode-toolkit # Run the server
After setup, test the connection with these verification queries (run them in order):
Ask: "List available ENCODE assay types"
encode_get_metadata(metadata_type="assays")Ask: "Search for ATAC-seq experiments on human brain"
encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens")Ask: "What organs have the most ENCODE data?"
encode_get_facets(facet_field="organ")If all three work, your setup is complete.
Most ENCODE data is public and needs no authentication. For restricted/unreleased data:
Ask: "Store my ENCODE credentials"
→ Calls encode_manage_credentials(action="store", access_key="...", secret_key="...")
encode_manage_credentials(action="status")encode_manage_credentials(action="remove")After setup, these tools are available:
| Category | Tools | Purpose |
|---|---|---|
| Search | encode_search_experiments, encode_get_facets, encode_get_metadata | Find experiments, explore data landscape, get valid filter values |
| Experiment Details | encode_get_experiment, encode_compare_experiments | Get full experiment metadata, compare two experiments |
| Files | encode_search_files, encode_list_files, encode_get_file_info | Find files, list files for an experiment, get file details |
| Download | encode_download_files, encode_batch_download | Download individual or batch files with MD5 verification |
| Tracking | encode_track_experiment, encode_list_tracked, encode_get_tracking_summary | Local experiment tracking with SQLite |
| Provenance | encode_log_derived_file, encode_get_provenance | Log analysis outputs with full lineage |
| Citations | encode_get_citations, encode_link_reference | Publication data, cross-reference to PubMed/GEO |
| Credentials | encode_manage_credentials | Store/remove API credentials |
| Collection | encode_summarize_collection | Summarize tracked experiment portfolio |
This walkthrough demonstrates a complete workflow from installation to data exploration.
"What ENCODE assay types are available for human pancreas?"
→ encode_get_facets(facet_field="assay_title", organ="pancreas", organism="Homo sapiens")
"Find all histone ChIP-seq experiments on human pancreas"
→ encode_search_experiments(assay_title="Histone ChIP-seq", organ="pancreas", organism="Homo sapiens")
"Get details for ENCSR123ABC"
→ encode_get_experiment(accession="ENCSR123ABC")
"List the preferred BED files for ENCSR123ABC"
→ encode_list_files(accession="ENCSR123ABC", file_format="bed", assembly="GRCh38")
"Download the IDR-thresholded peaks for ENCSR123ABC"
→ encode_download_files(accession="ENCSR123ABC", file_format="bed", output_type="IDR thresholded peaks")
"Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'"
→ encode_track_experiment(accession="ENCSR123ABC", notes="H3K27ac pancreatic islets")
The ENCODE Toolkit works alongside other MCP servers and REST APIs:
| Database | Access Method | What It Adds |
|---|---|---|
| PubMed | MCP server (search_articles) | Literature citations for ENCODE experiments |
| bioRxiv | MCP server (search_preprints) | Preprint discovery for latest research |
| ClinicalTrials.gov | MCP server (search_trials) | Clinical trial cross-reference |
| Open Targets | MCP server (query_open_targets_graphql) | Drug target identification |
| GTEx | REST API via skill | Tissue-specific expression context |
| ClinVar | REST API via skill | Clinical variant annotation |
| GWAS Catalog | REST API via skill | Trait-associated variant lookups |
| gnomAD | GraphQL via skill | Population allele frequencies |
| Ensembl | REST API via skill | VEP annotation, Regulatory Build |
| UCSC | REST API via skill | Genome browser tracks, cCRE data |
| GEO | E-utilities via skill | Complementary expression datasets |
| JASPAR | REST API via skill | TF binding motif databases |
| CellxGene | REST API via skill | Single-cell expression atlases |
Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise:
| Problem | Cause | Fix |
|---|---|---|
| "Server not found" | Claude not restarted after config change | Restart Claude Desktop / reload Claude Code |
| "uvx not found" | uv not installed | curl -LsSf https://astral.sh/uv/install.sh | sh |
| Timeout errors | Slow connection or ENCODE API load | Retry; rate limit (10 req/sec) is handled automatically |
| 403 on downloads | File requires authentication | encode_manage_credentials(action="store", ...) |
| No results returned | Filters too narrow | Broaden filters; use encode_get_facets to see available data |
| "Invalid accession" | Wrong format | Must be ENCSR/ENCFF/ENCBS format (e.g., ENCSR000AAA) |
| Empty facets | API connectivity issue | Check internet; try encode_get_metadata(metadata_type="assays") |
| Stale results | Cached data | Cache TTL is 1 hour; restart server to clear |
encode_get_metadata(metadata_type="assays")
Expected output:
{
"assays": ["ATAC-seq", "ChIP-seq", "CUT&RUN", "CUT&Tag", "DNase-seq", "Hi-C", "MPRA", "RNA-seq", "STARR-seq", "WGBS", "eCLIP", "scATAC-seq", "scRNA-seq"]
}
encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens", limit=3)
Expected output:
{
"total": 32,
"results": [
{"accession": "ENCSR000AAA", "assay_title": "ATAC-seq", "biosample_summary": "brain", "status": "released"}
]
}
encode_get_facets(facet_field="organ", organism="Homo sapiens")
Expected output:
{
"facets": {
"organ": {"brain": 450, "blood": 380, "liver": 220, "heart": 180, "lung": 150}
}
}
| Skill | When to Use |
|---|---|
search-encode | First skill to use after setup — find experiments by assay, tissue, target |
download-encode | Download ENCODE files (BED, bigWig, FASTQ, BAM) after finding experiments |
pipeline-guide | Set up Nextflow pipelines for processing raw ENCODE data |
bioinformatics-installer | Install all bioinformatics tools needed for ENCODE analysis |
cross-reference | Link ENCODE experiments to PubMed, GEO, ClinicalTrials.gov |
quality-assessment | Evaluate data quality before analysis |
publication-trust | Verify literature claims backing analytical decisions |
When reporting setup results:
encode_get_metadata(metadata_type="assays")) and confirm it returns results successfullysearch-encode to find experiments, or encode_get_facets to explore what ENCODE data is available for their research areanpx claudepluginhub ammawla/encode-toolkit --plugin encode-toolkitGuides setup of ENCODE Toolkit MCP server for Claude Code, Desktop, VS Code, Cursor, and Windsurf via uvx or pip. Includes verification queries for genomics database access.
Guides users through installing and configuring ToolUniverse in MCP (chat), CLI, or Python SDK mode. Covers uv setup, MCP config for 12+ AI clients, CLI reference, and troubleshooting.
Provides unified CLI and Python access to 20+ bioinformatics databases for gene info, sequence analysis, protein structures, and enrichment queries.