Skip to main content
Glama
emilniclashofseth

Personal Health Data (community)

Daily activity

get_daily_activity
Read-onlyIdempotent

Retrieve daily Withings activity metrics—steps, distance, floors, active minutes, calories, and heart-rate zone minutes—for a date range to track health trends.

Instructions

One row per day: steps, distance, floors, soft/moderate/intense/active minutes, active and total calories, heart rate and HR-zone minutes (from a Withings watch or the app's step tracking). Default: last 7 days; up to 366 days.

Input Schema

NameRequiredDescriptionDefault
end_dateNoLast calendar day (inclusive), YYYY-MM-DD. Default: today (local).
start_dateNoFirst calendar day, YYYY-MM-DD. Default: 6 days before end_date.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds genuinely new context: it discloses the data source (a Withings watch or the app's own step tracking) and the retention/query ceiling of 366 days, which the annotations cannot convey. It stops short of saying what happens when no device data exists.

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?

Two sentences: the first front-loads what a row contains, the second front-loads the default and the limit. There is no filler, hedging, or repetition of schema text.

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 carries the burden of describing return values and does so concretely by listing the per-day fields and the row granularity. Data provenance is noted, but units, timezone handling, and behavior on empty/missing device data are left unstated.

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 coverage is 100% and both date parameters are fully documented, so the schema does the heavy lifting and a 3 is the baseline. The description does contribute the 366-day cap, which is not in the schema, but adds no date-format or timezone nuance beyond what the parameter descriptions already state.

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 names the resource (daily activity) and enumerates the exact per-day metrics returned — steps, distance, floors, minute buckets, calories, heart rate, HR-zone minutes — which effectively separates it from siblings like get_sleep_summary and get_body_measurements. It lacks an explicit verb but the 'one row per day' framing makes retrieval unambiguous.

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

Usage Guidelines3/5

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

It states the default window (last 7 days) and a maximum span (366 days), which gives practical range guidance. However, it never says when to choose this tool over the other health-data siblings, nor any exclusions or prerequisites (e.g. device pairing or auth), so usage is only implied.

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