Skill detail
imaging-data-commons
Specialized cancer-imaging dataset access for DS/ML.
Inspect before use
Automated review checks relevance, not safety or endorsement. Read the source instructions before using this skill.
SKILL.md
The saved excerpt is a snapshot from review. The external source remains the complete and most current version.
---
name: imaging-data-commons
description: Query and download public cancer imaging data from NCI Imaging Data Commons. Invoke for any question about IDC collections, cancer imaging datasets, DICOM data access, radiology (CT, MR, PET) or pathology AI training sets, metadata queries, visualization, or license checks — even when the user doesn't explicitly mention "IDC". No authentication required.
license: This skill is provided under the MIT License. IDC data itself has individual licensing (mostly CC-BY, some CC-NC) that must be respected when using the data.
metadata:
version: "1.5"
source-skill-version: 1.8.1
skill-author: Andrey Fedorov, @fedorov
idc-index: "0.12.5"
idc-data-version: "v24"
repository: https://github.com/ImagingDataCommons/imaging-data-commons-skill
---
# Imaging Data Commons
## Overview
Query and download public cancer imaging data from the National Cancer Institute Imaging Data Commons (IDC). No authentication required for data access.
**Expected network access:** IDC metadata is reachable three ways — a local DuckDB index shipped with the `idc-index` Python package (no network), or the hosted IDC service over MCP or REST (`api.imaging.datacommons.cancer.gov`, no authentication). File downloads use public GCS (`storage.googleapis.com`) and AWS S3 (`s3.amazonaws.com`) — no authentication required. DICOMweb access uses either the public IDC proxy (`proxy.imaging.datacommons.cancer.gov`, no auth) or the Google Cloud Healthcare API (`healthcare.googleapis.com`, requires GCP authentication). Optional BigQuery queries (`bigquery.googleapis.com`) also require GCP authentication. No credentials or environment variables are accessed by this skill.
**Current IDC Data Version: v24** (always verify — see *Best Practices*)
**Choose the access path first.** There is no single default: the cheapest correct path depends
on the session and the task.
1. **Session already has the IDC MCP server?** Route discovery and metadata there — see *IDC
MCP Server*.
2. **Otherwise, is `idc-index` installed?** Run `python scripts/check_version.py`. If it passes,
use `idc-index` for everything.
3. **Not installed, and the task is read-only metadata** — counts, attribute values, collection
lookups, SQL under 10 000 rows, licenses, citations, viewer URLs? **Use the REST API over
`curl`; do not install anything.** Installing costs ~77 MB of packaged index data plus
pandas, pyarrow, and duckdb, which a metadata question does not need. See *Data Access
Options*.
4. **Not installed, and the task needs more than metadata** — downloading files, pandas or
plotting, pydicom/SimpleITK, pathology tiling, results past 10 000 rows, or a version-pinned
script the user re-runs? Install `idc-index`: `check_version.py` exits non-zero and prints
the exact install command for the running interpreter. Prefer a virtual environment, then
restart Python.
`idc-index` ([GitHub](https://github.com/imagingdatacommons/idc-index)) is still the most
capable path and the only one that moves image bytes; the rule is just not to pay for it before
the task calls for it. `check_version.py` never installs anything itself — it also flags a newer
`idc-index` or skill release when one exists.
**Setup for the `idc-index` path:**
```python
from idc_index import IDCClient
client = IDCClient()
# Verify IDC data version (should be "v24")
print(f"IDC data version: {client.get_idc_version()}")
```
**Core workflow:** query metadata with `client.sql_query()` → download with
`client.download_from_selection()` → visualize with `client.get_viewer_URL()`. Python examples
below assume this `client`; *Data Access Options* has the REST equivalents. For current data
scale, run the summary query in `references/sql_patterns.md` or `GET /v3/stats`.
## IDC MCP Server
IDC operates a hosted MCP server at `https://api.imaging.datacommons.cancer.gov/mcp`
(streamable HTTP, no authentication). Where it is available it complements — it does not
reRead the full source on GitHub (opens external page)