garmin_list_scheduled_workouts
List calendar scheduled workouts for a given month/year from Garmin calendar-service.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| account | No |
List calendar scheduled workouts for a given month/year from Garmin calendar-service.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | ||
| month | Yes | ||
| account | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, destructiveHint (all safe). Description adds minimal behavioral context: it lists from 'Garmin calendar-service' for a given month/year. No extra details on pagination, rate limits, or auth requirements beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 12 words. No fluff, front-loaded with action and scope. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given low complexity (read-only list, no output schema), the description tells what the tool returns (list of scheduled workouts) and for what period. However, it omits output format details, behavior when no workouts found, and purpose of the account parameter. Adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It mentions 'month/year' which maps to two required params, but does not explain the optional 'account' parameter. No parameter descriptions in schema either, so meaning of 'account' is unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (list), resource (calendar scheduled workouts), and scope (for a given month/year from Garmin calendar-service). Among siblings, it distinguishes itself from garmin_get_scheduled_workout (singular) and garmin_list_workouts (different resource).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies usage for listing by month/year, but does not explicitly state when to use this vs alternatives like garmin_get_scheduled_workout or garmin_list_workouts. No guidance on when not to use or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Every tool has a clearly distinct purpose. The Garmin-specific tools each handle a unique operation on workouts or accounts, and the platform tools (authenticate, connect, marketplace, etc.) are separate and easily distinguishable.
The naming is inconsistent: Garmin tools use a consistent 'garmin_verb_noun' pattern, but the platform tools (authenticate, connect, marketplace, report_bug, show_version, toolkit_info) lack any prefix or pattern, creating a mismatch.
With 16 tools, the count is slightly above the typical sweet spot but still justified. The domain of workout management requires several operations, and the platform utilities are essential for the server's operation within the MCP ecosystem.
The Garmin workout tools cover the full lifecycle: create, retrieve, update, delete, plus scheduling. Listing accounts and the platform utilities round out the surface. Minor gaps (e.g., no tool to fetch activities) are acceptable given the server's focus on 'treinos' (workouts).