Claude Cursor Skill

setup

Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download ammawla-encode-toolkit-plugin_skills_setup-36836c8.zip · 7 KB
Part of ammawla/encode-toolkit — 90 skills

Install

skills CLI npx skills add https://github.com/ammawla/encode-toolkit/tree/main/plugin/skills/setup
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ammawla-encode-toolkit@llmmart
Git git clone https://github.com/ammawla/encode-toolkit.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole ammawla/encode-toolkit collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

ENCODE Toolkit Setup

When to Use

  • User needs help installing or configuring the ENCODE Toolkit MCP server
  • User is getting connection errors or server startup failures
  • User asks "how do I set up ENCODE?" or "install ENCODE toolkit"
  • User needs to configure ENCODE credentials for restricted data access
  • User wants to verify their ENCODE server connection is working
  • User is setting up a new environment and needs the ENCODE plugin

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.

Installation

The ENCODE Toolkit server is installed via uvx (recommended) or pip:

For Claude Code (CLI)

claude mcp add encode -- uvx encode-toolkit

For Claude Desktop

Add to 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"]
    }
  }
}

Then restart Claude Desktop.

For VS Code (Claude Extension)

Add to your VS Code settings.json (Ctrl/Cmd + Shift + P → "Preferences: Open Settings (JSON)"):

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

For Cursor

Add to .cursor/mcp.json in your project root:

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

For Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

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

Alternative: pip install

pip install encode-toolkit
encode-toolkit  # Run the server

Verify Installation

After setup, test the connection with these verification queries (run them in order):

Step 1: Check metadata access

Ask: "List available ENCODE assay types"

  • This calls encode_get_metadata(metadata_type="assays")
  • Expected: Returns 50+ assay types including ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C

Step 2: Test search

Ask: "Search for ATAC-seq experiments on human brain"

  • This calls encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens")
  • Expected: Returns experiment accessions (ENCSR...) with assay, biosample, and status info

Step 3: Test facets

Ask: "What organs have the most ENCODE data?"

  • This calls encode_get_facets()
  • Expected: Returns organ counts showing brain, liver, heart, etc. ranked by experiment count

If all three work, your setup is complete.


Authentication

Most ENCODE data is public and needs no authentication. For restricted/unreleased data:

  1. Get API credentials from https://www.encodeproject.org/profile/ (requires ENCODE account)
  2. Store them:
    Ask: "Store my ENCODE credentials"
    → Calls encode_manage_credentials(action="store", access_key="...", secret_key="...")
    
  3. Credentials are encrypted via the OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service)
  4. To verify: encode_manage_credentials(action="check")
  5. To remove: encode_manage_credentials(action="clear")

20 Available Tools

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

First-Run Walkthrough: Pancreatic Islet Epigenomics

This walkthrough demonstrates a complete workflow from installation to data exploration.

1. Explore what's available

"What ENCODE assay types are available for human pancreas?"
→ encode_get_facets(organ="pancreas", organism="Homo sapiens")

2. Find specific experiments

"Find all histone ChIP-seq experiments on human pancreas"
→ encode_search_experiments(assay_title="Histone ChIP-seq", organ="pancreas", organism="Homo sapiens")

3. Examine an experiment

"Get details for ENCSR123ABC"
→ encode_get_experiment(accession="ENCSR123ABC")

4. Find the right files

"List the preferred BED files for ENCSR123ABC"
→ encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", assembly="GRCh38")

5. Download data

"Download the IDR-thresholded peaks for ENCSR123ABC"
→ encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", output_type="IDR thresholded peaks")
→ encode_download_files(file_accessions=["ENCFF..."], download_dir="/data/encode")

6. Track your experiment

"Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'"
→ encode_track_experiment(accession="ENCSR123ABC", notes="H3K27ac pancreatic islets")

Cross-Database Integration

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

47 Expert Skills

Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise:

  • Core (5): setup, search-encode, download-encode, track-experiments, cross-reference
  • Analysis (9): quality-assessment, integrative-analysis, regulatory-elements, epigenome-profiling, compare-biosamples, visualization-workflow, motif-analysis, peak-annotation, batch-analysis
  • Pipelines (7): pipeline-chipseq, pipeline-atacseq, pipeline-rnaseq, pipeline-wgbs, pipeline-hic, pipeline-dnaseseq, pipeline-cutandrun
  • External DBs (9): gtex-expression, clinvar-annotation, cellxgene-context, gwas-catalog, jaspar-motifs, ensembl-annotation, geo-connector, gnomad-variants, ucsc-browser
  • Workflows (10): data-provenance, cite-encode, variant-annotation, pipeline-guide, single-cell-encode, disease-research, publication-trust, bioinformatics-installer, scientific-writing, liftover-coordinates
  • Data Aggregation (4): histone-aggregation, accessibility-aggregation, hic-aggregation, methylation-aggregation
  • Meta-Analysis (2): scrna-meta-analysis, multi-omics-integration
  • Functional Genomics (1): functional-screen-analysis

