{"slug":"setup-17","title":"setup","summary":"Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector.","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-22T13:25:38.336759Z","repo":{"url":"https://github.com/ammawla/encode-toolkit","stars":21,"forks":5,"license":"AGPL-3.0","updatedAt":"2026-09-27T01:22:42Z"},"bodyHtml":"<hr>\n<h2>name: setup\ndescription: Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector.\ndisable-model-invocation: true</h2>\n<h1>ENCODE Toolkit Setup</h1>\n<h2>When to Use</h2>\n<ul>\n<li>User needs help installing or configuring the ENCODE Toolkit MCP server</li>\n<li>User is getting connection errors or server startup failures</li>\n<li>User asks \"how do I set up ENCODE?\" or \"install ENCODE toolkit\"</li>\n<li>User needs to configure ENCODE credentials for restricted data access</li>\n<li>User wants to verify their ENCODE server connection is working</li>\n<li>User is setting up a new environment and needs the ENCODE plugin</li>\n</ul>\n<p>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.</p>\n<h2>Installation</h2>\n<p>The ENCODE Toolkit server is installed via <code>uvx</code> (recommended) or <code>pip</code>:</p>\n<h3>For Claude Code (CLI)</h3>\n<pre><code>claude mcp add encode -- uvx encode-toolkit\n</code></pre>\n<h3>For Claude Desktop</h3>\n<p>Add to <code>claude_desktop_config.json</code>:</p>\n<ul>\n<li><strong>macOS</strong>: <code>~/Library/Application Support/Claude/claude_desktop_config.json</code></li>\n<li><strong>Windows</strong>: <code>%APPDATA%\\Claude\\claude_desktop_config.json</code></li>\n</ul>\n<pre><code>{\n  \"mcpServers\": {\n    \"encode\": {\n      \"command\": \"uvx\",\n      \"args\": [\"encode-toolkit\"]\n    }\n  }\n}\n</code></pre>\n<p>Then restart Claude Desktop.</p>\n<h3>For VS Code (Claude Extension)</h3>\n<p>Add to your VS Code <code>settings.json</code> (Ctrl/Cmd + Shift + P → \"Preferences: Open Settings (JSON)\"):</p>\n<pre><code>{\n  \"claude.mcpServers\": {\n    \"encode\": {\n      \"command\": \"uvx\",\n      \"args\": [\"encode-toolkit\"]\n    }\n  }\n}\n</code></pre>\n<h3>For Cursor</h3>\n<p>Add to <code>.cursor/mcp.json</code> in your project root:</p>\n<pre><code>{\n  \"mcpServers\": {\n    \"encode\": {\n      \"command\": \"uvx\",\n      \"args\": [\"encode-toolkit\"]\n    }\n  }\n}\n</code></pre>\n<h3>For Windsurf</h3>\n<p>Add to <code>~/.codeium/windsurf/mcp_config.json</code>:</p>\n<pre><code>{\n  \"mcpServers\": {\n    \"encode\": {\n      \"command\": \"uvx\",\n      \"args\": [\"encode-toolkit\"]\n    }\n  }\n}\n</code></pre>\n<h3>Alternative: pip install</h3>\n<pre><code>pip install encode-toolkit\nencode-toolkit  # Run the server\n</code></pre>\n<hr>\n<h2>Verify Installation</h2>\n<p>After setup, test the connection with these verification queries (run them in order):</p>\n<h3>Step 1: Check metadata access</h3>\n<p>Ask: \"List available ENCODE assay types\"</p>\n<ul>\n<li>This calls <code>encode_get_metadata(metadata_type=\"assays\")</code></li>\n<li>Expected: Returns 50+ assay types including ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C</li>\n</ul>\n<h3>Step 2: Test search</h3>\n<p>Ask: \"Search for ATAC-seq experiments on human brain\"</p>\n<ul>\n<li>This calls <code>encode_search_experiments(assay_title=\"ATAC-seq\", organ=\"brain\", organism=\"Homo sapiens\")</code></li>\n<li>Expected: Returns experiment accessions (ENCSR...) with assay, biosample, and status info</li>\n</ul>\n<h3>Step 3: Test facets</h3>\n<p>Ask: \"What organs have the most ENCODE data?\"</p>\n<ul>\n<li>This calls <code>encode_get_facets()</code></li>\n<li>Expected: Returns organ counts showing brain, liver, heart, etc. ranked by experiment count</li>\n</ul>\n<p>If all three work, your setup is complete.</p>\n<hr>\n<h2>Authentication</h2>\n<p>Most ENCODE data is public and needs no authentication. For restricted/unreleased data:</p>\n<ol>\n<li>Get API credentials from <a href=\"https://www.encodeproject.org/profile/\">https://www.encodeproject.org/profile/</a> (requires ENCODE account)</li>\n<li>Store them:\n<pre><code>Ask: \"Store my ENCODE credentials\"\n→ Calls encode_manage_credentials(action=\"store\", access_key=\"...\", secret_key=\"...\")\n</code></pre>\n</li>\n<li>Credentials are encrypted via the OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service)</li>\n<li>To verify: <code>encode_manage_credentials(action=\"check\")</code></li>\n<li>To remove: <code>encode_manage_credentials(action=\"clear\")</code></li>\n</ol>\n<hr>\n<h2>20 Available Tools</h2>\n<p>After setup, these tools are available:</p>\n<table>\n<thead>\n<tr>\n<th>Category</th>\n<th>Tools</th>\n<th>Purpose</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Search</strong></td>\n<td><code>encode_search_experiments</code>, <code>encode_get_facets</code>, <code>encode_get_metadata</code></td>\n<td>Find experiments, explore data landscape, get valid filter values</td>\n</tr>\n<tr>\n<td><strong>Experiment Details</strong></td>\n<td><code>encode_get_experiment</code>, <code>encode_compare_experiments</code></td>\n<td>Get full experiment metadata, compare two experiments</td>\n</tr>\n<tr>\n<td><strong>Files</strong></td>\n<td><code>encode_search_files</code>, <code>encode_list_files</code>, <code>encode_get_file_info</code></td>\n<td>Find files, list files for an experiment, get file details</td>\n</tr>\n<tr>\n<td><strong>Download</strong></td>\n<td><code>encode_download_files</code>, <code>encode_batch_download</code></td>\n<td>Download individual or batch files with MD5 verification</td>\n</tr>\n<tr>\n<td><strong>Tracking</strong></td>\n<td><code>encode_track_experiment</code>, <code>encode_list_tracked</code>, <code>encode_get_tracking_summary</code></td>\n<td>Local experiment tracking with SQLite</td>\n</tr>\n<tr>\n<td><strong>Provenance</strong></td>\n<td><code>encode_log_derived_file</code>, <code>encode_get_provenance</code></td>\n<td>Log analysis outputs with full lineage</td>\n</tr>\n<tr>\n<td><strong>Citations</strong></td>\n<td><code>encode_get_citations</code>, <code>encode_link_reference</code></td>\n<td>Publication data, cross-reference to PubMed/GEO</td>\n</tr>\n<tr>\n<td><strong>Credentials</strong></td>\n<td><code>encode_manage_credentials</code></td>\n<td>Store/remove API credentials</td>\n</tr>\n<tr>\n<td><strong>Collection</strong></td>\n<td><code>encode_summarize_collection</code></td>\n<td>Summarize tracked experiment portfolio</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h2>First-Run Walkthrough: Pancreatic Islet Epigenomics</h2>\n<p>This walkthrough demonstrates a complete workflow from installation to data exploration.</p>\n<h3>1. Explore what's available</h3>\n<pre><code>\"What ENCODE assay types are available for human pancreas?\"\n→ encode_get_facets(organ=\"pancreas\", organism=\"Homo sapiens\")\n</code></pre>\n<h3>2. Find specific experiments</h3>\n<pre><code>\"Find all histone ChIP-seq experiments on human pancreas\"\n→ encode_search_experiments(assay_title=\"Histone ChIP-seq\", organ=\"pancreas\", organism=\"Homo sapiens\")\n</code></pre>\n<h3>3. Examine an experiment</h3>\n<pre><code>\"Get details for ENCSR123ABC\"\n→ encode_get_experiment(accession=\"ENCSR123ABC\")\n</code></pre>\n<h3>4. Find the right files</h3>\n<pre><code>\"List the preferred BED files for ENCSR123ABC\"\n→ encode_list_files(experiment_accession=\"ENCSR123ABC\", file_format=\"bed\", assembly=\"GRCh38\")\n</code></pre>\n<h3>5. Download data</h3>\n<pre><code>\"Download the IDR-thresholded peaks for ENCSR123ABC\"\n→ encode_list_files(experiment_accession=\"ENCSR123ABC\", file_format=\"bed\", output_type=\"IDR thresholded peaks\")\n→ encode_download_files(file_accessions=[\"ENCFF...\"], download_dir=\"/data/encode\")\n</code></pre>\n<h3>6. Track your experiment</h3>\n<pre><code>\"Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'\"\n→ encode_track_experiment(accession=\"ENCSR123ABC\", notes=\"H3K27ac pancreatic islets\")\n</code></pre>\n<hr>\n<h2>Cross-Database Integration</h2>\n<p>The ENCODE Toolkit works alongside other MCP servers and REST APIs:</p>\n<table>\n<thead>\n<tr>\n<th>Database</th>\n<th>Access Method</th>\n<th>What It Adds</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>PubMed</strong></td>\n<td>MCP server (<code>search_articles</code>)</td>\n<td>Literature citations for ENCODE experiments</td>\n</tr>\n<tr>\n<td><strong>bioRxiv</strong></td>\n<td>MCP server (<code>search_preprints</code>)</td>\n<td>Preprint discovery for latest research</td>\n</tr>\n<tr>\n<td><strong>ClinicalTrials.gov</strong></td>\n<td>MCP server (<code>search_trials</code>)</td>\n<td>Clinical trial cross-reference</td>\n</tr>\n<tr>\n<td><strong>Open Targets</strong></td>\n<td>MCP server (<code>query_open_targets_graphql</code>)</td>\n<td>Drug target identification</td>\n</tr>\n<tr>\n<td><strong>GTEx</strong></td>\n<td>REST API via skill</td>\n<td>Tissue-specific expression context</td>\n</tr>\n<tr>\n<td><strong>ClinVar</strong></td>\n<td>REST API via skill</td>\n<td>Clinical variant annotation</td>\n</tr>\n<tr>\n<td><strong>GWAS Catalog</strong></td>\n<td>REST API via skill</td>\n<td>Trait-associated variant lookups</td>\n</tr>\n<tr>\n<td><strong>gnomAD</strong></td>\n<td>GraphQL via skill</td>\n<td>Population allele frequencies</td>\n</tr>\n<tr>\n<td><strong>Ensembl</strong></td>\n<td>REST API via skill</td>\n<td>VEP annotation, Regulatory Build</td>\n</tr>\n<tr>\n<td><strong>UCSC</strong></td>\n<td>REST API via skill</td>\n<td>Genome browser tracks, cCRE data</td>\n</tr>\n<tr>\n<td><strong>GEO</strong></td>\n<td>E-utilities via skill</td>\n<td>Complementary expression datasets</td>\n</tr>\n<tr>\n<td><strong>JASPAR</strong></td>\n<td>REST API via skill</td>\n<td>TF binding motif databases</td>\n</tr>\n<tr>\n<td><strong>CellxGene</strong></td>\n<td>REST API via skill</td>\n<td>Single-cell expression atlases</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h2>47 Expert Skills</h2>\n<p>Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise:</p>\n<ul>\n<li><strong>Core (5)</strong>: setup, search-encode, download-encode, track-experiments, cross-reference</li>\n<li><strong>Analysis (9)</strong>: quality-assessment, integrative-analysis, regulatory-elements, epigenome-profiling, compare-biosamples, visualization-workflow, motif-analysis, peak-annotation, batch-analysis</li>\n<li><strong>Pipelines (7)</strong>: pipeline-chipseq, pipeline-atacseq, pipeline-rnaseq, pipeline-wgbs, pipeline-hic, pipeline-dnaseseq, pipeline-cutandrun</li>\n<li><strong>External DBs (9)</strong>: gtex-expression, clinvar-annotation, cellxgene-context, gwas-catalog, jaspar-motifs, ensembl-annotation, geo-connector, gnomad-variants, ucsc-browser</li>\n<li><strong>Workflows (10)</strong>: data-provenance, cite-encode, variant-annotation, pipeline-guide, single-cell-encode, disease-research, publication-trust, bioinformatics-installer, scientific-writing, liftover-coordinates</li>\n<li><strong>Data Aggregation (4)</strong>: histone-aggregation, accessibility-aggregation, hic-aggregation, methylation-aggregation</li>\n<li><strong>Meta-Analysis (2)</strong>: scrna-meta-analysis, multi-omics-integration</li>\n<li><strong>Functional Genomics (1)</strong>: functional-screen-analysis</li>\n</ul>\n<hr>\n<h2>Pitfalls &amp; Troubleshooting</h2>\n<table>\n<thead>\n<tr>\n<th>Problem</th>\n<th>Cause</th>\n<th>Fix</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\"Server not found\"</td>\n<td>Claude not restarted after config change</td>\n<td>Restart Claude Desktop / reload Claude Code</td>\n</tr>\n<tr>\n<td>\"uvx not found\"</td>\n<td>uv not installed</td>\n<td><code>curl -LsSf https://astral.sh/uv/install.sh \\| sh</code></td>\n</tr>\n<tr>\n<td>Timeout errors</td>\n<td>Slow connection or ENCODE API load</td>\n<td>Retry; rate limit (10 req/sec) is handled automatically</td>\n</tr>\n<tr>\n<td>403 on downloads</td>\n<td>File requires authentication</td>\n<td><code>encode_manage_credentials(action=\"store\", ...)</code></td>\n</tr>\n<tr>\n<td>No results returned</td>\n<td>Filters too narrow</td>\n<td>Broaden filters; use <code>encode_get_facets</code> to see available data</td>\n</tr>\n<tr>\n<td>\"Invalid accession\"</td>\n<td>Wrong format</td>\n<td>Must be ENCSR/ENCFF/ENCBS format (e.g., ENCSR000AAA)</td>\n</tr>\n<tr>\n<td>Empty facets</td>\n<td>API connectivity issue</td>\n<td>Check internet; try <code>encode_get_metadata(metadata_type=\"assays\")</code></td>\n</tr>\n<tr>\n<td>Stale results</td>\n<td>Cached data</td>\n<td>Cache TTL is 1 hour; restart server to clear</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h2>Code Examples</h2>\n<h3>1. Verify server connection with metadata query</h3>\n<pre><code>encode_get_metadata(metadata_type=\"assays\")\n</code></pre>\n<p>Expected output (<code>values</code> abridged — the full list has 79 assay titles):</p>\n<pre><code>{\n  \"metadata_type\": \"assays\",\n  \"values\": [\"Histone ChIP-seq\", \"TF ChIP-seq\", \"ATAC-seq\", \"DNase-seq\", \"total RNA-seq\", \"polyA plus RNA-seq\", \"WGBS\", \"intact Hi-C\", \"CUT&amp;RUN\", \"CUT&amp;Tag\", \"eCLIP\", \"STARR-seq\", \"MPRA\", \"snATAC-seq\", \"scRNA-seq\"],\n  \"count\": 79\n}\n</code></pre>\n<h3>2. Test search functionality</h3>\n<pre><code>encode_search_experiments(assay_title=\"ATAC-seq\", organ=\"brain\", organism=\"Homo sapiens\", limit=3)\n</code></pre>\n<p>Expected output:</p>\n<pre><code>{\n  \"results\": [\n    {\"accession\": \"ENCSR000AAA\", \"assay_title\": \"ATAC-seq\", \"biosample_summary\": \"brain tissue female adult (53 years)\", \"organ\": \"brain\", \"status\": \"released\"}\n  ],\n  \"total\": 32,\n  \"limit\": 3,\n  \"offset\": 0,\n  \"has_more\": true,\n  \"next_offset\": 3\n}\n</code></pre>\n<h3>3. Test facet exploration</h3>\n<pre><code>encode_get_facets(organism=\"Homo sapiens\")\n</code></pre>\n<p>Expected output:</p>\n<pre><code>{\n  \"biosample_ontology.organ_slims\": [\n    {\"term\": \"brain\", \"count\": 450},\n    {\"term\": \"blood\", \"count\": 380},\n    {\"term\": \"liver\", \"count\": 220},\n    {\"term\": \"heart\", \"count\": 180},\n    {\"term\": \"lung\", \"count\": 150}\n  ]\n}\n</code></pre>\n<h2>Related Skills</h2>\n<table>\n<thead>\n<tr>\n<th>Skill</th>\n<th>When to Use</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>search-encode</code></td>\n<td>First skill to use after setup — find experiments by assay, tissue, target</td>\n</tr>\n<tr>\n<td><code>download-encode</code></td>\n<td>Download ENCODE files (BED, bigWig, FASTQ, BAM) after finding experiments</td>\n</tr>\n<tr>\n<td><code>pipeline-guide</code></td>\n<td>Set up Nextflow pipelines for processing raw ENCODE data</td>\n</tr>\n<tr>\n<td><code>bioinformatics-installer</code></td>\n<td>Install all bioinformatics tools needed for ENCODE analysis</td>\n</tr>\n<tr>\n<td><code>cross-reference</code></td>\n<td>Link ENCODE experiments to PubMed, GEO, ClinicalTrials.gov</td>\n</tr>\n<tr>\n<td><code>quality-assessment</code></td>\n<td>Evaluate data quality before analysis</td>\n</tr>\n<tr>\n<td><code>publication-trust</code></td>\n<td>Verify literature claims backing analytical decisions</td>\n</tr>\n</tbody>\n</table>\n<hr>\n<h2>Presenting Results</h2>\n<p>When reporting setup results:</p>\n<ul>\n<li><strong>Connection status</strong>: Confirm the ENCODE Toolkit server is connected and responding. Report the server version if available</li>\n<li><strong>Available tools</strong>: List the 20 available ENCODE tools grouped by function (search, download, track, cross-reference, credentials)</li>\n<li><strong>Test query result</strong>: Run a simple validation query (e.g., <code>encode_get_metadata(metadata_type=\"assays\")</code>) and confirm it returns results successfully</li>\n<li><strong>Authentication status</strong>: Note whether credentials are configured (for restricted data) or that public data access requires no authentication</li>\n<li><strong>Troubleshooting</strong>: If any issues were encountered during setup, summarize the problem and resolution</li>\n<li><strong>Next steps</strong>: Suggest <code>search-encode</code> to find experiments, or <code>encode_get_facets</code> to explore what ENCODE data is available for their research area</li>\n</ul>\n<h2>For the request: \"$ARGUMENTS\"</h2>\n","files":[{"path":"references/literature.md","sizeBytes":7003,"isText":true},{"path":"SKILL.md","sizeBytes":12234,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-22T13:26:40.652213Z","sha256":"ABCB5D1F64F65569E435520A9274C2CF3E504F842DD290FDE5A2CC8D05F4DDA7","sizeBytes":7948},"review":null,"source":{"repositoryUrl":"https://github.com/ammawla/encode-toolkit","path":"plugin/skills/setup","license":"AGPL-3.0","commit":"36836c8725fd4d20d9c851ce314f5151aea5f57c","subtreeSha":"7965C11F94E4D33AD5B49293DBA4B66FF96AAB33AF59A622557D805E17E5D127","lastSyncedAt":"2026-09-29T20:56:54.045383Z"},"reviewedAt":"2026-09-22T13:28:30.058257Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/ammawla/encode-toolkit/tree/main/plugin/skills/setup"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ammawla-encode-toolkit@llmmart"},{"target":"git","command":"git clone https://github.com/ammawla/encode-toolkit.git"}]}