io.usefulapi/oura

Oura MCP by usefulapi

Read sleep, readiness, activity, stress, heart rate and workouts from the Oura Ring.

1.11.1
Version
remote
Transport
10
Tools

Security review

Review passed

Reviewed 1d ago.

  • tools: 10 tools scanned
  • metadata: scanned

No findings.

Tools (10)

  • oura_get_personal_info

    Fetch the wearer's profile — age, weight, height, biological sex and email. Oura: GET /v2/usercollection/personal_info.

  • oura_list_documents

    List 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_spo2, daily_cardiovascular_age and vO2_max for cardiovascular measures, tag and enhanced_tag for the wearer's own annotations, rest_mode_period and ring_configuration for device state. Oura: GET /v2/usercollection/{collection}.

  • oura_get_document

    Fetch a single document by id from one collection. Ids come from oura_list_documents. Oura: GET /v2/usercollection/{collection}/{document_id}.

  • oura_get_heartrate

    Fetch 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_level

    Fetch ring battery readings over a DATETIME range, or just the latest. Oura: GET /v2/usercollection/ring_battery_level.

  • oura_list_webhook_subscriptions

    List the webhook subscriptions registered for the application. Oura: GET /v2/webhook/subscription.

  • oura_get_webhook_subscription

    Fetch a single webhook subscription with its callback URL, event type and expiry. Oura: GET /v2/webhook/subscription/{id}.

  • oura_create_webhook_subscription

    Register 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_subscription

    Extend 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_subscription

    Remove a webhook subscription. Notifications stop immediately. Oura: DELETE /v2/webhook/subscription/{id}.