# Fitbit MCP MCP

> Fitbit analyzes deep health metrics, letting your AI agent pull data on active zone minutes, blood glucose levels, and sleep quality. You can manage fitness goals, create food logs, or analyze heart rate trends without opening the mobile app. It gives you raw numbers—like daily summaries of steps, calories, and weight changes—directly to your conversation.

## Overview
- **Category:** data-analytics
- **Price:** Free
- **Tags:** fitness-tracking, health-data, activity-logs, wearables, wellness

## Description

This MCP connects your Fitbit account directly to any AI agent for deep health analysis through natural conversation. Instead of digging through complex dashboards or exporting CSVs, you just ask the question. You can pull time series data on everything from heart rate variability (HRV) to blood glucose spikes, and even manage daily logs like creating a food entry or adjusting your weight goal. If you need access to this kind of diverse, granular health reporting, check out Vinkius, our catalog for managing all kinds of external APIs.

It’s about getting insights from the raw data—like understanding why your Active Zone Minutes dipped last week—without needing a developer to build a custom report. Your agent handles the complexity; you get the answer.

## Tools

### create_activity_goal
Sets a new goal for your general physical activity level.

### create_activity_log
Adds a record of an activity you completed at a specific time and location.

### create_alarm
Sets a reminder alarm on your device for a future time.

### create_food_log
Records the food you ate and the approximate calories it contained.

### create_sleep_log
Manually adds a record of your sleep duration and quality for a given night.

### create_subscription
Creates or updates details about an ongoing subscription service.

### create_water_log
Records the amount of water you drank throughout the day.

### create_weight_log
Adds a new measurement of your body weight to your records.

### delete_activity_log
Removes an incorrect or outdated entry from your activity history.

### delete_alarm
Deletes a scheduled alarm or reminder you no longer need.

### delete_sleep_log
Removes an incorrect sleep log entry from your records.

### delete_subscription
Deletes a subscription record that is no longer active.

### delete_weight_log
Removes an incorrect or outdated weight measurement from your history.

### get_activity_intraday
Retrieves a breakdown of all activities performed within a single day.

### get_activity_log_list
Gets a list summary of every activity log entry you've recorded.

### get_activity_tcx
Accesses the raw, detailed technical files for specific workout sessions.

### get_alarms
Retrieves a list of all currently active or scheduled alarms.

### get_azm_by_date
Gets the total minutes spent in your Active Zone on a specific day.

### get_azm_by_interval
Calculates Active Zone Minutes data across an entire date range.

### get_badges
Fetches a list of fitness achievements or badges you have earned.

### get_blood_glucose
Retrieves recorded blood glucose readings across specified time periods.

### get_body_goals
Shows your current fitness targets, like desired weight or body fat percentage.

### get_breathing_rate_by_date
Gets a summary of your breathing rate measurements for a specific day.

### get_breathing_rate_by_interval
Retrieves breathing rate data across an extended time frame.

### get_core_temperature
Gets the recorded core body temperature summary for a given date.

### get_daily_activity_summary
Provides a high-level overview of your total daily steps, distance, and calories burned.

### get_devices
Lists all the connected Fitbit devices linked to your account.

### get_ecg_log_list
Gets a list of recorded electrocardiogram (ECG) measurements.

### get_food_log
Retrieves all previously logged meals and the associated nutritional data.

### get_friends_leaderboard
Shows a ranked list of your friends' fitness achievements against each other.

### get_friends
Lists your connected Fitbit friends for comparison or leaderboard viewing.

### get_heart_rate_by_date
Provides the heart rate data recorded for every hour of a specific day.

### get_heart_rate_by_interval
Gets detailed heart rate metrics across a flexible date range.

### get_heart_rate_intraday
Retrieves the minute-by-minute heart rate data recorded throughout a day.

### get_hrv_by_date
Gets a summary of your Heart Rate Variability (HRV) for a given date.

### get_hrv_by_interval
Retrieves HRV data across an extended time frame to track trends.

### get_irn_alerts
Fetches a list of alerts related to your Irregular Rhythm Notifications (IRN).

### get_irn_profile
Retrieves specific profile information regarding irregular rhythm notifications.

### get_profile
Shows your basic account details and personal metrics recorded on Fitbit.

### get_skin_temperature
Gets a summary of temperature readings taken from your skin sensors for a specific date.

### get_sleep_log_by_date
Retrieves the detailed sleep log data recorded specifically for one night.

### get_sleep_log_by_interval
Gets a comprehensive view of sleep logs across an entire date range.

### get_spo2_by_date
Provides your blood oxygen saturation (SpO2) summary for a specific day.

### get_spo2_by_interval
Retrieves SpO2 data across multiple dates to show trends.

### get_subscription_list
Shows a full list of all current and past subscriptions linked to the account.

### get_vo2_max
Calculates your estimated maximal oxygen consumption (VO2 Max) for a specific date.

### get_water_log
Retrieves all logged instances of water intake for the day.

### get_weight_log
Displays all recorded measurements of your body weight over time.

### introspect_token
Checks the validity and scope of your connection token to ensure secure data access.

### update_alarm
Changes the time or details of an existing alarm reminder.

