withings_workouts
Individual workout sessions tracked by a Withings watch or started in the app: sport, duration, distance, steps, calories and heart rate.
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_workouts",
"arguments": {
"days": 7
}
}
}'
Tool description the model sees
Individual workout sessions tracked by a Withings watch or started in the app: sport, duration, distance, steps, calories and heart rate. Call this when the user asks what training or exercise sessions they did, how a run or ride went, or how long they worked out. For whole-day movement rather than a session, use withings_activity.
Descriptions say when to call a tool, not just what it does — that trigger wording is what models actually route on.
Use withings_workouts 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.