UCSC Genomic Data · Capability

UCSC Genome Browser REST API — Tracks

UCSC Genome Browser REST API — Tracks. 3 operations. Lead operation: Get Track Data. Self-contained Naftiko capability covering one Ucsc Genomic Data business surface.

Run with Naftiko Ucsc Genomic DataTracks

What You Can Do

GET
Gettrackdata — Get Track Data
/v1/getdata/track
GET
Gettrackschema — Get Track Schema
/v1/list/schema
GET
Listtracks — List Tracks
/v1/list/tracks

MCP Tools

get-track-data

Get Track Data

read-only idempotent
get-track-schema

Get Track Schema

read-only idempotent
list-tracks

List Tracks

read-only idempotent

Capability Spec

ucsc-genomic-data-tracks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: UCSC Genome Browser REST API — Tracks
  description: 'UCSC Genome Browser REST API — Tracks. 3 operations. Lead operation: Get Track Data. Self-contained Naftiko
    capability covering one Ucsc Genomic Data business surface.'
  tags:
  - Ucsc Genomic Data
  - Tracks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UCSC_GENOMIC_DATA_API_KEY: UCSC_GENOMIC_DATA_API_KEY
capability:
  consumes:
  - type: http
    namespace: ucsc-genomic-data-tracks
    baseUri: https://api.genome.ucsc.edu
    description: UCSC Genome Browser REST API — Tracks business capability. Self-contained, no shared references.
    resources:
    - name: getData-track
      path: /getData/track
      operations:
      - name: gettrackdata
        method: GET
        description: Get Track Data
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: genome
          in: query
          type: string
          description: Genome assembly identifier (e.g., hg38, mm39).
          required: true
        - name: track
          in: query
          type: string
          description: Track name to retrieve data from.
          required: true
        - name: chrom
          in: query
          type: string
          description: Chromosome to retrieve data for.
        - name: start
          in: query
          type: integer
          description: Start position (0-based).
        - name: end
          in: query
          type: integer
          description: End position (1-based).
        - name: hubUrl
          in: query
          type: string
          description: URL of the hub.txt file for a track hub.
        - name: maxItemsOutput
          in: query
          type: integer
          description: Maximum number of annotation items to return.
        - name: jsonOutputArrays
          in: query
          type: integer
          description: Set to 1 to format output as JSON arrays instead of objects.
    - name: list-schema
      path: /list/schema
      operations:
      - name: gettrackschema
        method: GET
        description: Get Track Schema
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: genome
          in: query
          type: string
          description: Genome assembly identifier (e.g., hg38, mm39).
          required: true
        - name: track
          in: query
          type: string
          description: Track name to return schema for.
          required: true
        - name: hubUrl
          in: query
          type: string
          description: URL of the hub.txt file for a track hub.
    - name: list-tracks
      path: /list/tracks
      operations:
      - name: listtracks
        method: GET
        description: List Tracks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: genome
          in: query
          type: string
          description: Genome assembly identifier (e.g., hg38, mm39). Required unless hubUrl is provided.
          required: true
        - name: hubUrl
          in: query
          type: string
          description: URL of the hub.txt file for a track hub.
        - name: trackLeavesOnly
          in: query
          type: integer
          description: Set to 1 to return only leaf tracks (hide composite containers).
  exposes:
  - type: rest
    namespace: ucsc-genomic-data-tracks-rest
    port: 8080
    description: REST adapter for UCSC Genome Browser REST API — Tracks. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/getdata/track
      name: getdata-track
      description: REST surface for getData-track.
      operations:
      - method: GET
        name: gettrackdata
        description: Get Track Data
        call: ucsc-genomic-data-tracks.gettrackdata
        with:
          genome: rest.genome
          track: rest.track
          chrom: rest.chrom
          start: rest.start
          end: rest.end
          hubUrl: rest.hubUrl
          maxItemsOutput: rest.maxItemsOutput
          jsonOutputArrays: rest.jsonOutputArrays
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/list/schema
      name: list-schema
      description: REST surface for list-schema.
      operations:
      - method: GET
        name: gettrackschema
        description: Get Track Schema
        call: ucsc-genomic-data-tracks.gettrackschema
        with:
          genome: rest.genome
          track: rest.track
          hubUrl: rest.hubUrl
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/list/tracks
      name: list-tracks
      description: REST surface for list-tracks.
      operations:
      - method: GET
        name: listtracks
        description: List Tracks
        call: ucsc-genomic-data-tracks.listtracks
        with:
          genome: rest.genome
          hubUrl: rest.hubUrl
          trackLeavesOnly: rest.trackLeavesOnly
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: ucsc-genomic-data-tracks-mcp
    port: 9090
    transport: http
    description: MCP adapter for UCSC Genome Browser REST API — Tracks. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-track-data
      description: Get Track Data
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ucsc-genomic-data-tracks.gettrackdata
      with:
        genome: tools.genome
        track: tools.track
        chrom: tools.chrom
        start: tools.start
        end: tools.end
        hubUrl: tools.hubUrl
        maxItemsOutput: tools.maxItemsOutput
        jsonOutputArrays: tools.jsonOutputArrays
      outputParameters:
      - type: object
        mapping: $.
    - name: get-track-schema
      description: Get Track Schema
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ucsc-genomic-data-tracks.gettrackschema
      with:
        genome: tools.genome
        track: tools.track
        hubUrl: tools.hubUrl
      outputParameters:
      - type: object
        mapping: $.
    - name: list-tracks
      description: List Tracks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: ucsc-genomic-data-tracks.listtracks
      with:
        genome: tools.genome
        hubUrl: tools.hubUrl
        trackLeavesOnly: tools.trackLeavesOnly
      outputParameters:
      - type: object
        mapping: $.