Oura MCP by usefulapi
io.usefulapi/oura · v1.11.1
Read sleep, readiness, activity, stress, heart rate and workouts from the Oura Ring.
MCPremoteno credentialsDocuments & PDF
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 10 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
B 88/100
What it does: 10 tools · 7 read, 3 write (incl. delete/pay) · Documents & PDF
Test call oura_get_personal_info: needs a key: HTTP 401 (995 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +8
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://oura.usefulapi.io/mcpTools
10 tools listed at last check
oura_get_personal_infoFetch the wearer's profile — age, weight, height, biological sex and email. Oura: GET /v2/usercollection/personal_info.oura_list_documentsList documents from one Oura collection over a date range. This is the main read: pick `collection` for what you want — daily_sleep and sleep for sleep, daily_readiness for recovery, daily_activity for movement, daily_stress and daily_resilience for load, workout and session for exercise, daily_spo2oura_get_documentFetch a single document by id from one collection. Ids come from oura_list_documents. Oura: GET /v2/usercollection/{collection}/{document_id}.oura_get_heartrateFetch individual heart-rate samples over a DATETIME range. This collection is sampled continuously, so it uses start_datetime/end_datetime rather than dates, and can return a great many points — narrow the window or pass latest. Oura: GET /v2/usercollection/heartrate.oura_get_ring_battery_levelFetch ring battery readings over a DATETIME range, or just the latest. Oura: GET /v2/usercollection/ring_battery_level.oura_list_webhook_subscriptionsList the webhook subscriptions registered for the application. Oura: GET /v2/webhook/subscription.oura_get_webhook_subscriptionFetch a single webhook subscription with its callback URL, event type and expiry. Oura: GET /v2/webhook/subscription/{id}.oura_create_webhook_subscriptionRegister a webhook so Oura notifies your callback URL when data changes. Oura verifies the URL before activating it, and the subscription EXPIRES — renew it with oura_renew_webhook_subscription. Oura: POST /v2/webhook/subscription.oura_renew_webhook_subscriptionExtend a webhook subscription's expiry. Oura subscriptions lapse if not renewed, so this is the tool that keeps a live integration alive. Oura: PUT /v2/webhook/subscription/renew/{id}.oura_delete_webhook_subscriptionRemove a webhook subscription. Notifications stop immediately. Oura: DELETE /v2/webhook/subscription/{id}.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/io.usefulapi/oura)