Skip to main content
Glama
MetricBridge (formerly Health Export AI)

MetricBridge (formerly Health Export AI)

get_strength_log

Read-onlyIdempotent

Retrieves logged strength sessions, exercises, sets, reps, weights, RPE, volume, records, and saved routines, with date and exercise filters. Returns available:false if the optional export is off.

Instructions

The strength log the user keeps in the MetricBridge app (health-strength.json, opt-in, off by default): each session with its exercises and every set as entered (reps, kg, warmup or working, RPE), plus volumeKg, workingSets and an Epley bestEstimateKg per exercise, all-time records per exercise, and the routines the user saved (their own templates). Filters: {exercise (exact name, case-insensitive, e.g. "Back squat"), start, end (local days, inclusive)}. Sessions come oldest first; above 150 matches the most recent 150 are listed and sessionsOmitted counts the rest. An unknown exercise returns count 0 with knownExercises. Logged by hand, never read from Apple Health; when the file is missing the answer is available:false, which means the user has not switched the export on, not that they do not train.

Input Schema

NameRequiredDescriptionDefault
endNoLast day (inclusive), YYYY-MM-DD.
startNoFirst day (inclusive), YYYY-MM-DD.
exerciseNoOne exercise, by the exact name in the log (case-insensitive), e.g. Back squat. Omit for every exercise.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.10.0

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/closed-world, and the description goes well beyond them: opt-in and off by default, oldest-first ordering, a hard 150-match cap with sessionsOmitted counting the remainder, count 0 plus knownExercises for an unrecognized exercise, and the precise meaning of available:false. That is exactly the kind of behavioral context annotations cannot carry.

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?

Front-loaded with the resource identity, and every clause carries information (aggregates, truncation, error states, empty state). It is a single dense block though, and the return-value and filter details would scan faster as separated sentences or bullets.

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

Completeness4/5

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

With no output schema, the description does substantial work describing returned fields, ordering, truncation and the two degenerate cases (unknown exercise, missing file). Remaining gaps are minor: the shape of the routines/templates output and whether records appear inline or per-session are not spelled out.

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%, so the schema carries the baseline, but the description still adds real meaning: the filter values are local days (a timezone nuance absent from the schema), the exercise name is exact and case-insensitive with a concrete example, and omitting exercise means every exercise. Start/end semantics largely duplicate the schema, keeping it off a 5.

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 resource (the user's hand-logged strength log in the MetricBridge app) and enumerates exactly what it contains: sessions, per-set entries with reps/kg/warmup/RPE, volumeKg, workingSets, bestEstimateKg, all-time records, and saved routines. This is clearly distinguishable from sibling tools like get_workouts or get_health_metrics, especially given the explicit note that it is never read from Apple Health.

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?

Implicitly routes the agent away from health-metric tools by stressing 'logged by hand, never read from Apple Health', and explains the key interpretive case for available:false. It never names a sibling alternative explicitly or states when to prefer it (e.g. vs get_workouts), so it falls short of an explicit when/when-not/alternatives statement.

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