Pitfalls & Troubleshooting

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

Code Examples

1. Verify server connection with metadata query

encode_get_metadata(metadata_type="assays")

Expected output (values abridged — the full list has 79 assay titles):

{
  "metadata_type": "assays",
  "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", "eCLIP", "STARR-seq", "MPRA", "snATAC-seq", "scRNA-seq"],
  "count": 79
}

2. Test search functionality

encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens", limit=3)

Expected output:

{
  "results": [
    {"accession": "ENCSR000AAA", "assay_title": "ATAC-seq", "biosample_summary": "brain tissue female adult (53 years)", "organ": "brain", "status": "released"}
  ],
  "total": 32,
  "limit": 3,
  "offset": 0,
  "has_more": true,
  "next_offset": 3
}

3. Test facet exploration

encode_get_facets(organism="Homo sapiens")

Expected output:

{
  "biosample_ontology.organ_slims": [
    {"term": "brain", "count": 450},
    {"term": "blood", "count": 380},
    {"term": "liver", "count": 220},
    {"term": "heart", "count": 180},
    {"term": "lung", "count": 150}
  ]
}

Related Skills

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

Presenting Results

When reporting setup results:

  • Connection status: Confirm the ENCODE Toolkit server is connected and responding. Report the server version if available
  • Available tools: List the 20 available ENCODE tools grouped by function (search, download, track, cross-reference, credentials)
  • Test query result: Run a simple validation query (e.g., encode_get_metadata(metadata_type="assays")) and confirm it returns results successfully
  • Authentication status: Note whether credentials are configured (for restricted data) or that public data access requires no authentication
  • Troubleshooting: If any issues were encountered during setup, summarize the problem and resolution
  • Next steps: Suggest search-encode to find experiments, or encode_get_facets to explore what ENCODE data is available for their research area

For the request: "$ARGUMENTS"

