Identify the number of frames in a multi-frame instance by retrieving study metadata via WADO-RS GET .../studies/{studyUID}/metadata and inspecting the NumberOfFrames attribute
Request multiple frames in a single WADO-RS call by specifying a comma-separated frame list in the URL: GET .../instances/{instanceUID}/frames/1,2,3,4,5 to reduce round-trip overhead compared to per-frame requests
For servers that support bulk data URI retrieval, use the BulkDataURI from the metadata response to fetch all pixel data for the instance in one request instead of iterating frame numbers
Enable HTTP connection keep-alive and HTTP/2 multiplexing on both client and server to allow multiple frame requests to share a single TCP connection and reduce TLS handshake overhead
Cache decoded frames in a client-side LRU cache keyed by SOP Instance UID and frame number to avoid re-fetching already rendered frames during pan and zoom interactions
Known gotchas
Some DICOMweb servers cap the maximum number of frames in a single WADO-RS request; check the server's conformance statement for frame list size limits and split large requests accordingly
Multipart MIME parsing of the WADO-RS frame response requires the client to correctly split on the boundary string in the Content-Type header; parsing errors here silently corrupt pixel data and are difficult to distinguish from server-side encoding errors
Frame numbers in WADO-RS are 1-indexed, not 0-indexed; passing frame=0 either returns an error or retrieves an unintended frame depending on server implementation
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