Skip to main content
Glama
coros-training-mcp

coros-training-mcp

by dholliday3

Get Sleep Data

get_sleep_data

Fetch nightly Coros sleep data for a configurable 1–52 week range, returning per-night sleep stages (deep, light, REM, awake) and sleep heart rate.

Instructions

Fetch nightly sleep data from Coros for a configurable time range.

Returns per-night sleep stage breakdown (deep, light, REM, awake) and sleep heart rate for each night. Data comes from the Coros mobile API (apieu.coros.com) which is separate from the Training Hub web API.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_sleep_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
weeksNoNumber of weeks to fetch (1–52). Default: 4.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.1

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does add real behavioral context: the data source is the Coros mobile API (apieu.coros.com), explicitly separate from the Training Hub web API — a meaningful signal about which credential path is required. It also discloses what is returned per night (stage breakdown plus sleep HR). It stops short of stating the auth prerequisite explicitly, rate limits, or failure behavior on unauthenticated calls.

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 short sentences, front-loaded with the purpose, followed by return contents and then the source-API caveat; each sentence contributes. Minor redundancy between "nightly sleep data" and "for each night", but nothing wasteful enough to distract.

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

Completeness4/5

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

For a single optional parameter, an output schema, and no annotations, the description covers purpose, returned fields, and the non-obvious data-source distinction. The remaining gap is the authentication prerequisite — with authenticate_coros, authenticate_coros_mobile, and check_coros_auth among siblings, an explicit statement of which auth flow this requires would make it complete.

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

Parameters3/5

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

Schema description coverage is 100% and the single parameter 'weeks' is already fully documented with a range and default in the schema. The description's "configurable time range" adds the concept of the range but no syntax or unit detail beyond what the schema provides, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ("Fetch nightly sleep data from Coros") plus the scope knob (configurable time range), which is enough to separate it from activity/workout siblings. It does not explicitly contrast with get_daily_metrics, the nearest neighbor that could plausibly also cover recovery/sleep fields, so sibling differentiation is implied rather than stated.

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

Usage Guidelines3/5

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

Usage is only implied: the agent must infer that this is the tool for sleep-stage and overnight HR questions. There is no explicit "use this when / not when", and no pointer to check_coros_auth, authenticate_coros_mobile, or check_coros_auth as a prerequisite, though the note about the mobile API hints at which auth sibling applies.

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