Skip to main content
Glama

Withings Workouts

withings_list_workouts
Read-onlyIdempotent

Retrieve a paginated list of Withings workouts, filtered by date range, for activity tracking and analysis.

Instructions

List Withings workouts. Requires user.activity scope.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoWithings page number.
afterNoInclusive start bound. Converted to Withings startdate (epoch) or startdateymd (YYYY-MM-DD) per action.
limitNoUpstream page-size hint and local output cap used for pagination safety.
beforeNoInclusive end bound. Converted to Withings enddate (epoch) or enddateymd (YYYY-MM-DD) per action.
all_pagesNoFetch multiple pages up to max_pages.
max_pagesNoMaximum pages to fetch when all_pages is true.
privacy_modeNoOptional per-call privacy override. Defaults to WITHINGS_PRIVACY_MODE or structured. raw returns upstream Withings JSON. summary minimizes sensitive health and profile details.
response_formatNomarkdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYes
emptyNo
recordsYes
warningNo
endpointYes
has_moreYes
next_pageNo
privacy_modeYes
pages_fetchedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.5.4
    • addedOutput schema / properties / empty
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / warning
      Added value: +{
      +  "type": "string"
      +}
  2. Changed6 schema fields changedv0.4.11
    • changedInput schema / properties / after / description
      Previous value: -"Only return Withings records after this time. Converted to Withings startdate."New value: +"Inclusive start bound. Converted to Withings startdate (epoch) or startdateymd (YYYY-MM-DD) per action."
    • removedInput schema / properties / after / format
      Removed value: -"date-time"
    • changedInput schema / properties / after / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^\\d{4}-\\d{2}-\\d{2}([Tt ]\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?([Zz]|[+-]\\d{2}:?\\d{2})?)?$"
    • changedInput schema / properties / before / description
      Previous value: -"Only return Withings records before this time. Converted to Withings enddate."New value: +"Inclusive end bound. Converted to Withings enddate (epoch) or enddateymd (YYYY-MM-DD) per action."
    • removedInput schema / properties / before / format
      Removed value: -"date-time"
    • changedInput schema / properties / before / pattern
      Previous value: -"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"New value: +"^\\d{4}-\\d{2}-\\d{2}([Tt ]\\d{2}:\\d{2}(:\\d{2})?(\\.\\d+)?([Zz]|[+-]\\d{2}:?\\d{2})?)?$"
  3. Changed3 schema fields changedv0.4.7
    • changedInput schema / properties / after / description
      Previous value: -"Only return Withings records after this time. Converted to an Withings start_date."New value: +"Only return Withings records after this time. Converted to Withings startdate."
    • changedInput schema / properties / before / description
      Previous value: -"Only return Withings records before this time. Converted to an Withings end_date."New value: +"Only return Withings records before this time. Converted to Withings enddate."
    • changedInput schema / properties / limit / description
      Previous value: -"Local page-size hint used for pagination safety."New value: +"Upstream page-size hint and local output cap used for pagination safety."
  4. First observedv0.4.6

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, covering the safety profile. The description adds the authentication requirement of 'user.activity scope', which is useful and not in the annotations. However, it does not describe pagination behavior or return format details, though an output schema exists to cover that.

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?

The description is a single, front-loaded sentence that states the core action and a key requirement with no fluff. It is appropriately concise for a list tool, though it omits usage context, which is a completeness issue rather than a conciseness problem.

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?

For a simple list tool with an output schema and well-documented parameters, the description is minimally adequate. It does not explicitly mention pagination or date filtering, but these are covered in the schema. Given the tool has 8 parameters and no required fields, a bit more context on how to combine them could help, but it is not severely lacking.

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

Parameters3/5

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

Schema description coverage is 88%, meaning most parameters are documented in the schema itself. The description adds no additional parameter semantics beyond what the schema already provides, so it does not compensate for the small uncovered portion. Given the high schema coverage, a baseline score of 3 is appropriate.

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 states a clear action ('List') and a specific resource ('Withings workouts'), distinguishing it from sibling tools that handle other data types like activity or sleep. It is unambiguous about what the tool retrieves, though it does not elaborate on the content of a workout beyond the name.

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?

No guidance is provided on when to use this tool versus alternatives such as withings_list_activity or withings_daily_summary. The only contextual hint is the required scope, which is a prerequisite, not a usage scenario. There is no mention of typical use cases, exclusions, or when to prefer another tool.

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