Skip to main content
Glama
royreznik

Oura Ring MCP Server

List rest mode periods

list_rest_mode_periods
Read-onlyIdempotent

List Rest Mode periods with start/end dates and symptom tags to explain dips in readiness or activity or check if the user was unwell on specific days.

Instructions

List Rest Mode periods, which the user turns on when sick, injured or recovering, with start and end day (an ongoing period has no end) and the symptom tags logged during each. Use it to explain dips in readiness or activity, or to check whether the user was unwell on given days. Covers the last 90 days by default; set start and end (inclusive, YYYY-MM-DD) or days. A period that overlaps the range is included. Returns { records, next_token }; raw: true returns Oura's original objects.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNoLast day to include (YYYY-MM-DD). Defaults to today.
rawNoReturn Oura's raw API objects instead of compact summaries with friendly units.
daysNoThe last N days up to end. Ignored when start is set.
startNoFirst day to include (YYYY-MM-DD).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive, and the description still adds non-obvious behavior: a 90-day default window, inclusive start/end semantics, the rule that any period overlapping the range is included, and the return shape ({ records, next_token }) plus what raw:true does. That is real added behavioral context rather than restating the safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with no filler; the entity definition, usage rationale, range rules and return contract each earn their place. Front-loaded well, though the middle sentence packs a lot into one clause chain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description still conveys the return shape, pagination token, default window and range-inclusion rule, and gives concrete diagnostic use cases. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds range semantics the schema does not state: start/end are inclusive and overlapping periods are still returned. That extra meaning justifies a notch above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific verb+resource and defines the domain entity in-line ('periods the user turns on when sick, injured or recovering'), including the shape of a period (start/end day, ongoing = no end, symptom tags). This clearly separates it from siblings like list_tags or list_daily_readiness.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete when-to-use cases: 'explain dips in readiness or activity' and 'check whether the user was unwell on given days', plus the default 90-day window and how to override it. It never names an alternative sibling or a when-not condition, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.