National Cancer Institute · Capability
NCI Genomic Data Commons (GDC) API — Search
NCI Genomic Data Commons (GDC) API — Search. 7 operations. Lead operation: Search annotations. Self-contained Naftiko capability covering one National Cancer Institute business surface.
What You Can Do
GET
Searchannotations
— Search annotations
/v1/annotations
GET
Searchcases
— Search cases
/v1/cases
GET
Getcase
— Get case by ID
/v1/cases/{case-id}
GET
Searchfiles
— Search files
/v1/files
GET
Getfile
— Get file metadata by ID
/v1/files/{file-id}
GET
Searchprojects
— Search projects
/v1/projects
GET
Getproject
— Get project by ID
/v1/projects/{project-id}
MCP Tools
search-annotations
Search annotations
read-only
idempotent
search-cases
Search cases
read-only
idempotent
get-case-id
Get case by ID
read-only
idempotent
search-files
Search files
read-only
idempotent
get-file-metadata-id
Get file metadata by ID
read-only
idempotent
search-projects
Search projects
read-only
idempotent
get-project-id
Get project by ID
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: NCI Genomic Data Commons (GDC) API — Search
description: 'NCI Genomic Data Commons (GDC) API — Search. 7 operations. Lead operation: Search annotations. Self-contained
Naftiko capability covering one National Cancer Institute business surface.'
tags:
- National Cancer Institute
- Search
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
NATIONAL_CANCER_INSTITUTE_API_KEY: NATIONAL_CANCER_INSTITUTE_API_KEY
capability:
consumes:
- type: http
namespace: national-cancer-institute-search
baseUri: https://api.gdc.cancer.gov
description: NCI Genomic Data Commons (GDC) API — Search business capability. Self-contained, no shared references.
resources:
- name: annotations
path: /annotations
operations:
- name: searchannotations
method: GET
description: Search annotations
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: cases
path: /cases
operations:
- name: searchcases
method: GET
description: Search cases
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: size
in: query
type: integer
- name: cases-case_id
path: /cases/{case_id}
operations:
- name: getcase
method: GET
description: Get case by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: case_id
in: path
type: string
required: true
- name: files
path: /files
operations:
- name: searchfiles
method: GET
description: Search files
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: filters
in: query
type: string
- name: fields
in: query
type: string
- name: size
in: query
type: integer
- name: files-file_id
path: /files/{file_id}
operations:
- name: getfile
method: GET
description: Get file metadata by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: file_id
in: path
type: string
required: true
- name: projects
path: /projects
operations:
- name: searchprojects
method: GET
description: Search projects
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
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
- name: projects-project_id
path: /projects/{project_id}
operations:
- name: getproject
method: GET
description: Get project by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project_id
in: path
type: string
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.NATIONAL_CANCER_INSTITUTE_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: national-cancer-institute-search-rest
port: 8080
description: REST adapter for NCI Genomic Data Commons (GDC) API — Search. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/annotations
name: annotations
description: REST surface for annotations.
operations:
- method: GET
name: searchannotations
description: Search annotations
call: national-cancer-institute-search.searchannotations
with:
filters: rest.filters
fields: rest.fields
outputParameters:
- type: object
mapping: $.
- path: /v1/cases
name: cases
description: REST surface for cases.
operations:
- method: GET
name: searchcases
description: Search cases
call: national-cancer-institute-search.searchcases
with:
filters: rest.filters
fields: rest.fields
size: rest.size
outputParameters:
- type: object
mapping: $.
- path: /v1/cases/{case-id}
name: cases-case-id
description: REST surface for cases-case_id.
operations:
- method: GET
name: getcase
description: Get case by ID
call: national-cancer-institute-search.getcase
with:
case_id: rest.case_id
outputParameters:
- type: object
mapping: $.
- path: /v1/files
name: files
description: REST surface for files.
operations:
- method: GET
name: searchfiles
description: Search files
call: national-cancer-institute-search.searchfiles
with:
filters: rest.filters
fields: rest.fields
size: rest.size
outputParameters:
- type: object
mapping: $.
- path: /v1/files/{file-id}
name: files-file-id
description: REST surface for files-file_id.
operations:
- method: GET
name: getfile
description: Get file metadata by ID
call: national-cancer-institute-search.getfile
with:
file_id: rest.file_id
outputParameters:
- type: object
mapping: $.
- path: /v1/projects
name: projects
description: REST surface for projects.
operations:
- method: GET
name: searchprojects
description: Search projects
call: national-cancer-institute-search.searchprojects
with:
filters: rest.filters
fields: rest.fields
size: rest.size
from: rest.from
sort: rest.sort
outputParameters:
- type: object
mapping: $.
- path: /v1/projects/{project-id}
name: projects-project-id
description: REST surface for projects-project_id.
operations:
- method: GET
name: getproject
description: Get project by ID
call: national-cancer-institute-search.getproject
with:
project_id: rest.project_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: national-cancer-institute-search-mcp
port: 9090
transport: http
description: MCP adapter for NCI Genomic Data Commons (GDC) API — Search. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: search-annotations
description: Search annotations
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.searchannotations
with:
filters: tools.filters
fields: tools.fields
outputParameters:
- type: object
mapping: $.
- name: search-cases
description: Search cases
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.searchcases
with:
filters: tools.filters
fields: tools.fields
size: tools.size
outputParameters:
- type: object
mapping: $.
- name: get-case-id
description: Get case by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.getcase
with:
case_id: tools.case_id
outputParameters:
- type: object
mapping: $.
- name: search-files
description: Search files
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.searchfiles
with:
filters: tools.filters
fields: tools.fields
size: tools.size
outputParameters:
- type: object
mapping: $.
- name: get-file-metadata-id
description: Get file metadata by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.getfile
with:
file_id: tools.file_id
outputParameters:
- type: object
mapping: $.
- name: search-projects
description: Search projects
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.searchprojects
with:
filters: tools.filters
fields: tools.fields
size: tools.size
from: tools.from
sort: tools.sort
outputParameters:
- type: object
mapping: $.
- name: get-project-id
description: Get project by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: national-cancer-institute-search.getproject
with:
project_id: tools.project_id
outputParameters:
- type: object
mapping: $.