Skip to main content
Glama

log_rest_day

Idempotent

Mark a date as an intentional rest day. Use when the user says they took a rest day, are taking one today, or wants to mark a past day as rest after the fact (e.g. "this past Monday was a rest day", "today is a rest day", "I rested yesterday"). Suppresses the workout-prompt nudges for that date and lets the engine treat the day as planned, not skipped.

INFER — do not ask:

  • date: parse the user's reference. "today" = today, "yesterday" = today minus 1, "last Monday" = the most recent Monday before today, etc. Default to today when nothing is specified.

Idempotent — calling twice on the same date is a no-op (the second call returns the same confirmation). To remove a rest day, use cancel_rest_day.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoThe date to mark as a rest day. Format: YYYY-MM-DD. Default: today.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYesHuman-readable result text returned by the tool.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, but the description adds meaningful behavioral context beyond that: it explains that repeated calls are a no-op returning the same confirmation, and that the tool suppresses workout-prompt nudges and treats the day as planned rather than skipped. This is useful behavioral disclosure, though the idempotence itself is already annotated.

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

Conciseness5/5

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

The description is well-organized into three purpose-driven chunks: what the tool does, how to interpret the date parameter, and idempotency behavior. Every sentence contributes actionable guidance, and the most important scoping information is front-loaded.

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?

For a one-optional-parameter tool with an output schema and strong annotations, this description is complete. It covers purpose, usage triggers, date inference, idempotency, behavioral effect, and how to undo the action. Nothing an agent needs to call it 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% for the single date parameter, including format and default. The description goes further by providing explicit natural-language inference rules and examples ('today' = today, 'yesterday' = today minus 1, 'last Monday' = most recent Monday before today) and instructing the agent to infer rather than ask. This adds real value beyond the schema.

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?

The description opens with a specific verb and resource: 'Mark a date as an intentional rest day.' It immediately distinguishes this tool from its siblings by explaining the effect (suppresses workout nudges, treats the day as planned rather than skipped) and contrasts it with cancel_rest_day.

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?

The description gives explicit when-to-use conditions with concrete examples: 'today is a rest day', 'I rested yesterday', and marking a past day after the fact. It also names the alternative, cancel_rest_day, for removal, so an agent can route correctly without ambiguity.

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.