ouraring-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OURARING_CLIENT_ID | Yes | Oura OAuth2 client ID. | |
| OURARING_CLIENT_SECRET | Yes | Oura OAuth2 client secret. | |
| OURARING_REFRESH_TOKEN | Yes | Long-lived Oura OAuth2 refresh token. Used by the server to auto-refresh access tokens when client credentials are present. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| oura_statusA | Check whether Oura credentials are configured (no network call). |
| list_collectionsA | List every Oura collection this server can read, with the OAuth scope each needs. |
| get_personal_infoA | Your Oura profile (age, weight, height, email). Scopes: personal, email. |
| get_dailyB | Daily summaries for sleep, readiness, activity, stress, spo2, resilience or cardiovascular_age. Best for questions like 'how did I sleep this week?'. |
| get_collectionA | Read any Oura v2 collection: sleep sessions, workouts, guided sessions, tags, heartrate samples, sleep_time, rest_mode_period, ring_configuration, vo2_max, or daily_* summaries. One document via document_id, or a date range. |
| get_recent_summaryA | One-call overview of the last N days (sleep + readiness + activity + stress + spo2 daily summaries) for natural-language summaries like 'how was my week?'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 6 tools
Each tool has a reasonably distinct intent, and descriptions proactively guide selection (get_daily 'best for how did I sleep this week', get_recent_summary for a one-call week overview). The only real overlap is that get_collection's daily_* option and get_daily both surface daily summaries, plus get_recent_summary is effectively a composite of those, but the convenience layering is explained well enough to choose correctly.
The surface follows a clear verb_noun pattern (list_collections, get_personal_info, get_daily, get_recent_summary, get_collection). oura_status is a minor deviation in style (server-prefixed noun_status), but it is still readable and unambiguous.
Six tools is well-scoped: a status check, a discovery helper, a profile reader, three tiers of data reads (single-day, multi-day summary, generic collection). The generic get_collection tool absorbs breadth so no per-resource tool sprawl is needed.
Read coverage is broad and essentially complete via get_collection (sleep, workouts, tags, heartrate, ring config, vo2_max, daily_*), plus profile and credentials status. The gap is that the surface is strictly read-only — no create/update operations for tags, workouts, or personal info — which limits write-oriented workflows.