Labsco
TheDigitalNinja logo

Fitbit

β˜… 32

from TheDigitalNinja

Access your Fitbit health and fitness data for personalized insights.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredAdvanced setup

Fitbit MCP Connector for AI

Fitbit API CI Coverage Status License: MIT 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?"

Available Tools

ToolDescriptionParameters
get_weightWeight data over time periodsperiod: 1d, 7d, 30d, 3m, 6m, 1y
get_sleep_by_date_rangeSleep logs for date range (max 100 days)startDate, endDate (YYYY-MM-DD)
get_exercisesActivity/exercise logs after dateafterDate (YYYY-MM-DD), limit (1-100)
get_daily_activity_summaryDaily activity summary with goalsdate (YYYY-MM-DD)
get_activity_goalsUser's activity goals (daily/weekly)period: daily, weekly
get_activity_timeseriesActivity time series data (max 30 days)resourcePath, startDate, endDate (YYYY-MM-DD)
get_azm_timeseriesActive Zone Minutes time series (max 1095 days)startDate, endDate (YYYY-MM-DD)
get_heart_rateHeart rate for time periodperiod: 1d, 7d, 30d, 1w, 1m, optional date
get_heart_rate_by_date_rangeHeart rate for date range (max 1 year)startDate, endDate (YYYY-MM-DD)
get_food_logComplete nutrition data for a daydate (YYYY-MM-DD or "today")
get_nutritionIndividual nutrient over timeresource, period, optional date
get_nutrition_by_date_rangeIndividual nutrient for date rangeresource, startDate, endDate
get_profileUser profile informationNone

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.