Skip to main content
Glama
PhilipAD

MetricBridge (formerly Health Export AI)

get_intraday

Read-onlyIdempotent

Retrieve hour-by-hour Apple Health metric values and latest readings from the past 48 hours via the iOS app's HOURLY automations, with optional metric filtering. Use for recent intraday trends, not day-level history.

Instructions

The current hour-by-hour window from the iOS app's HOURLY automations (health-intraday.json, app 1.4+): each metric's hourly points (t, v = the hour's value) plus its latest value. The window covers a 48-hour span, yesterday 00:00 local to now, and the file is REPLACED on every run, so this is a live recent view, not history; use get_health_metrics for day-level questions. Discrete metrics (heart rate, SpO2, respiratory rate, HRV, resting heart rate) carry the hour's Min and Max beside v (the hour's mean) when the app version writes them; older exports cover today only and have no Min/Max. Returns available:false with setup guidance when no hourly automation has delivered yet.

Input Schema

NameRequiredDescriptionDefault
metricNoMetric name to filter, e.g. heart_rate. Omit for every metric in the window.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.4.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/closed-world, but the description adds material behavior the agent cannot infer: the file is REPLACED on every run, the window spans yesterday 00:00 to now (48h), older exports cover today only with no Min/Max, and discrete metrics pack hour Min/Max beside the mean. These are exactly the non-obvious traits that change how a result should be read.

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 core payload and tightly packed with no filler, but the clauses chain into long, semicolon-heavy sentences that take effort to parse. Slightly long for one resource, though essentially every clause carries distinct information.

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?

With no output schema, the description does the work of describing the return shape (t, v = hour's value, Min/Max for discrete metrics) and the degraded/empty responses. Combined with the window and replacement semantics, an agent has enough to call and interpret results correctly.

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 the single parameter's own description already says 'Omit for every metric in the window.' The description implies filtering via 'each metric's hourly points' but adds no syntax, naming convention, or resolution guidance beyond the schema (e.g. use resolve_metric for names). Baseline 3 applies when the schema carries the load.

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/resource ('hour-by-hour window' of 'hourly points' with latest value) sourced from named automations (health-intraday.json, app 1.4+). It explicitly distinguishes itself from get_health_metrics, the day-level sibling, so an agent can route without opening the schema.

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

Usage Guidelines5/5

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

Names the alternative ('use get_health_metrics for day-level questions') and the condition that selects it, plus the boundary case that this is a live recent view, not history. It also describes the empty-state path ('Returns available:false with setup guidance when no hourly automation has delivered yet'), which tells the agent how to interpret a failure.

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