Skip to main content
Glama

Push workout guide to watch

push_workout_guide
Destructive

Pushes a text-step workout guide to your Suunto account, turning each exercise into a lap-button step on the watch. Use it to send session titles, dates, and set details that appear after your next app sync.

Instructions

Pushes a text-step workout guide to the user's Suunto account via the SuuntoPlus Guide Cloud API. Each exercise becomes one step, advanced by a lap-button press on the watch. Requires SUUNTO_APP_NAME env var to exactly match the app name registered on apizone.suunto.com. There is no live push to the watch itself — delivery depends on the phone's normal Suunto app sync. In testing it showed up on the watch after the next ordinary sync with no manual pinning needed; if it doesn't appear, check the Suunto app under SuuntoPlus Guides and pin it there. For gym sessions prefer push_strength_guide: it records one lap per set and per rest, which get_workout_laps can read back. Returns Suunto's response (including the guide id) plus nextStep and check: { verified, note? }: after the push the guide is looked up in the guide list (by id), and verified:false with a note means the push went through but the guide was not found there — say so to the user instead of reporting success. Pushes are queued one at a time with a short pause, so several calls at once are safe. Write operation.

Input Schema

NameRequiredDescriptionDefault
dateYesSession date YYYY-MM-DD.
titleYesShort session name shown in the Suunto app, e.g. 'Push A'.
guideIdNoIf provided, updates this existing guide instead of creating a new one.
exercisesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.14.0

TDQS

A4.7/5.0
Behavior5/5

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

Goes well beyond the annotations: requires SUUNTO_APP_NAME to exactly match the name registered on apizone.suunto.com, clarifies that delivery is sync-dependent with pinning as a fallback, and discloses that pushes are queued one at a time so concurrent calls are safe. It also explains the returned check/verified semantics and instructs the agent not to report success when verified is false — a mutation-relevant failure mode the annotations cannot convey. 'Write operation' is consistent with readOnlyHint=false and destructiveHint=true.

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?

Purpose and the sibling routing are front-loaded, followed by prerequisites, delivery mechanics, and result interpretation in descending order of importance. The parenthetical about testing/pinning is the only slightly expendable clause, and even it sets user expectations usefully.

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 non-idempotent, open-world write tool with no output schema, the description covers prerequisites, concurrency safety, delivery latency, and how to interpret the returned verification data. An agent has everything needed to call it and to report results honestly.

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 75%, so the schema already documents most fields; the description adds the important mapping that each exercise entry becomes one discrete step advanced by a lap press, which is not derivable from the schema. It does not clarify how guideId interacts with title/date on update, leaving that overlap to 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?

States a specific verb and resource ('Pushes a text-step workout guide to the user's Suunto account via the SuuntoPlus Guide Cloud API') and explains the runtime effect: each exercise becomes one step advanced by a lap-button press. It explicitly distinguishes itself from push_strength_guide, so an agent can separate the two without opening either schema.

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

Usage Guidelines4/5

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

Gives a clear routing rule for the closest sibling ('For gym sessions prefer push_strength_guide') and explains the delivery path (no live push; arrives on the phone's next normal Suunto app sync) plus a remedy if it doesn't appear. It stops short of covering push_interval_guide or when to prefer upload_workout, so the sibling landscape is only partially mapped.

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