ucsc_tracks

Pack: ucsc-genome · Endpoint: https://gateway.pipeworx.io/ucsc-genome/mcp

No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/ucsc_tracks for the schema, then POST the same URL with its arguments for the data.

“What annotation tracks does UCSC have for hg38” / “does [assembly] have a [ClinVar/GENCODE/conservation/repeat] track” / “what is the track name for [dataset] in the genome browser” — lists the annotation tracks available on one UCSC assembly, with each track’s internal name, short and long label, data type and parent container. AUTHORITATIVE for the track argument of ucsc_track_data: the browser shows human-readable labels, the API wants the internal name (e.g. label “GENCODE V50” is track knownGene), and there is no way to guess one from the other.

Parameters

NameTypeRequiredDescription
genomestringyes
searchstringnoCase-insensitive substring filter over track name, short label and long label. e.g. “clinvar”, “gencode”, “conservation”.
limitnumbernoMax tracks to return (default 100, max 1000).

Example call

Arguments

{
  "genome": "hg38",
  "search": "gencode",
  "limit": 5
}

curl

curl -X POST https://gateway.pipeworx.io/ucsc-genome/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ucsc_tracks","arguments":{"genome":"hg38","search":"gencode","limit":5}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('ucsc_tracks', {
  "genome": "hg38",
  "search": "gencode",
  "limit": 5
});

More examples

{
  "genome": "hg19",
  "search": "clinvar",
  "limit": 10
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "ucsc-genome": {
      "url": "https://gateway.pipeworx.io/ucsc-genome/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build September 18, 2026