MCP tool

withings_heart

ECG and blood-pressure recordings from a BPM Core / BPM Vision cuff or a ScanWatch: heart rate, systolic/diastolic, and the device's own atrial-fibrillation classification.

What it returns

FieldMeaning
daysLookback window in days, counted back from now. Ignored when `start` is given.
startStart of the range, ISO-8601 (e.g. '2026-08-01'). Overrides `days`.
endEnd of the range, ISO-8601. Defaults to now.

Parameters

NameTypeDescription
daysintegerLookback window in days, counted back from now. Ignored when `start` is given.
startstringStart of the range, ISO-8601 (e.g. '2026-08-01'). Overrides `days`.
endstringEnd of the range, ISO-8601. Defaults to now.

Pass either days or an explicit start/end pair. start wins if both are given.

Output

A markdown table rather than JSON — roughly a third of the tokens, and models reason over rows more reliably than nested objects.

Notes and gotchas

  • Requires a connected Withings account. Connect it from your dashboard — no developer account needed.
  • Read-only: this tool cannot change anything in your account.

Call it directly

The endpoint is plain JSON-RPC, so you can test without any client:

curl
curl -s https://fitnesspeak.app/mcp \
  -H "Authorization: Bearer fp_live_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "withings_heart",
         "arguments": {
           "days": 7
         }
       }
     }'

Tool description the model sees

ECG and blood-pressure recordings from a BPM Core / BPM Vision cuff or a ScanWatch: heart rate, systolic/diastolic, and the device's own atrial-fibrillation classification. Call this when the user asks about an ECG they took, an AFib result, or a heart recording. This is the device's classification, not a diagnosis.

Descriptions say when to call a tool, not just what it does — that trigger wording is what models actually route on.

Use withings_heart in your assistant

14-day free trial. Card required so there's no second signup at the end; cancel before day 14 and you're charged nothing.