Skip to main content
Glama

get_recovery_signals

Read-only

Check this client's synced Apple Health / Google Fit sleep and resting-heart-rate trend, if any. This is a secondary caution alongside get_client_ai_history and get_platform_rejection_trends, not a hard constraint: if sleepTrend is 'declining' or restingHRTrend is 'elevated', default toward slightly lower volume/intensity this run unless the client's own profile, preferences, or check-ins clearly argue otherwise. If hasData is false, the client has no synced health data yet — ignore this signal entirely and build/adjust normally.

Input Schema

NameRequiredDescriptionDefault
daysNo
clientIdYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description goes further by disclosing output fields (sleepTrend, restingHRTrend, hasData), their meaningful values, and how the result should influence behavior. It does not cover rate limits or auth, but for a read-only signal tool this is well above the annotation bar.

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?

Purpose is front-loaded in the first sentence, with interpretation guidance following. Three sentences are justified by the behavioral nuance, though some phrasing ('if any', 'unless ... clearly argue otherwise') could be tightened.

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?

With no output schema, the description compensates well by naming the returned fields and their semantics, and it defines the decision rule for acting on them. The only real gap is the undocumented 'days' parameter, which is a minor omission given the tool's advisory role.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden, yet it never mentions the 'days' parameter (default 14, range 1-90) that controls the trend window. 'this client's ... trend' loosely implies clientId and a time window, but adds no concrete meaning to either input.

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?

States a specific verb ('Check') and resource ('synced Apple Health / Google Fit sleep and resting-heart-rate trend'), and explicitly names the sibling tools (get_client_ai_history, get_platform_rejection_trends) it accompanies. An agent can distinguish it from other read tools without opening any schema.

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

Usage Guidelines5/5

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

Explicitly frames itself as a secondary caution, not a hard constraint, and gives concrete conditional guidance: if sleepTrend='declining' or restingHRTrend='elevated', reduce volume/intensity unless profile/preferences/check-ins argue otherwise. It also handles the hasData=false case with a clear instruction to ignore the signal entirely.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.