Files (encode-toolkit)
  • references
    • literature.md 6.8 KB
      # Setup — Literature References
      
      **Last updated:** 2026-03-07
      **Purpose:** Reference catalog for the setup skill — key resources defining the Model Context
      Protocol (MCP) specification, the ENCODE data portal API, and project documentation that inform
      server installation, configuration, and connectivity.
      
      The setup skill guides users through installing the ENCODE MCP server, configuring API credentials
      (optional, for unreleased data), verifying tool connectivity, and understanding the plugin's
      capabilities. Setup requires understanding three foundational resources: the MCP specification
      that defines server-client communication, the ENCODE portal API that the server wraps, and the
      ENCODE documentation for data access patterns and troubleshooting.
      
      These 3 references are organized by their role in setup: (1) the MCP specification for
      server-client communication, (2) the ENCODE portal paper for the wrapped API, and (3) the
      ENCODE documentation for detailed reference and troubleshooting.
      
      ---
      
      ## Model Context Protocol
      
      The Model Context Protocol (MCP) is the standardized interface between AI assistants and
      external tools/data sources. Understanding MCP is essential for setup because it determines
      how the server is registered with clients (Claude Desktop, Claude Code), how tool definitions
      are exposed, and how errors are communicated.
      
      ---
      
      ### Anthropic 2024 — Model Context Protocol (MCP) specification
      
      - **Citation:** Anthropic. Model Context Protocol Specification, v2024-11-05. Published at
        modelcontextprotocol.io, 2024.
      - **DOI:** N/A (technical specification)
      - **PMID:** N/A | **PMC:** N/A
      - **Citations:** N/A (industry standard specification)
      - **Key findings:** MCP defines a JSON-RPC 2.0 interface between AI clients and servers.
        Three primitive types:
        - **Tools:** executable functions with typed parameters and return values
        - **Resources:** data sources addressable by URI
        - **Prompts:** templated interaction patterns
      
        The ENCODE server implements the Tools primitive, exposing 20 tools for searching,
        downloading, tracking, and cross-referencing. Each tool has a name, description, and
        JSON Schema-defined input/output types.
      
        Two transport mechanisms:
        - **stdio:** standard I/O for local servers (subprocess communication)
        - **SSE:** Server-Sent Events for remote HTTP servers
      
        The ENCODE server uses stdio transport — it runs as a subprocess of the client and
        communicates via JSON-RPC on stdin/stdout. This requires registration in the client's
        config file:
        - Claude Desktop: claude_desktop_config.json
        - Claude Code: .claude/settings.json
      
        The specification also defines:
        - Capability negotiation (server declares supported primitives)
        - Error handling (structured error codes and messages)
        - Logging (server emits log messages at severity levels)
      
        Understanding these mechanisms is essential for troubleshooting setup: missing tools
        indicates failed capability negotiation; tool errors provide diagnostic codes. The
        setup skill validates connectivity by listing tools and testing a query.
      
      ---
      
      ## ENCODE Data Portal
      
      The ENCODE portal is the primary data source the MCP server wraps. Understanding the API is
      essential for setup because it determines query capabilities, authentication, and rate limits.
      
      ---
      
      ### Davis et al. 2018 — ENCODE portal REST API
      
      - **Citation:** Davis CA, Hitz BC, Sloan CA, Chan ET, Davidson JM, Gabdank I, Hilton JA,
        Jain K, Baymuradov UK, Narayanan AK, Onate KC, Graham K, Miyasato SR, Dreszer TR,
        Strattan JS, Jolanki O, Tanaka FY, Cherry JM. The Encyclopedia of DNA elements (ENCODE):
        data portal update. *Nucleic Acids Research*, 46(D1), D794-D801, 2018.
      - **DOI:** [10.1093/nar/gkx1081](https://doi.org/10.1093/nar/gkx1081)
      - **PMID:** 29126249 | **PMC:** PMC5753278
      - **Citations:** ~400
      - **Key findings:** Documented the ENCODE REST API:
        - Endpoints: /search/, /experiments/, /files/, /biosample-types/
        - Query syntax: field=value with URL encoding
        - Response format: JSON-LD with @context, @id, @type fields
        - Pagination: limit and offset parameters
        - Authentication: HTTP Basic Auth (access_key:secret_key)
      
        Rate limiting: ~10 requests/second for unauthenticated access. The MCP server respects
        this through request throttling. Authentication is optional — all released data is
        public. Credentials are only needed for unreleased/embargoed datasets. The setup skill
        configures credentials using OS keyring (macOS Keychain, Linux Secret Service, Windows
        Credential Locker) for secure storage, never in plaintext config files.
      
        Controlled vocabularies determine valid query parameters:
        - biosample_ontology: UBERON, CL, CLO, EFO terms
        - assay_title: standardized assay names
        - organism: Homo sapiens, Mus musculus
        - target: gene symbols (TF ChIP) or histone marks (histone ChIP)
      
        The setup skill tests connectivity with a simple search query, verifying that the
        response contains valid ENCODE metadata. Common setup issues:
        - Network: firewall blocking outbound HTTPS
        - Environment: missing Python dependencies
        - Version: MCP SDK compatibility conflicts
      
      ---
      
      ## ENCODE Project Documentation
      
      The ENCODE project documentation serves as the reference manual for data access, experimental
      standards, and troubleshooting — complementing the portal paper with practical guidance that
      evolves with the project.
      
      ---
      
      ### ENCODE Project Consortium — Official documentation
      
      - **Citation:** ENCODE Project Consortium. ENCODE Project Documentation. Published at
        encodeproject.org/help, continuously updated.
      - **DOI:** N/A (online documentation)
      - **PMID:** N/A | **PMC:** N/A
      - **Citations:** N/A (reference documentation)
      - **Key findings:** Comprehensive guidance organized into sections relevant to setup:
      
        **Getting Started:** Portal navigation, search interface, experiment/file hierarchy.
        Explains the relationship between experiments (ENCSR), replicates, and files (ENCFF)
        that the MCP tools expose.
      
        **REST API:** Detailed programmatic access examples using curl, Python requests, and
        other clients. Includes searching, metadata retrieval, batch manifests, and
        authentication with access keys.
      
        **File Formats:** ENCODE conventions for BED narrowPeak, broadPeak, bigWig, BAM, FASTQ.
        Format understanding is important because download and file listing tools return
        format-specific metadata.
      
        **Data Standards:** Assay-specific quality thresholds surfaced through the audit system.
        Each assay (ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C) has documented requirements
        determining ERROR, NOT_COMPLIANT, or WARNING flags.
      
        **Antibody Characterization:** Validation tiers for ChIP-seq antibodies (primary and
        secondary characterization) affecting data reliability scores.
      
        Users are directed to these sections when setup validation identifies configuration
        problems, when they need deeper understanding beyond what MCP tools expose, or when
        they encounter unfamiliar metadata terms.
      
      ---
      
  • SKILL.md 11.9 KB
    ---
    name: setup
    description: Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector.
    disable-model-invocation: true
    ---
    
    # ENCODE Toolkit Setup
    
    ## When to Use
    
    - User needs help installing or configuring the ENCODE Toolkit MCP server
    - User is getting connection errors or server startup failures
    - User asks "how do I set up ENCODE?" or "install ENCODE toolkit"
    - User needs to configure ENCODE credentials for restricted data access
    - User wants to verify their ENCODE server connection is working
    - User is setting up a new environment and needs the ENCODE plugin
    
    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.
    
    ## Installation
    
    The ENCODE Toolkit server is installed via `uvx` (recommended) or `pip`:
    
    ### For Claude Code (CLI)
    ```bash
    claude mcp add encode -- uvx encode-toolkit
    ```
    
    ### For Claude Desktop
    Add to `claude_desktop_config.json`:
    - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
    - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
    
    ```json
    {
      "mcpServers": {
        "encode": {
          "command": "uvx",
          "args": ["encode-toolkit"]
        }
      }
    }
    ```
    
    Then restart Claude Desktop.
    
    ### For VS Code (Claude Extension)
    Add to your VS Code `settings.json` (Ctrl/Cmd + Shift + P → "Preferences: Open Settings (JSON)"):
    ```json
    {
      "claude.mcpServers": {
        "encode": {
          "command": "uvx",
          "args": ["encode-toolkit"]
        }
      }
    }
    ```
    
    ### For Cursor
    Add to `.cursor/mcp.json` in your project root:
    ```json
    {
      "mcpServers": {
        "encode": {
          "command": "uvx",
          "args": ["encode-toolkit"]
        }
      }
    }
    ```
    
    ### For Windsurf
    Add to `~/.codeium/windsurf/mcp_config.json`:
    ```json
    {
      "mcpServers": {
        "encode": {
          "command": "uvx",
          "args": ["encode-toolkit"]
        }
      }
    }
    ```
    
    ### Alternative: pip install
    ```bash
    pip install encode-toolkit
    encode-toolkit  # Run the server
    ```
    
    ---
    
    ## Verify Installation
    
    After setup, test the connection with these verification queries (run them in order):
    
    ### Step 1: Check metadata access
    Ask: "List available ENCODE assay types"
    - This calls `encode_get_metadata(metadata_type="assays")`
    - Expected: Returns 50+ assay types including ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C
    
    ### Step 2: Test search
    Ask: "Search for ATAC-seq experiments on human brain"
    - This calls `encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens")`
    - Expected: Returns experiment accessions (ENCSR...) with assay, biosample, and status info
    
    ### Step 3: Test facets
    Ask: "What organs have the most ENCODE data?"
    - This calls `encode_get_facets()`
    - Expected: Returns organ counts showing brain, liver, heart, etc. ranked by experiment count
    
    If all three work, your setup is complete.
    
    ---
    
    ## Authentication
    
    Most ENCODE data is public and needs no authentication. For restricted/unreleased data:
    
    1. Get API credentials from https://www.encodeproject.org/profile/ (requires ENCODE account)
    2. Store them:
       ```
       Ask: "Store my ENCODE credentials"
       → Calls encode_manage_credentials(action="store", access_key="...", secret_key="...")
       ```
    3. Credentials are encrypted via the OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service)
    4. To verify: `encode_manage_credentials(action="check")`
    5. To remove: `encode_manage_credentials(action="clear")`
    
    ---
    
    ## 20 Available Tools
    
    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 |
    
    ---
    
    ## First-Run Walkthrough: Pancreatic Islet Epigenomics
    
    This walkthrough demonstrates a complete workflow from installation to data exploration.
    
    ### 1. Explore what's available
    ```
    "What ENCODE assay types are available for human pancreas?"
    → encode_get_facets(organ="pancreas", organism="Homo sapiens")
    ```
    
    ### 2. Find specific experiments
    ```
    "Find all histone ChIP-seq experiments on human pancreas"
    → encode_search_experiments(assay_title="Histone ChIP-seq", organ="pancreas", organism="Homo sapiens")
    ```
    
    ### 3. Examine an experiment
    ```
    "Get details for ENCSR123ABC"
    → encode_get_experiment(accession="ENCSR123ABC")
    ```
    
    ### 4. Find the right files
    ```
    "List the preferred BED files for ENCSR123ABC"
    → encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", assembly="GRCh38")
    ```
    
    ### 5. Download data
    ```
    "Download the IDR-thresholded peaks for ENCSR123ABC"
    → encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", output_type="IDR thresholded peaks")
    → encode_download_files(file_accessions=["ENCFF..."], download_dir="/data/encode")
    ```
    
    ### 6. Track your experiment
    ```
    "Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'"
    → encode_track_experiment(accession="ENCSR123ABC", notes="H3K27ac pancreatic islets")
    ```
    
    ---
    
    ## Cross-Database Integration
    
    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 |
    
    ---
    
    ## 47 Expert Skills
    
    Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise:
    
    - **Core (5)**: setup, search-encode, download-encode, track-experiments, cross-reference
    - **Analysis (9)**: quality-assessment, integrative-analysis, regulatory-elements, epigenome-profiling, compare-biosamples, visualization-workflow, motif-analysis, peak-annotation, batch-analysis
    - **Pipelines (7)**: pipeline-chipseq, pipeline-atacseq, pipeline-rnaseq, pipeline-wgbs, pipeline-hic, pipeline-dnaseseq, pipeline-cutandrun
    - **External DBs (9)**: gtex-expression, clinvar-annotation, cellxgene-context, gwas-catalog, jaspar-motifs, ensembl-annotation, geo-connector, gnomad-variants, ucsc-browser
    - **Workflows (10)**: data-provenance, cite-encode, variant-annotation, pipeline-guide, single-cell-encode, disease-research, publication-trust, bioinformatics-installer, scientific-writing, liftover-coordinates
    - **Data Aggregation (4)**: histone-aggregation, accessibility-aggregation, hic-aggregation, methylation-aggregation
    - **Meta-Analysis (2)**: scrna-meta-analysis, multi-omics-integration
    - **Functional Genomics (1)**: functional-screen-analysis
    
    ---
    
    ## Pitfalls & Troubleshooting
    
    | 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 |
    
    ---
    
    ## Code Examples
    
    ### 1. Verify server connection with metadata query
    ```
    encode_get_metadata(metadata_type="assays")
    ```
    
    Expected output (`values` abridged — the full list has 79 assay titles):
    ```json
    {
      "metadata_type": "assays",
      "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", "eCLIP", "STARR-seq", "MPRA", "snATAC-seq", "scRNA-seq"],
      "count": 79
    }
    ```
    
    ### 2. Test search functionality
    ```
    encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens", limit=3)
    ```
    
    Expected output:
    ```json
    {
      "results": [
        {"accession": "ENCSR000AAA", "assay_title": "ATAC-seq", "biosample_summary": "brain tissue female adult (53 years)", "organ": "brain", "status": "released"}
      ],
      "total": 32,
      "limit": 3,
      "offset": 0,
      "has_more": true,
      "next_offset": 3
    }
    ```
    
    ### 3. Test facet exploration
    ```
    encode_get_facets(organism="Homo sapiens")
    ```
    
    Expected output:
    ```json
    {
      "biosample_ontology.organ_slims": [
        {"term": "brain", "count": 450},
        {"term": "blood", "count": 380},
        {"term": "liver", "count": 220},
        {"term": "heart", "count": 180},
        {"term": "lung", "count": 150}
      ]
    }
    ```
    
    ## Related Skills
    
    | 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 |
    
    ---
    
    ## Presenting Results
    
    When reporting setup results:
    
    - **Connection status**: Confirm the ENCODE Toolkit server is connected and responding. Report the server version if available
    - **Available tools**: List the 20 available ENCODE tools grouped by function (search, download, track, cross-reference, credentials)
    - **Test query result**: Run a simple validation query (e.g., `encode_get_metadata(metadata_type="assays")`) and confirm it returns results successfully
    - **Authentication status**: Note whether credentials are configured (for restricted data) or that public data access requires no authentication
    - **Troubleshooting**: If any issues were encountered during setup, summarize the problem and resolution
    - **Next steps**: Suggest `search-encode` to find experiments, or `encode_get_facets` to explore what ENCODE data is available for their research area
    
    ## For the request: "$ARGUMENTS"
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related