About Fitbit
Fitbit is an MCP server published by TheDigitalNinja in the Developer Tools category: 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.
The repository has 34 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 before depending on it in production.
Install
git clone https://github.com/TheDigitalNinja/mcp-fitbitThis 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.
Tools (13)
get_activity_goalsUser's activity goals (daily/weekly)
Parameters not published.
get_activity_timeseriesActivity time series data (max 30 days)
Parameters not published.
get_azm_timeseriesActive Zone Minutes time series (max 1095 days)
Parameters not published.
get_daily_activity_summaryDaily activity summary with goals
Parameters not published.
get_exercisesActivity/exercise logs after date
Parameters not published.
get_food_logComplete nutrition data for a day
Parameters not published.
get_heart_rateHeart rate for time period
Parameters not published.
get_heart_rate_by_date_rangeHeart rate for date range (max 1 year)
Parameters not published.
get_nutritionIndividual nutrient over time
Parameters not published.
get_nutrition_by_date_rangeIndividual nutrient for date range
Parameters not published.
Show all 13 tools
get_profileUser profile information
Parameters not published.
get_sleep_by_date_rangeSleep logs for date range (max 100 days)
Parameters not published.
get_weightWeight data over time periods
Parameters not published.
Ask AI
Ask AI about Fitbit
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
Releases
README
Fitbit MCP Connector for AI
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)
-
- Create an app with OAuth 2.0 Application Type:
Personal - Set Callback URL:
http://localhost:3000/callback - Note your Client ID and Client Secret
- Create an app with OAuth 2.0 Application Type:
-
Install the package globally:
npm install -g mcp-fitbit
- 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
- Restart Claude Desktop and ask about your Fitbit data!
Option 2: Development Setup
- Get Fitbit API credentials (see Installation below)
- 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)
-
Get Fitbit API credentials at dev.fitbit.com
- Set OAuth 2.0 Application Type to
Personal - Set Callback URL to
http://localhost:3000/callback
- Set OAuth 2.0 Application Type to
-
Install the package:
npm install -g mcp-fitbit -
Create
.envfile in the package directory:When you run
mcp-fitbitfor the first time, it will tell you exactly where to create the.envfile. It will look something like:C:\Users\YourName\AppData\Roaming\npm\node_modules\mcp-fitbit\.env -
Add your credentials to the
.envfile:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
Run the server:
mcp-fitbit
For Developers (from source)
-
Get Fitbit API credentials at dev.fitbit.com
- Set OAuth 2.0 Application Type to
Personal - Set Callback URL to
http://localhost:3000/callback
- Set OAuth 2.0 Application Type to
-
Clone and setup:
git clone https://github.com/TheDigitalNinja/mcp-fitbit cd mcp-fitbit npm install -
Create
.envfile:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
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:
- The server opens your browser to
http://localhost:3000/auth - Log in to Fitbit and grant permissions
- You'll be redirected to a success page
- 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 fetched from the repository 4 days ago. The original is authoritative.