1. Conduid
  2. Developer Tools
  3. Fitbit
MCP server · Developer Tools

Fitbit

Fitbit Model Context Protocol integration for AI assistants

Unclaimed MIT last commit a year ago fitbitmcpaiassistanthealthfitness
62Good

Scored 19 days ago · breakdown

About Fitbit

Fitbit is an MCP server published by TheDigitalNinja in the Developer Tools category: fitbit Model Context Protocol integration for AI assistants. It has been installed 0 times through Conduid.

The repository has 25 stars and 11 forks, with the last commit a year ago. Six months or more without a commit doesn't mean the server is broken, but check the open issues (0) before depending on it in production.

Install

Install
npx mcp-fitbit
Claude Code
claude mcp add fitbit -- npx -y fitbit-mcp
npx
npx -y fitbit-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about Fitbit

Powered by Claude · Grounded in docs

I know everything about Fitbit. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.0.2v1.0.2 · 27 May 2025Simplify quick start steps
v1.0.1NPM Package Release · 26 May 2025Package now available for `npm install -g mcp-fitbit` Added comprehensive npm installation instructions Updated README with npm badges and usage Improved error messages with exact `.env` file paths Added both npm and development setup…

README

Fitbit MCP Connector for AI

Fitbit API CI Coverage Status npm version npm downloads

Connect AI assistants to your Fitbit health data

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.

What it does

🏃 Exercise & Activities - Get detailed workout logs and activity data
😴 Sleep Analysis - Retrieve sleep patterns and quality metrics
⚖️ Weight Tracking - Access weight trends over time
❤️ Heart Rate Data - Monitor heart rate patterns and zones
🍎 Nutrition Logs - Review food intake, calories, and macros
👤 Profile Info - Access basic Fitbit profile details

Ask your AI things like: "Show me my sleep patterns this week" or "What's my average heart rate during workouts?"

Quick Start

🚀 Want to test the tools right away?

Option 1: Install from npm (Recommended)

  1. Get Fitbit API credentials

    • Create an app with OAuth 2.0 Application Type: Personal
    • Set Callback URL: http://localhost:3000/callback
    • Note your Client ID and Client Secret
  2. Install the package globally:

npm install -g mcp-fitbit
  1. Add to your Claude Desktop config file:
{
  "mcpServers": {
    "fitbit": {
      "command": "mcp-fitbit",
      "args": [],
      "env": {
        "FITBIT_CLIENT_ID": "your_client_id_here",
        "FITBIT_CLIENT_SECRET": "your_client_secret_here"
      }
    }
  }
}
  • Config file location:
    • Windows: %AppData%\Claude\claude_desktop_config.json
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  1. Restart Claude Desktop and ask about your Fitbit data!

Option 2: Development Setup

  1. Get Fitbit API credentials (see Installation below)
  2. Then run:
git clone https://github.com/TheDigitalNinja/mcp-fitbit
cd mcp-fitbit
npm install
# Create .env with your Fitbit credentials
npm run dev

Both options open the MCP Inspector at http://localhost:5173 where you can test all tools interactively and handle the OAuth flow.

Installation

For End Users (npm package)

  1. Get Fitbit API credentials at dev.fitbit.com

    • Set OAuth 2.0 Application Type to Personal
    • Set Callback URL to http://localhost:3000/callback
  2. Install the package:

    npm install -g mcp-fitbit
    
  3. Create .env file in the package directory:

    When you run mcp-fitbit for the first time, it will tell you exactly where to create the .env file. It will look something like:

    C:\Users\YourName\AppData\Roaming\npm\node_modules\mcp-fitbit\.env
    
  4. Add your credentials to the .env file:

    FITBIT_CLIENT_ID=your_client_id_here
    FITBIT_CLIENT_SECRET=your_client_secret_here
    
  5. Run the server:

    mcp-fitbit
    

For Developers (from source)

  1. Get Fitbit API credentials at dev.fitbit.com

    • Set OAuth 2.0 Application Type to Personal
    • Set Callback URL to http://localhost:3000/callback
  2. Clone and setup:

    git clone https://github.com/TheDigitalNinja/mcp-fitbit
    cd mcp-fitbit
    npm install
    
  3. Create .env file:

    FITBIT_CLIENT_ID=your_client_id_here
    FITBIT_CLIENT_SECRET=your_client_secret_here
    
  4. Build the server:

    npm run build
    

Available Tools

Tool Description Parameters
get_weight Weight data over time periods period: 1d, 7d, 30d, 3m, 6m, 1y
get_sleep_by_date_range Sleep logs for date range (max 100 days) startDate, endDate (YYYY-MM-DD)
get_exercises Activity/exercise logs after date afterDate (YYYY-MM-DD), limit (1-100)
get_daily_activity_summary Daily activity summary with goals date (YYYY-MM-DD)
get_activity_goals User's activity goals (daily/weekly) period: daily, weekly
get_activity_timeseries Activity time series data (max 30 days) resourcePath, startDate, endDate (YYYY-MM-DD)
get_azm_timeseries Active Zone Minutes time series (max 1095 days) startDate, endDate (YYYY-MM-DD)
get_heart_rate Heart rate for time period period: 1d, 7d, 30d, 1w, 1m, optional date
get_heart_rate_by_date_range Heart rate for date range (max 1 year) startDate, endDate (YYYY-MM-DD)
get_food_log Complete nutrition data for a day date (YYYY-MM-DD or "today")
get_nutrition Individual nutrient over time resource, period, optional date
get_nutrition_by_date_range Individual nutrient for date range resource, startDate, endDate
get_profile User profile information None

Nutrition resources: caloriesIn, water, protein, carbs, fat, fiber, sodium

Activity time series resources: steps, distance, calories, activityCalories, caloriesBMR, tracker/activityCalories, tracker/calories, tracker/distance

Claude Desktop

Using npm package (recommended):

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "fitbit": {
      "command": "mcp-fitbit",
      "args": []
    }
  }
}

Using local development version:

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "fitbit": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp-fitbit\\build\\index.js"]
    }
  }
}

Config file locations:

  • Windows: %AppData%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

First Run Authorization

When you first ask your AI assistant to use Fitbit data:

  1. The server opens your browser to http://localhost:3000/auth
  2. Log in to Fitbit and grant permissions
  3. You'll be redirected to a success page
  4. Your AI can now access your Fitbit data!

Development

npm run lint          # Check code quality
npm run format        # Fix formatting
npm run build         # Compile TypeScript
npm run dev           # Run with MCP inspector

Architecture: See TASKS.md for improvement opportunities and technical details.

README mirrored from the source repository 19 days ago. The original is authoritative.

Questions

About Fitbit

How do I install Fitbit?

Run npx mcp-fitbit, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is Fitbit safe to use with an AI agent?

Its trust score is 62 out of 100 (good). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Fitbit still maintained?

The last commit was a year ago, with 0 open issues. That's long enough that you should check whether the maintainer is responding to issues before depending on it.