Authenticate using HTTP Basic authentication with Rave credentials in every request to the RWS base URL https://{subdomain}.mdsol.com/RaveWebServices/
Retrieve the list of available studies via GET /RaveWebServices/studies to enumerate project names and environments (Prod, Dev, etc.) before pulling data
Export clinical data in ODM-XML format via GET /RaveWebServices/studies/{ProjectName}({Environment})/datasets/regular where regular returns cleaned data; use raw for unreviewed data
To scope export to a specific form, append the form OID: /datasets/regular/{FormOID}; add query parameters such as dataset=regular&start={ISO8601datetime} to enable incremental pulls
Parse the ODM-XML response: the ClinicalData element contains SubjectData > StudyEventData > FormData > ItemGroupData > ItemData with the ItemOID attribute identifying each field
Download audit trail records via /RaveWebServices/studies/{Project}({Env})/datasets/audits for 21 CFR Part 11 compliance evidence, returned as an ODM AuditRecord extension
Known gotchas
The RWS URL pattern uses parentheses around the environment name — {Project}(Prod) — not a slash; incorrect formatting returns a 404 with no useful error body
RWS returns HTTP 401 for both bad credentials and for requests to studies the account lacks access to; there is no distinction between authentication failure and authorization failure
Large datasets with many subjects may time out on a single request; scope requests by date window using the start parameter or by form OID to retrieve manageable payloads
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