UCSC Genomic Data · Capability

UCSC Genomic Research Workflow

Workflow capability for computational biology research using the UCSC Genome Browser API. Supports genome assembly discovery, DNA sequence retrieval, annotation track analysis, and track hub management. Designed for bioinformaticians, genomics researchers, and computational biologists.

Run with Naftiko GenomicsBioinformaticsDNA SequencesAnnotationUCSCResearch

What You Can Do

GET
List ucsc genomes — List all UCSC Genome Browser assemblies.
/v1/genomes
GET
Find genome — Search for genome assemblies by name or accession.
/v1/genomes/search
GET
List tracks — List all annotation tracks for a genome.
/v1/genomes/{genome}/tracks
GET
List chromosomes — List chromosomes and their sizes for a genome.
/v1/genomes/{genome}/chromosomes
GET
Get dna sequence — Retrieve DNA sequence for a genomic region.
/v1/sequence
GET
Get track data — Retrieve annotation data from a specific track for a region.
/v1/track-data
GET
List public hubs — List all publicly available track hubs.
/v1/hubs
GET
Search genome browser — Search track data, names, and descriptions in the Genome Browser.
/v1/search

MCP Tools

list-genome-assemblies

List all genome assemblies available in the UCSC Genome Browser.

read-only
search-genomes

Search for genome assemblies by organism name, accession, or keywords.

read-only
list-annotation-tracks

List all annotation tracks available for a specific genome assembly.

read-only
get-chromosomes

Get chromosomes and their sizes for a genome assembly.

read-only
get-dna-sequence

Retrieve DNA sequence from a genome for a specified chromosomal region.

read-only
get-track-annotations

Get annotation data from a specific track for a genomic region.

read-only
list-public-track-hubs

List all publicly available UCSC track hubs.

read-only
search-genome-browser

Search track data, names, and descriptions in the UCSC Genome Browser.

read-only

APIs Used

ucsc-genome-browser

Capability Spec

genomic-research.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "UCSC Genomic Research Workflow"
  description: >-
    Workflow capability for computational biology research using the UCSC Genome Browser API.
    Supports genome assembly discovery, DNA sequence retrieval, annotation track analysis,
    and track hub management. Designed for bioinformaticians, genomics researchers,
    and computational biologists.
  tags:
    - Genomics
    - Bioinformatics
    - DNA Sequences
    - Annotation
    - UCSC
    - Research
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys: {}

capability:
  consumes:
    - import: ucsc-genome-browser
      location: ./shared/genome-browser.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: ucsc-genomic-research-api
      description: "Unified REST API for UCSC Genome Browser genomic data access."
      resources:
        - path: /v1/genomes
          name: genomes
          description: "UCSC genome assembly listings."
          operations:
            - method: GET
              name: list-ucsc-genomes
              description: "List all UCSC Genome Browser assemblies."
              call: "ucsc-genome-browser.list-ucsc-genomes"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/genomes/search
          name: genome-search
          description: "Genome assembly search."
          operations:
            - method: GET
              name: find-genome
              description: "Search for genome assemblies by name or accession."
              call: "ucsc-genome-browser.find-genome"
              with:
                q: "rest.q"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/genomes/{genome}/tracks
          name: tracks
          description: "Annotation tracks for a genome assembly."
          operations:
            - method: GET
              name: list-tracks
              description: "List all annotation tracks for a genome."
              call: "ucsc-genome-browser.list-tracks"
              with:
                genome: "rest.genome"
                trackLeavesOnly: "rest.trackLeavesOnly"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/genomes/{genome}/chromosomes
          name: chromosomes
          description: "Chromosome listings for a genome assembly."
          operations:
            - method: GET
              name: list-chromosomes
              description: "List chromosomes and their sizes for a genome."
              call: "ucsc-genome-browser.list-chromosomes"
              with:
                genome: "rest.genome"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/sequence
          name: sequence
          description: "DNA sequence retrieval."
          operations:
            - method: GET
              name: get-dna-sequence
              description: "Retrieve DNA sequence for a genomic region."
              call: "ucsc-genome-browser.get-dna-sequence"
              with:
                genome: "rest.genome"
                chrom: "rest.chrom"
                start: "rest.start"
                end: "rest.end"
                revComp: "rest.revComp"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/track-data
          name: track-data
          description: "Annotation track data retrieval."
          operations:
            - method: GET
              name: get-track-data
              description: "Retrieve annotation data from a specific track for a region."
              call: "ucsc-genome-browser.get-track-data"
              with:
                genome: "rest.genome"
                track: "rest.track"
                chrom: "rest.chrom"
                start: "rest.start"
                end: "rest.end"
                maxItemsOutput: "rest.maxItemsOutput"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/hubs
          name: hubs
          description: "Public track hubs."
          operations:
            - method: GET
              name: list-public-hubs
              description: "List all publicly available track hubs."
              call: "ucsc-genome-browser.list-public-hubs"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/search
          name: search
          description: "Genome Browser search."
          operations:
            - method: GET
              name: search-genome-browser
              description: "Search track data, names, and descriptions in the Genome Browser."
              call: "ucsc-genome-browser.search-genome-browser"
              with:
                search: "rest.search"
                genome: "rest.genome"
                categories: "rest.categories"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: ucsc-genomic-research-mcp
      transport: http
      description: "MCP server for AI-assisted genomic research using the UCSC Genome Browser."
      tools:
        - name: list-genome-assemblies
          description: "List all genome assemblies available in the UCSC Genome Browser."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.list-ucsc-genomes"
          outputParameters:
            - type: object
              mapping: "$."

        - name: search-genomes
          description: "Search for genome assemblies by organism name, accession, or keywords."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.find-genome"
          with:
            q: "tools.query"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-annotation-tracks
          description: "List all annotation tracks available for a specific genome assembly."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.list-tracks"
          with:
            genome: "tools.genome"
            trackLeavesOnly: "tools.trackLeavesOnly"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-chromosomes
          description: "Get chromosomes and their sizes for a genome assembly."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.list-chromosomes"
          with:
            genome: "tools.genome"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-dna-sequence
          description: "Retrieve DNA sequence from a genome for a specified chromosomal region."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.get-dna-sequence"
          with:
            genome: "tools.genome"
            chrom: "tools.chrom"
            start: "tools.start"
            end: "tools.end"
            revComp: "tools.revComp"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-track-annotations
          description: "Get annotation data from a specific track for a genomic region."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.get-track-data"
          with:
            genome: "tools.genome"
            track: "tools.track"
            chrom: "tools.chrom"
            start: "tools.start"
            end: "tools.end"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-public-track-hubs
          description: "List all publicly available UCSC track hubs."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.list-public-hubs"
          outputParameters:
            - type: object
              mapping: "$."

        - name: search-genome-browser
          description: "Search track data, names, and descriptions in the UCSC Genome Browser."
          hints:
            readOnly: true
            openWorld: true
          call: "ucsc-genome-browser.search-genome-browser"
          with:
            search: "tools.query"
            genome: "tools.genome"
            categories: "tools.categories"
          outputParameters:
            - type: object
              mapping: "$."