Skip to main content
Glama
finalsurge-mcp

finalsurge-mcp

by pavelzaitsau

list_workouts

Retrieve planned workouts from the Final Surge calendar for an inclusive date range, including coach notes and builder-step status. Optionally filter to only unstructured workouts.

Instructions

List planned workouts in the Final Surge calendar (dates YYYY-MM-DD, inclusive). Returns coach's text in description and whether the builder already has steps.

Input Schema

NameRequiredDescriptionDefault
end_dateYes
start_dateYes
only_unstructuredNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

B3/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden; it does disclose the return contents (coach text in `description`, a flag for whether the builder has steps) and clarifies that the date range is inclusive. It omits other behavioral facts an agent would want: that this is a read-only operation, whether results span all calendars or only the authenticated athlete's, and any ordering or result-count limits.

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?

Two short sentences, front-loaded with the core purpose and followed by the format and return details, with no filler. The backtick reference to `description` is slightly terse but functional.

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

Completeness3/5

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

An output schema exists, so return values need not be spelled out, and the description correctly avoids that. However, against a three-parameter tool with zero schema descriptions and no annotations, the undefined `only_unstructured` filter and the missing read-only/scope statement leave real gaps.

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 must explain all three parameters. It covers the two date parameters well (YYYY-MM-DD, inclusive) but never explains `only_unstructured`; the phrase 'whether the builder already has steps' only obliquely hints that unstructured workouts exist as a concept. One of three parameters remains semantically undefined.

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?

The description gives a specific verb (list) plus resource (planned workouts) scoped to the Final Surge calendar, which distinguishes it from get_structured_workout, which fetches a single workout's structure. It also fixes the date format, which an agent needs before calling. It stops short of naming siblings explicitly, so it is clear but not fully differentiated.

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

Usage Guidelines2/5

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

There is no when-to-use or when-not-to-use guidance, and no mention of the natural alternatives in the sibling set (get_structured_workout, preview_structured_workout) or of what to do with the returned workouts. An agent must infer the discovery-then-fetch workflow entirely on its own.

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