oura-mcp-local
Server Quality Checklist
Latest release: v0.3.0
- Disambiguation4/5
Most tools have clearly distinct purposes (status, event context, chronotype, sleep periods, temperature shifts, daily summary, tags, drift, export). Some metric overlap exists between sleep_periods, daily, and baseline_drift (HRV, lowest HR, temperature deviation), but descriptions clarify the analytical intent.
Naming Consistency4/5All tools share the consistent 'oura_' prefix and snake_case style. Most are descriptive nouns (oura_sleep_periods, oura_temperature_shifts), but 'oura_export' breaks the noun pattern with a verb, and 'oura_daily' is an adjective, creating minor inconsistency.
Tool Count5/5Nine tools is a well-scoped set for a health-data server covering status, sleep, readiness, temperature trends, tags, and export. Each tool earns its place without feeling bloated or thin.
Completeness4/5The core Oura data surface is covered: sleep summaries, daily scores, temperature, tags, drift analysis, and CSV export. Minor gaps exist (no detailed sleep stages, no workout/activity session breakdown), but agents can accomplish most wellness workflows.
Average 3.2/5 across 9 of 9 tools scored. Lowest: 1.3/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 12 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not state whether the operation is read-only or mutating, what the return format is, or any side effects. The description only describes the data content, not the behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence and concise in length, but it is under-specified rather than concise. It lacks a clear structure or front-loaded action, making it inadequate for guiding tool invocation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two required parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain the parameters, the operation, or the response, leaving an agent without sufficient information to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two required parameters, start and end, both strings, with 0% schema description coverage. The description does not mention these parameters at all, nor does it explain their meaning or format. It mentions 'day, times and comments' but that does not map to the start/end parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase that describes the content of tags ('User-entered tags...') but does not state an action verb such as 'retrieve', 'list', or 'create'. Without specifying what the tool does, an agent cannot determine its operation. It is not a tautology, but it lacks the explicit verb and resource distinction expected.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no mention of when to use this tool versus the sibling tools (e.g., oura_status, oura_sleep_periods). No context is given for selecting this tool over alternatives, nor any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided托, and the description does not disclose whether this is a read-only operation, how date boundaries are handled, or what the returned table structure actually looks like. It mostly restates output metrics rather than explaining tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single compact, front-loaded sentence with a clear list of metricsches. No filler or redundancy; it efficiently conveys the payload content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description does not give enough context for correct invocation. It omits date semantics, parameter meaning, return format, and any edge cases that an agent would need to know.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has two required parameters, start and end, but the description never mentions that these are date-range boundaries, what format they expect, or how they affect the table. With 0% schema coverageencyclopedia, the description needed to compensate but did not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a daily Oura summary table and enumerates the included metrics (readiness, sleep, activity, steps, SpO2, HRV, temperature), so an agent can tell what this endpoint returns. It lacks an explicit verb like 'retrieve' or 'list', but the resource and content are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool instead of siblings like oura_status, oura_temperature_shifts, or oura_export. The word 'daily' implies a date-related use case, but the description does not explain scope, filtering, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It does disclose an important limitation (optional HR curve limits range to 31 days) and summarizes output fields. However, it does not mention timezone handling, whether naps are merged with main sleep by default, or other operational behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a useful parameter-specific caveat. It is a single well-organized block, though the metric list is somewhat long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a solid sense of the returned sleep metrics and one important range limitation, but without an output schema or annotations it leaves open how start/end are formatted, whether naps are included by default, and how errors or excessive ranges are handled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is minimal: only start and end types exist, with no semantic detail. The description explains the effect of include_hr_curve (5-min curve and 31-day limit), but does not clarify start/end format, main_sleep_only behavior, or any other parameter constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as a sleep-summary tool listing specific metrics (bedtime, wake, midpoint, HRV, etc.), which makes its purpose obvious. It does not explicitly contrast itself with sibling tools, but the content is specific and distinguishable enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given for when to use this tool versus alternatives, and no exclusions are stated. The agent must infer usage solely from the title and metric list; only the HR-curve date-range limitation provides any contextual constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does state the main side effect—writing local files—and restricts scope to local disk, which is valuable, but it does not say whether existing files are overwritten, whether the directory must exist, or what the tool returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no filler. Every part contributes useful information: data type coverage, date range scope, output destination, and the local-disk boundary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and minimal start/end descriptions, the tool is not fully specified. An agent still cannot know the expected date format, whether files or directories are created/overwritten, or how success is indicated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description does not compensate for the undocumented start/end parameters. It adds only the generic idea of a date range and otherwise restates what the schema says about the target directory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states a concrete action and output: writing CSVs for specific data types (sleep, daily, temperature, tags) into a local directory for a date range. The local-disk-only qualifier clearly separates it from the sibling data-query tools like oura_daily and oura_sleep_periods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this export tool versus the named sibling tools. The reader can infer the export use case, but there are no explicit alternatives, exclusions, or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It discloses that the tool computes an analysis rather than mutating data level. It also communicates the reference baseline (~03:30) and input source (main sleep periods), which is useful. However, it doesn't address read-only guarantees, data availability, or error conditions, so it only partially covers the behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence, front-loaded with the core action ('Computed chronotype from main sleep periods') followed by a useful list of output components. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description compensates by enumerating the computed metrics and noting a practical use case ('useful across travel'). It does not describe return format or edge-case behavior, but the tool's complexity is modest and the schema fully defines the only parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The sole parameter, 'days', already has high schema coverage with defaults, min, max, and description. The tool description adds no additional meaning for the parameter beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Computed chronotype from main sleep periods' identifies a clear verb-resource relationship and enumerates the derived metrics, distinguishing it as an analytic summary rather than raw sleep data. It doesn't explicitly name sibling tools to differentiate, but the content makes the purpose distinct from oura_sleep_periods and oura_daily.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to use this tool versus the sibling tools. The only contextual hint is that the day-by-day phase series is 'useful across travel', which implies a use case but doesn't state exclusions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions the tool is heuristic and returns the raw series for auditability, which adds useful context. However, it does not state whether the operation is read-only, whether it has side effects, or any limitations (e.g., data availability, permissions). The heuristic disclosure and raw-series return are positive, but the description falls short of fully characterizing behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence that front-loads the core purpose and lists key outputs and the auditability feature. There is no redundant wording or filler; every clause adds value. The structure is clear and efficient, making it easy for an agent to grasp the tool's function quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters and no output schema, the description provides a high-level overview but lacks details on the return structure, the exact meaning of 'sustained shift', and how the parameters influence the detection. It mentions the flag condition but not the precise algorithm. An agent could invoke the tool with reasonable confidence but would lack full understanding of the expected output and edge cases, making the description moderately complete but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%: start and end lack descriptions, while the other four parameters have descriptions. The tool description does not clarify start and end beyond their type, nor does it explain how parameters like threshold or confirm_days map to the detection logic. It references baseline mean and elevated phase but does not tie these to the parameters, so the description fails to compensate for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('detect') and resource ('nightly temperature deviation') with a defined purpose: a sustained-shift detector. It enumerates the outputs (baseline mean, shift day, elevated-phase mean, amplitude, duration, flag) and distinguishes itself from siblings by focusing on temperature shifts rather than status, events, or baseline drift. The purpose is unambiguous and specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit guidance on when to use this tool versus alternatives like oura_baseline_drift or oura_status. It implies usage for detecting temperature shifts, but does not state conditions for selection, prerequisites, or when not to use it. An agent would have to infer applicability from the purpose alone, which is weak for a tool with many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the output includes deltas, z-scores, and flags, and states interpretation is left to the caller, indicating it returns raw metrics without analysis. It does not explicitly state whether the operation is read-only or if any side effects exist, though as an analysis tool it is likely safe. Given missing annotations, more explicit behavioral disclosure would be expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core computation, lists the metrics, and closes with an interpretation caveat. It contains no filler or redundant phrases, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description should detail return format and parameter semantics. It mentions the metrics and flags but not the exact structure of the response. The 'days' parameter remains unexplained, leaving a gap in parameter understanding. For a two-parameter tool, this is a notable incompleteness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage, so the description must compensate. It explains 'window' as the period over which drift is measured, but does not define 'days', which likely represents the baseline period. The agent is left to guess the meaning and relationship of 'days' to the window, creating ambiguity for parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool computes baseline drift metrics (nightly lowest HR, average HR, HRV, respiratory rate, temperature deviation) over a window vs preceding baseline, with deltas, z-scores, and flags. It distinguishes itself from siblings like oura_sleep_periods (raw data) or oura_temperature_shifts (temperature-specific) by specifying a multi-metric drift analysis. The resource and computation are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for analyzing baseline drift but provides no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives or criteria for selecting this tool over siblings. An agent must infer its purpose from context, which is possible but not explicitly supported.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It does well, listing the exact physiology and sleep metrics it computes: preceding night's bedtime, wake time, duration, lowest HR, hours awake at the event, hours since HR trough, sleep vs 30-day median, readiness, and temperature deviation. It does not mention side effects, but the tool appears read-only; the main missing piece is edge-case behavior such as absence of prior data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a front-loaded purpose ('Sleep and physiology context for a timed event on a given day') followed by a colon-separated list of output dimensions. It is compact and information-dense, with each clause reinforcing the tool's utility. The event examples are short and illustrative, not padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description must cover return values, and it does provide an enumerated list of outputs. However, it does not describe the output structure (e.g., object shape, units, or exact field names) nor how to handle edge cases like an event before bedtime or missing sleep data. It is a reasonable overall picture, but several runtime details for consuming the result remain absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the semantic baseline is 3. The description adds value beyond the schema by explaining how date and time are used together, framing them as the event anchor against which metrics like 'hours awake at the event' and 'hours since the nightly HR trough' are computed. This goes beyond the schema's simple 'event date' and 'local clock time of the event'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it returns sleep and physiology context for a timed event on a given day, and gives concrete examples (test, flight, race). It is not a tautology and names the domain resource. However, it does not mention how it differs from sibling tools like oura_daily or oura_sleep_periods, so it lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it via examples like 'a test, a flight, a race' and by emphasizing the 'timed event' angle. It does not explicitly state when NOT to use it or compare with alternative sibling tools, so the guidance is inferential rather than prescriptive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully convey behavior. It does transparently describe the output (scopes, expiry, file existence/private) and explicitly reports what it will not return, providing good transparency. It doesn't explicitly say the tool is read-only, but the status‑checking nature and local file references (already imply no side effects on remote systems), which is acceptable given the coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tightly worded sentence that front‑loads the primary concept ('Connection status') and then enumerates precisely what is inspected and what is excluded. No filler is present; each clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero‑parameter, no‑output‑schema status tool, the description is complete. It tells the agent exactly the kind of information it will receive and explicitly what it will never return, which is all an agent needs to correctly invoke and interpret the tool's results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and an empty input schema, so there is nothing for the description to clarify about parameters. The baseline of 4 applies because no parameter documentation is needed; the description instead focuses entirely on the tool's purpose and behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function ('Connection status') and lists its exact outputs (token expiry, granted scopes, local config/token file existence and privacy). The explicit exclusions ('Returns no health data and no absolute paths') help distinguish it from sibling tools that return health data, such as oura_daily or oura_sleep_periods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description doesn't explicitly say 'use this tool when checking the connection before other calls,' but the 'Connection status' label plus the 'Returns no health data' exclusion provides clear context that this tool is for diagnosing the Oura connection, not for retrieving health metrics. This is an implied but unambiguous routing signal to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md: