# Fitbit MCP

> Fitbit connects your account to any AI client, letting you ask questions about years of biometric data in natural conversation. Query everything from deep sleep cycles and resting heart rate trends to macro-nutrient intake and daily activity summaries. Get a complete picture of how different parts of your fitness and health routine interact.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** health-tracking, wearables, fitness, sleep-analysis, heart-rate

## Description

Connecting your Fitbit account gives your AI agent direct access to all your historical health and fitness records. You can ask it complex questions—like, 'How did my sleep quality affect my cardio score last month?'—and get a precise answer based on the data. Instead of looking at 14 separate charts, you talk to the MCP, and it pulls together activity levels, blood oxygen saturation readings, heart rate zones, and even your food logs. If you're building custom health applications or just trying to make sense of the numbers, Vinkius hosts this MCP in the catalog, letting any compatible AI client start analyzing your personal data right away.

## Tools

### get_activities_date
Gets a single-day summary of steps, calories burned, distance walked, and active minutes.

### get_activities_timeseries
Retrieves activity data (steps, calories, etc.) over a defined date range to show trends.

### get_body_weight
Logs body weight measurements and associated metrics like BMI for specific dates.

### get_breathing_rate
Returns the breathing rate in breaths per minute for a single, specified date.

### get_cardio_fitness_score
Provides VO2 Max values and percentile rankings to gauge cardiorespiratory fitness over time.

### get_devices
Lists all connected Fitbit devices, their battery status, and sync times.

### get_foods_date
Summarizes a single day's food intake, including total calories, macros, water consumption, and logged meals.

### get_heart_date
Returns heart rate summaries for one day, detailing resting rates and time spent in different activity zones.

### get_heart_timeseries
Provides historical data on resting heart rate and heart rate zones across a date range.

### get_profile
Pulls the user's core profile information, including name, age, gender, height, and weight.

### get_sleep_date
Retrieves a single night's sleep log, detailing total duration and minutes spent in each stage (deep, light, REM).

### get_sleep_timeseries
Generates sleep summaries over time, showing efficiency scores and stages for multiple nights.

### get_spo2
Provides the average blood oxygen saturation (SpO2) percentage and min/max values for a specific day.

### get_water
Tracks total water consumption in milliliters with timestamps for any given date.

## Prompt Examples

**Prompt:** 
```
How did I sleep last night?
```

**Response:** 
```
You slept 7h 23m total. Deep sleep: 1h 45m (24%), Light: 3h 52m (53%), REM: 1h 20m (18%), Awake: 26m. Your sleep score was 82/100 — above your weekly average of 76.
```

**Prompt:** 
```
Show my heart rate trends for the past week.
```

**Response:** 
```
Your average resting heart rate this week was 62 bpm, down from 65 bpm last week. Peak zone time increased to 45 minutes total across 3 workout sessions. Cardio fitness score: 42 (Good).
```

## Capabilities

### Analyze Activity Trends
Get daily summaries and historical time series data covering steps, calories burned, distance walked, and minutes spent being active or sedentary.

### Determine Sleep Cycles
View detailed sleep logs for specific nights, including the duration of deep, light, REM, and awake periods. You can also track these cycles over weeks or months.

### Monitor Cardiorespiratory Health
Query resting heart rate averages, intraday heart rate zones (like fat burn vs. peak), blood oxygen levels, and breathing rates for historical context.

### Track Body Composition Changes
Get logs of your weight measurements, BMI, and general cardio fitness scores over time to spot physical trends.

### Review Nutrition Intake
Access daily records detailing total calories consumed, macro breakdowns (carbs, fat, protein), water intake, and specific logged meals.

## Use Cases

### Diagnosing poor recovery after intense training
An athlete notices their performance dipping. They ask the agent, 'Show me how my deep sleep and resting heart rate changed in the three days leading up to my low cardio fitness score.' The MCP uses `get_sleep_timeseries`, `get_heart_date`, and `get_cardio_fitness_score` to pinpoint poor recovery.

### Managing chronic fatigue symptoms
A user wants to check if their hydration is affecting their activity. They ask, 'Did my water intake (`get_water`) correlate with my active minutes on days when I had low sleep efficiency?' The agent runs the correlation.

### Evaluating dietary impact
A user wants to see if high-carb meals are affecting their heart rate. They ask, 'Compare my average resting heart rate (`get_heart_timeseries`) on days I logged high protein vs. low fat.' This compares `get_foods_date` data with biometric metrics.

### Building a holistic patient report
A healthcare professional needs a summary for a client's consultation. They prompt the agent to pull together weight trends (`get_body_weight`), sleep logs, and SpO2 readings into one digestible document.

## Benefits

- Track fitness trends over time. Instead of just looking at today’s steps, you can use `get_activities_timeseries` to see how distance and calories trended over the last quarter.
- Analyze recovery status deeply. You can compare your sleep efficiency from `get_sleep_date` against your heart rate variability using `get_heart_date` for a clearer picture of readiness.
- Build comprehensive daily reports. The MCP pulls together data points like water intake (`get_water`), food logs (`get_foods_date`), and activity summaries into one cohesive narrative.
- Spot immediate health risks. You can check blood oxygen saturation levels using `get_spo2` to see if there are any anomalies that need attention, separate from your general activity level.
- Understand the basics quickly. Need a quick look at yesterday's stats? Use `get_activities_date` or `get_sleep_date` for an immediate summary without complex queries.

## How It Works

The bottom line is, you connect your account once, then use plain English to interrogate years of complex biometric measurements.

1. Subscribe to this MCP and generate an OAuth2 access token from your Fitbit Developer Portal.
2. Provide the access token credentials to your AI agent or client application.
3. Ask your AI client a natural language question (e.g., 'How was my heart rate last week?') and get a data-driven summary.

## Frequently Asked Questions

**Can I use get_activities_timeseries to see my steps for multiple years?**
Yes, `get_activities_timeseries` allows you to define a start date and end date. You can track major trends across long periods, but the data detail level may affect the range.

**How do I compare my sleep stages with my heart rate using get_sleep_date and get_heart_date?**
You must ask your agent to run a comparative query. The MCP reads both `get_sleep_date` and `get_heart_date` for the same date, allowing it to find correlations you can't see manually.

**What if I only want today’s data? Should I use get_activities_date or get_activities_timeseries?**
If you only need one day, use `get_activities_date`. It's simpler and faster than running a time series query for a single point in time.

**Does the Fitbit MCP track my hydration levels?**
Yes. You can get water consumption logs using the `get_water` tool, giving you milliliters consumed with timestamps throughout the day.

**How do I check my connected Fitbit hardware status using get_devices?**
Running get_devices lists all gadgets linked to your account. You can review the device version, last sync time, MAC address, and battery level to confirm that all data sources are active before querying metrics.

**When I run get_body_weight, what specific fitness metrics do I get besides just weight?**
The log entry includes more than just the recorded weight. You also receive your calculated Body Mass Index (BMI), body fat percentage, and the date of the measurement. This lets you track composition changes over time.

**What are the options for granularity when using get_activities_timeseries?**
You specify the detail level as '1min', '5min', '15min', or '1day'. Selecting a finer interval, like 1min, gives your agent highly granular data points that go far beyond simple daily summaries.

**If I need basic demographic info, which tool should I use—get_profile?**
Use get_profile. This retrieves general user details including your display name, full name, age, height, weight, and gender. It's perfect for setting up agent context or generating reports that require identifying information.

**Can I query sleep data for a specific date range?**
Yes! Use the sleep time series tool to query sleep trends across any date range. You can also inspect a single night in detail with the sleep date tool, including all sleep stages.

**What health metrics can I access?**
You can access 14 different health metrics: activities, sleep (date & time series), heart rate (date & time series), SpO2, breathing rate, cardio fitness score, body weight, water intake, food logs, device info, and user profile.