Fitbit

Give your AI assistant access to your Fitbit data for personalized health insights, trend analysis, and automated tracking. Works with Claude Desktop and other MCP-compatible AI tools.
  • typescript

23

GitHub Stars

typescript

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "thedigitalninja-mcp-fitbit": {
      "command": "mcp-fitbit",
      "args": [],
      "env": {
        "FITBIT_CLIENT_ID": "your_client_id_here",
        "FITBIT_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

You can connect your AI assistant to your Fitbit data using the Fitbit MCP Connector for AI, enabling personalized health insights from workouts, sleep, weight, heart rate, nutrition, and profile information. It works with Claude Desktop and other MCP-compatible tools to give your AI access to your Fitbit health data.

How to use

Install and run the Fitbit MCP server as an MCP stdio server, then connect your MCP client (for example Claude Desktop) to the local server to access your Fitbit data. When you first request to use Fitbit data, the server will open a browser to authorize access to your Fitbit account. After you authorize, your AI can query data such as sleep patterns, heart rate, workouts, and nutrition.

Useful patterns include asking your AI questions like, “Show me my sleep patterns this week” or “What was my average heart rate during workouts?” You can query a variety of data types, including exercise logs, sleep analysis, nutrition logs, and profile info.

Configure the MCP client to point at the Fitbit MCP server as a local stdio process, then start the client and begin querying Fitbit data. The MCP Inspector is available locally at http://localhost:5173 to test tools and the authorization flow.

How to install

Prerequisites: you need Node.js installed on your machine. You will also set up Fitbit API credentials. Use an OAuth 2.0 Personal app and a callback URL of http://localhost:3000/callback.

Option A: Install from npm (recommended)

npm install -g mcp-fitbit

Create a configuration block for Claude Desktop (or your MCP client) that points to the local Fitbit MCP server and provides your Fitbit credentials via environment variables.

{
  "mcpServers": {
    "fitbit": {
      "command": "mcp-fitbit",
      "args": [],
      "env": {
        "FITBIT_CLIENT_ID": "your_client_id_here",
        "FITBIT_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}

Option A continuation: startup and first run

After adding the config, restart your MCP client. When you run the server for the first time, it will guide you through the OAuth flow and ask you to authorize access to your Fitbit data.

Run the server and begin using Fitbit data with your AI assistant.

Option B: Development setup

If you are developing locally, you can clone the project, install dependencies, and run in development mode.

git clone https://github.com/TheDigitalNinja/mcp-fitbit
cd mcp-fitbit
npm install
# Create .env with your Fitbit credentials
npm run dev

Available tools

get_weight

Fetch weight data over a specified time period. Supported periods include 1d, 7d, 30d, 3m, 6m, and 1y.

get_sleep_by_date_range

Retrieve sleep logs within a date range. You can specify startDate and endDate in YYYY-MM-DD format (max 100 days).

get_exercises

Obtain activity and exercise logs after a given date. Include afterDate (YYYY-MM-DD) and limit (1-100).

get_daily_activity_summary

Get the daily activity summary for a specific date, including goals.

get_activity_goals

Query the user’s activity goals, either daily or weekly.

get_activity_timeseries

Access activity time series data such as steps, distance, calories, and zones for a date range.

get_azm_timeseries

Retrieve Active Zone Minutes time series over a date range (up to 1095 days).

get_heart_rate

Fetch heart rate data for a period such as 1d, 7d, 30d, 1w, 1m, or an exact date.

get_heart_rate_by_date_range

Obtain heart rate data for a specified date range (max 1 year).

get_food_log

Return complete nutrition data for a single day, including meals and entries.

get_nutrition

Query nutrition data for a resource over a period, with an optional date.

get_nutrition_by_date_range

Fetch nutrition data for a date range for a specific nutrient or resource.

get_profile

Retrieve user profile information.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational