usefulapi

Fitbit MCP server. Read Fitbit profile, activity, sleep, heart rate and device data.

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://fitbit.usefulapi.io/mcp
  3. Authenticate with Fitbit when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "fitbit": {
      "url": "https://fitbit.usefulapi.io/mcp"
    }
  }
}
live17 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 17

ToolTypeWhat it does
fitbit_get_profileread
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_devicesread
Get devices
List the user's Fitbit devices/trackers (battery, last sync, version). Fitbit REST: GET /1/user/-/devices.json.
fitbit_daily_activity_summaryread
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_seriesread
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_goalsread
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_statsread
Lifetime stats
Lifetime and best-ever activity statistics (total steps, distance, floors; personal bests). Fitbit REST: GET /1/user/-/activities.json.
fitbit_heart_rateread
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_logread
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_logread
Weight log
Body weight log entries for a date. Fitbit REST: GET /1/user/-/body/log/weight/date/{date}.json.
fitbit_body_fat_logread
Body fat log
Body fat percentage log entries for a date. Fitbit REST: GET /1/user/-/body/log/fat/date/{date}.json.
fitbit_food_logread
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_logread
Water log
Water intake log for a date. Fitbit REST: GET /1/user/-/foods/log/water/date/{date}.json.
fitbit_spo2read
SpO2
Blood oxygen saturation (SpO2) summary for a date or range. Fitbit REST: GET /1/user/-/spo2/date/{date}[/{endDate}].json.
fitbit_hrvread
HRV
Heart rate variability (HRV) summary for a date or range. Fitbit REST: GET /1/user/-/hrv/date/{date}[/{endDate}].json.
fitbit_breathing_rateread
Breathing rate
Breathing (respiratory) rate summary for a date or range. Fitbit REST: GET /1/user/-/br/date/{date}[/{endDate}].json.
fitbit_cardio_scoreread
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_temperatureread
Skin temperature
Skin temperature (relative to baseline) for a date or range. Fitbit REST: GET /1/user/-/temp/skin/date/{date}[/{endDate}].json.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Pro$9/mo · $90/yrUnlimited

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.