Send a QIDO-RS search request: GET {wado-base}/studies with query parameters such as PatientID, StudyDate, or ModalitiesInStudy to retrieve a list of matching studies as JSON (Accept: application/dicom+json).
Drill down to series: GET {wado-base}/studies/{studyInstanceUID}/series to list all series in a study.
Retrieve instance metadata: GET {wado-base}/studies/{studyInstanceUID}/series/{seriesInstanceUID}/instances.
Download pixel data via WADO-RS: GET {wado-base}/studies/{studyInstanceUID}/series/{seriesInstanceUID}/instances/{sopInstanceUID} with Accept: multipart/related; type='application/octet-stream' for raw DICOM, or 'image/jpeg' for rendered frames.
To retrieve a specific frame: append /frames/{frameNumber} to the instance URL in the WADO-RS request.
Authenticate per the server's requirements (often OAuth2 bearer token or mutual TLS); check the server's conformance statement for supported transfer syntaxes and media types.
Known gotchas
DICOMweb responses for pixel data are multipart/related; you must parse the MIME multipart boundaries correctly—most HTTP clients do not do this automatically.
Study and Series Instance UIDs are long, globally unique identifiers; handle them as opaque strings and do not truncate or reformat them.
Rendered image quality (JPEG, PNG) returned by WADO-RS may involve lossy compression; for diagnostic use, retrieve original transfer syntax DICOM data and render with a validated DICOM viewer.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp