Skip to main content
Glama
YpsilonTM

Withings MCP Server

by YpsilonTM

withings_get_heart_rate

Fetch heart rate measurements from Withings devices. Retrieve spot readings or continuous intraday heart rate for watches, using optional start/end timestamps.

Instructions

Fetch heart rate. Spot readings (meastype 11 via getmeas) come from scale/BPM when you take a measurement. For Withings watches, set include_intraday=true (or use withings_get_intraday_activity) for continuous HR — that is usually where watch HR lives (max 24h window).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
offsetNoPagination offset from a previous more=true response.
enddateNoEnd unix timestamp (seconds). Default: now.
startdateNoStart unix timestamp (seconds). Default: 24h ago.
include_intradayNoIf true, also fetch continuous watch heart_rate via getintradayactivity (capped to 24h). Recommended for ScanWatch / activity trackers.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses the data source (spot readings via getmeas), the 24h cap on intraday HR, and where watch HR actually lives. It does not mention pagination behavior hinted by the offset parameter, but the core behavioral nuance is covered.

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?

Three tight sentences, front-loaded with the core action. Every sentence carries information about data source, mode, or alternative routing, with no filler.

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?

The description is sufficiently complete given the schema covers parameters and no output schema exists. It explains the key spot-vs-continuous distinction and the max window. It doesn't compare against withings_list_heart_records or withings_get_heart_ecg, but the core routing decision is well covered.

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?

All four parameters are documented in the schema (100% coverage), so the baseline is 3. The description adds useful context around include_intraday (that it fetches continuous watch HR and is capped at 24h), but does not add much for offset, startdate, or enddate beyond their schema descriptions.

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?

The description opens with a clear verb and resource: 'Fetch heart rate.' It then distinguishes spot readings (meastype 11 via getmeas from scale/BPM) from continuous watch HR, which separates it from siblings like withings_get_intraday_activity and withings_list_heart_records.

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?

It explicitly explains when to use this tool versus the alternative: for watch/continuous HR, set include_intraday=true or use withings_get_intraday_activity. It also clarifies that plain use returns spot readings only from measurements on a scale/BPM device.

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