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: $.