National Cancer Institute · Capability
NCI Genomic Data Commons (GDC) API
The GDC API provides programmatic access to cancer genomic and clinical data hosted by the National Cancer Institute Genomic Data Commons. The API supports search and retrieval of projects, cases, files, and annotations, along with file download, BAM slicing, and data submission workflows.
What You Can Do
GET
Getstatus
— Get API status
/status
GET
Searchprojects
— Search projects
/projects
GET
Getproject
— Get project by ID
/projects/{project_id}
GET
Searchcases
— Search cases
/cases
GET
Getcase
— Get case by ID
/cases/{case_id}
GET
Searchfiles
— Search files
/files
GET
Getfile
— Get file metadata by ID
/files/{file_id}
GET
Searchannotations
— Search annotations
/annotations
GET
Downloadfile
— Download a file
/data/{file_id}
GET
Getmanifest
— Generate manifest
/manifest
GET
Slicebam
— BAM slicing
/slicing/view/{file_id}
GET
Getsubmissionproject
— Get submission program/project resources
/submission/{program}/{project}
MCP Tools
getstatus
Get API status
read-only
idempotent
searchprojects
Search projects
read-only
idempotent
getproject
Get project by ID
read-only
idempotent
searchcases
Search cases
read-only
idempotent
getcase
Get case by ID
read-only
idempotent
searchfiles
Search files
read-only
idempotent
getfile
Get file metadata by ID
read-only
idempotent
searchannotations
Search annotations
read-only
idempotent
downloadfile
Download a file
read-only
idempotent
getmanifest
Generate manifest
read-only
idempotent
slicebam
BAM slicing
read-only
idempotent
getsubmissionproject
Get submission program/project resources
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: NCI Genomic Data Commons (GDC) API
description: The GDC API provides programmatic access to cancer genomic and clinical data hosted by the National Cancer
Institute Genomic Data Commons. The API supports search and retrieval of projects, cases, files, and annotations, along
with file download, BAM slicing, and data submission workflows.
tags:
- National
- Cancer
- Institute
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: national-cancer-institute
baseUri: https://api.gdc.cancer.gov
description: NCI Genomic Data Commons (GDC) API HTTP API.
authentication:
type: apikey
in: header
name: X-Auth-Token
value: '{{NATIONAL_CANCER_INSTITUTE_TOKEN}}'
resources:
- name: status
path: /status
operations:
- name: getstatus
method: GET
description: Get API status
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects
path: /projects
operations:
- name: searchprojects
method: GET
description: Search projects
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: size
in: query
type: integer
- name: from
in: query
type: integer
- name: sort
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: projects-project-id
path: /projects/{project_id}
operations:
- name: getproject
method: GET
description: Get project by ID
inputParameters:
- name: project_id
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cases
path: /cases
operations:
- name: searchcases
method: GET
description: Search cases
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: size
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cases-case-id
path: /cases/{case_id}
operations:
- name: getcase
method: GET
description: Get case by ID
inputParameters:
- name: case_id
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: files
path: /files
operations:
- name: searchfiles
method: GET
description: Search files
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: size
in: query
type: integer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: files-file-id
path: /files/{file_id}
operations:
- name: getfile
method: GET
description: Get file metadata by ID
inputParameters:
- name: file_id
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: annotations
path: /annotations
operations:
- name: searchannotations
method: GET
description: Search annotations
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: data-file-id
path: /data/{file_id}
operations:
- name: downloadfile
method: GET
description: Download a file
inputParameters:
- name: file_id
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: manifest
path: /manifest
operations:
- name: getmanifest
method: GET
description: Generate manifest
inputParameters:
- name: filters
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: slicing-view-file-id
path: /slicing/view/{file_id}
operations:
- name: slicebam
method: GET
description: BAM slicing
inputParameters:
- name: file_id
in: path
type: string
required: true
- name: region
in: query
type: string
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: submission-program-project
path: /submission/{program}/{project}
operations:
- name: getsubmissionproject
method: GET
description: Get submission program/project resources
inputParameters:
- name: program
in: path
type: string
required: true
- name: project
in: path
type: string
required: true
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
port: 8080
namespace: national-cancer-institute-rest
description: REST adapter for NCI Genomic Data Commons (GDC) API.
resources:
- path: /status
name: getstatus
operations:
- method: GET
name: getstatus
description: Get API status
call: national-cancer-institute.getstatus
outputParameters:
- type: object
mapping: $.
- path: /projects
name: searchprojects
operations:
- method: GET
name: searchprojects
description: Search projects
call: national-cancer-institute.searchprojects
outputParameters:
- type: object
mapping: $.
- path: /projects/{project_id}
name: getproject
operations:
- method: GET
name: getproject
description: Get project by ID
call: national-cancer-institute.getproject
with:
project_id: rest.project_id
outputParameters:
- type: object
mapping: $.
- path: /cases
name: searchcases
operations:
- method: GET
name: searchcases
description: Search cases
call: national-cancer-institute.searchcases
outputParameters:
- type: object
mapping: $.
- path: /cases/{case_id}
name: getcase
operations:
- method: GET
name: getcase
description: Get case by ID
call: national-cancer-institute.getcase
with:
case_id: rest.case_id
outputParameters:
- type: object
mapping: $.
- path: /files
name: searchfiles
operations:
- method: GET
name: searchfiles
description: Search files
call: national-cancer-institute.searchfiles
outputParameters:
- type: object
mapping: $.
- path: /files/{file_id}
name: getfile
operations:
- method: GET
name: getfile
description: Get file metadata by ID
call: national-cancer-institute.getfile
with:
file_id: rest.file_id
outputParameters:
- type: object
mapping: $.
- path: /annotations
name: searchannotations
operations:
- method: GET
name: searchannotations
description: Search annotations
call: national-cancer-institute.searchannotations
outputParameters:
- type: object
mapping: $.
- path: /data/{file_id}
name: downloadfile
operations:
- method: GET
name: downloadfile
description: Download a file
call: national-cancer-institute.downloadfile
with:
file_id: rest.file_id
outputParameters:
- type: object
mapping: $.
- path: /manifest
name: getmanifest
operations:
- method: GET
name: getmanifest
description: Generate manifest
call: national-cancer-institute.getmanifest
outputParameters:
- type: object
mapping: $.
- path: /slicing/view/{file_id}
name: slicebam
operations:
- method: GET
name: slicebam
description: BAM slicing
call: national-cancer-institute.slicebam
with:
file_id: rest.file_id
outputParameters:
- type: object
mapping: $.
- path: /submission/{program}/{project}
name: getsubmissionproject
operations:
- method: GET
name: getsubmissionproject
description: Get submission program/project resources
call: national-cancer-institute.getsubmissionproject
with:
program: rest.program
project: rest.project
outputParameters:
- type: object
mapping: $.
- type: mcp
port: 9090
namespace: national-cancer-institute-mcp
transport: http
description: MCP adapter for NCI Genomic Data Commons (GDC) API for AI agent use.
tools:
- name: getstatus
description: Get API status
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getstatus
outputParameters:
- type: object
mapping: $.
- name: searchprojects
description: Search projects
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.searchprojects
with:
filters: tools.filters
fields: tools.fields
size: tools.size
from: tools.from
sort: tools.sort
inputParameters:
- name: filters
type: string
description: filters
- name: fields
type: string
description: fields
- name: size
type: integer
description: size
- name: from
type: integer
description: from
- name: sort
type: string
description: sort
outputParameters:
- type: object
mapping: $.
- name: getproject
description: Get project by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getproject
with:
project_id: tools.project_id
inputParameters:
- name: project_id
type: string
description: project_id
required: true
outputParameters:
- type: object
mapping: $.
- name: searchcases
description: Search cases
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.searchcases
with:
filters: tools.filters
fields: tools.fields
size: tools.size
inputParameters:
- name: filters
type: string
description: filters
- name: fields
type: string
description: fields
- name: size
type: integer
description: size
outputParameters:
- type: object
mapping: $.
- name: getcase
description: Get case by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getcase
with:
case_id: tools.case_id
inputParameters:
- name: case_id
type: string
description: case_id
required: true
outputParameters:
- type: object
mapping: $.
- name: searchfiles
description: Search files
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.searchfiles
with:
filters: tools.filters
fields: tools.fields
size: tools.size
inputParameters:
- name: filters
type: string
description: filters
- name: fields
type: string
description: fields
- name: size
type: integer
description: size
outputParameters:
- type: object
mapping: $.
- name: getfile
description: Get file metadata by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getfile
with:
file_id: tools.file_id
inputParameters:
- name: file_id
type: string
description: file_id
required: true
outputParameters:
- type: object
mapping: $.
- name: searchannotations
description: Search annotations
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.searchannotations
with:
filters: tools.filters
fields: tools.fields
inputParameters:
- name: filters
type: string
description: filters
- name: fields
type: string
description: fields
outputParameters:
- type: object
mapping: $.
- name: downloadfile
description: Download a file
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.downloadfile
with:
file_id: tools.file_id
inputParameters:
- name: file_id
type: string
description: file_id
required: true
outputParameters:
- type: object
mapping: $.
- name: getmanifest
description: Generate manifest
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getmanifest
with:
filters: tools.filters
inputParameters:
- name: filters
type: string
description: filters
outputParameters:
- type: object
mapping: $.
- name: slicebam
description: BAM slicing
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.slicebam
with:
file_id: tools.file_id
region: tools.region
inputParameters:
- name: file_id
type: string
description: file_id
required: true
- name: region
type: string
description: region
outputParameters:
- type: object
mapping: $.
- name: getsubmissionproject
description: Get submission program/project resources
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute.getsubmissionproject
with:
program: tools.program
project: tools.project
inputParameters:
- name: program
type: string
description: program
required: true
- name: project
type: string
description: project
required: true
outputParameters:
- type: object
mapping: $.
binds:
- namespace: env
keys:
NATIONAL_CANCER_INSTITUTE_TOKEN: NATIONAL_CANCER_INSTITUTE_TOKEN