### update_profile
Modifies personal profile information, such as height or age.

## Prompt Examples

**Prompt:** 
```
Show my activity summary for today.
```

**Response:** 
```
I've retrieved your daily summary. Today you've taken 8,432 steps, covered 6.2km, and burned 2,150 calories. You also have 25 Active Zone Minutes recorded.
```

**Prompt:** 
```
What are my current weight goals on Fitbit?
```

**Response:** 
```
Your current weight goal is set to 75kg. You started at 80kg, meaning you are 5kg away from your target. Would you like to see your recent weight logs?
```

**Prompt:** 
```
Get my Active Zone Minutes for the last 7 days.
```

**Response:** 
```
Fetching your AZM data for the past week... You averaged 35 minutes per day, with a peak of 60 minutes last Tuesday. You've met your weekly intensity goal!
```

## Capabilities

### undefined
undefined

### undefined
undefined

### undefined
undefined

### undefined
undefined

### undefined
undefined

## Use Cases

### Reviewing Workout Intensity
An athlete wants to know if their intensity is trending up. They ask their agent, and it runs `get_azm_by_interval` and compares the results across months, showing a clear improvement curve.

### Post-Illness Check-in
A user recovering from an illness needs to monitor basic health. They ask for their `get_spo2_by_interval` and check the core temperature trend using `get_core_temperature`, giving them a quick, actionable report.

### Dietary Accountability
Someone trying to lose weight needs to track everything. They use `create_weight_log` every morning and then feed the data back into their agent alongside entries from `get_food_log` for a holistic picture.

### Deep Performance Dive
A dedicated amateur runner needs to analyze pacing. They ask the agent to pull `get_activity_tcx` data for three specific runs, allowing them to inspect minute-by-minute performance metrics that standard summaries ignore.

## Benefits

- Stop guessing about your fitness. Use the `get_azm_by_date` tool to pull Active Zone Minutes history, telling you exactly when and how hard you were working on specific days.
- Tracking complex health changes used to mean diving into separate apps. Now, get vital metrics like blood glucose or core temperature summaries using tools like `get_blood_glucose` directly through your agent.
- Need a quick record? Instead of opening the app and manually logging everything, use `create_food_log` or `create_water_log` to quickly update your daily totals with minimal effort.
- Managing goals is easier than it was. Use `get_body_goals` to see what you're working toward, then use `create_activity_goal` to set the next target—all in one chat session.
- The raw data is available when you need it. If a summary isn't enough, run `get_activity_tcx` to get the underlying technical files for deep personal analysis.

## How It Works

The bottom line is that it takes all those complex health dashboards and turns them into simple conversational data points.

1. Subscribe to this MCP and enter your Fitbit Personal Access Token. This connects the system to your health account.
2. Tell your AI agent what data you need, for example: 'What was my SpO2 summary last week?'
3. The agent uses the necessary tools to pull the raw metrics and presents a summarized answer in plain language.

## Frequently Asked Questions

**How do I check my blood glucose levels with get_blood_glucose?**
You prompt your agent and specify the time range. It then runs `get_blood_glucose` to retrieve the recorded measurements for you, showing trends over that period.

**Can I use create_activity_goal to set a weight goal?**
No. Use `create_activity_goal` for physical movement targets. For managing body weight goals, you need the `get_body_goals` tool or `create_weight_log`.

**What is get_azm_by_date?**
This tool retrieves your Active Zone Minutes for a specific day. It helps quantify how much of your activity kept your heart pumping hard, which is key to fitness progress.

**How do I see my sleep data across months using get_sleep_log_by_interval?**
You use `get_sleep_log_by_interval` and specify the start and end dates. This gives you a comprehensive view of your rest patterns over an entire period.

**Can I delete old records using delete_weight_log?**
Yes, if you entered a weight measurement by mistake, running `delete_weight_log` removes that entry from your history so your data stays clean.

**What should I do if my OAuth credentials expire before running get_profile?**
You must re-authenticate with Fitbit through your client's developer tools. The MCP will prompt you to refresh the token when it detects an expired or invalid Personal Access Token (PAT). Always ensure your client handles token expiration gracefully for continuous use.

**What date format does get_heart_rate_by_interval require for custom ranges?**
It requires a standard ISO 8601 string for both the start and end dates. For example, 'YYYY-MM-DDTHH:MM:SSZ'. Using this precise format ensures your agent pulls data for the exact time window you need.

**Are there rate limits when fetching a large set of logs using get_activity_log_list?**
Yes, standard API usage applies. If you query too many entries in quick succession, your agent will receive an HTTP 429 error. You should implement pagination or add a small delay between calls to avoid rate limiting.

**Can I check my Active Zone Minutes for a specific date range?**
Yes. You can use the `get_azm_by_interval` tool by providing a start and end date to see your heart rate intensity trends over that period.

**Is it possible to log a workout manually through the AI?**
Absolutely. Use the `create_activity_log` tool. You just need to provide the activity details like ID, start time, and duration in the JSON body.

**Can I monitor my weight and body fat goals?**
Yes, the `get_body_goals` tool allows you to retrieve your current configured goals for either 'weight' or 'fat' to keep track of your progress.