Fitbit MCP server. Read Fitbit profile, activity, sleep, heart rate and device data.
Add to your MCP config, then reload & authorize:
{
"mcpServers": {
"fitbit": {
"url": "https://fitbit.usefulapi.io/mcp"
}
}
}| Tool | Type | What it does |
|---|---|---|
fitbit_get_profile | read | Get profile The current user's Fitbit profile (name, age, gender, height, timezone, member since, avatar, etc.). Fitbit REST: GET /1/user/-/profile.json. |
fitbit_get_devices | read | Get devices List the user's Fitbit devices/trackers (battery, last sync, version). Fitbit REST: GET /1/user/-/devices.json. |
fitbit_daily_activity_summary | read | Daily activity summary Daily activity summary for a date — steps, distance, floors, calories, active minutes, and the day's logged activities. Fitbit REST: GET /1/user/-/activities/date/{date}.json. |
fitbit_activity_time_series | read | Activity time series Activity metric time series over a date range (e.g. daily steps for a week). Max 1095 days. Fitbit REST: GET /1/user/-/activities/{resource}/date/{startDate}/{endDate}.json. |
fitbit_activity_goals | read | Activity goals The user's activity goals (steps/distance/calories/active-minutes) for the daily or weekly period. Fitbit REST: GET /1/user/-/activities/goals/{period}.json. |
fitbit_lifetime_stats | read | Lifetime stats Lifetime and best-ever activity statistics (total steps, distance, floors; personal bests). Fitbit REST: GET /1/user/-/activities.json. |
fitbit_heart_rate | read | Heart rate Heart-rate time series — resting HR and time in each HR zone. Give a single date + period, OR a date + endDate range. Fitbit REST: GET /1/user/-/activities/heart/date/{date}/{period|endDate}.json. |
fitbit_sleep_log | read | Sleep log Sleep logs for a date (or date range) — stages/levels, duration, efficiency, start/end times. Fitbit REST: GET /1.2/user/-/sleep/date/{date}[/{endDate}].json. |
fitbit_weight_log | read | Weight log Body weight log entries for a date. Fitbit REST: GET /1/user/-/body/log/weight/date/{date}.json. |
fitbit_body_fat_log | read | Body fat log Body fat percentage log entries for a date. Fitbit REST: GET /1/user/-/body/log/fat/date/{date}.json. |
fitbit_food_log | read | Food log Food/nutrition log for a date — logged foods and daily nutrition totals (calories, macros). Fitbit REST: GET /1/user/-/foods/log/date/{date}.json. |
fitbit_water_log | read | Water log Water intake log for a date. Fitbit REST: GET /1/user/-/foods/log/water/date/{date}.json. |
fitbit_spo2 | read | SpO2 Blood oxygen saturation (SpO2) summary for a date or range. Fitbit REST: GET /1/user/-/spo2/date/{date}[/{endDate}].json. |
fitbit_hrv | read | HRV Heart rate variability (HRV) summary for a date or range. Fitbit REST: GET /1/user/-/hrv/date/{date}[/{endDate}].json. |
fitbit_breathing_rate | read | Breathing rate Breathing (respiratory) rate summary for a date or range. Fitbit REST: GET /1/user/-/br/date/{date}[/{endDate}].json. |
fitbit_cardio_score | read | Cardio score Cardio fitness score (VO2 max estimate) for a date or range. Fitbit REST: GET /1/user/-/cardioscore/date/{date}[/{endDate}].json. |
fitbit_skin_temperature | read | Skin temperature Skin temperature (relative to baseline) for a date or range. Fitbit REST: GET /1/user/-/temp/skin/date/{date}[/{endDate}].json. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 100 tool calls / month |
| Pro | $9/mo · $90/yr | Unlimited |
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.