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
| Field | Meaning |
|---|---|
| days | Lookback window in days, counted back from now. Ignored when `start` is given. |
| start | Start of the range, ISO-8601 (e.g. '2026-08-01'). Overrides `days`. |
| end | End of the range, ISO-8601. Defaults to now. |
Parameters
| Name | Type | Description |
|---|---|---|
days | integer | Lookback window in days, counted back from now. Ignored when `start` is given. |
start | string | Start of the range, ISO-8601 (e.g. '2026-08-01'). Overrides `days`. |
end | string | End 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 -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.