Keyless wrapper over the open NCI GDC REST API. Browse cancer-genomics projects (TCGA/TARGET/etc), look up a project's case/file counts, search cases by primary site or project, and search genomic files by data category. Open-access metadata only.
Four well-named, read-only tools with clear descriptions (avg 180 chars, within baseline 194). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are NOT documented, LLMs cannot predict response structure for downstream chaining. Parameter descriptions lack format constraints (e.g., 'size' should specify 'integer, 1 - 100'). No enum constraints on categorical params like 'data_category'. Error handling is minimal, no recovery guidance or actionable error messages. Missing idempotency hints and permission declarations. Naming follows verb_noun pattern well (list_, get_, search_). Composition is sound, each tool has one responsibility.
Look up a single NCI GDC project by project_id (e.g. "TCGA-BRCA") and get its details plus summary counts (case_count, file_count). Keyless, open-access metadata.
List NCI Genomic Data Commons cancer-genomics projects (TCGA, TARGET, CPTAC, etc.), ranked by case count. Returns project_id, name, program, primary site(s) and disease type(s). Keyless, open-access metadata.
Search NCI GDC cancer cases (patients/samples) by primary site and/or project. Returns case_id, submitter_id, primary site, disease type and project_id. Keyless, open-access metadata.
Search NCI GDC genomic data files by project and/or data category (e.g. "Transcriptome Profiling", "Simple Nucleotide Variation", "DNA Methylation"). Returns file_id, file_name, data category/type/format, access level and file size. Keyless, open-access metadata.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream tool chaining or data extraction. Responses include pagination metadata and nested objects (e.g., program.name) that should be flattened or explicitly documented.
Numeric parameters lack format constraints. 'size' and 'from' accept any number but should specify 'integer, 1 - 100' and 'integer, ≥0' respectively. LLMs may pass floats, negatives, or absurd values.
Categorical parameters lack enum constraints. 'data_category' (e.g., 'Transcriptome Profiling', 'Simple Nucleotide Variation') should be an enum, not free-form string. LLMs will hallucinate invalid categories.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Error handling provides no recovery guidance. When project_id is invalid or missing, responses return bare error strings. Should include 'Try search_cases() or list_projects() to find valid IDs' or suggest available alternatives.
No tool annotations (readOnlyHint, idempotentHint). All four tools are read-only and idempotent, but this is not declared. Agents cannot infer safety properties without explicit hints.