Fitbit MCP Server について
Fitbit MCP Server は、Claude Desktop など MCP 対応の AI ツールから Fitbit の健康データにアクセスできるようにするサーバーです。運動、睡眠、心拍数などの傾向分析に利用できます。個人ユーザーが AI アシスタントで自分のデータを確認する用途を想定しています。
主な機能
- 01運動記録と日次アクティビティの要約
- 02睡眠ログと睡眠品質の指標
- 03体重、心拍数、栄養データの取得
- 04複数の指標に対する日付範囲での照会
- 05Fitbit への OAuth 2.0 による認可
活用シーン
- 01過去 1 週間の睡眠パターンの確認
- 02運動中の平均心拍数の確認
- 03体重の推移と食事摂取量の把握
MCP 対応
本プロジェクトは MCP サーバーであり、get_sleep_by_date_range、get_heart_rate、get_food_log などの Fitbit データ用ツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AI 向け Fitbit MCP コネクター
AI アシスタントを Fitbit の健康データに接続します
AI アシスタントに Fitbit データへのアクセスを許可して、個人に合わせた健康に関する分析、傾向の分析、自動トラッキングに活用できます。Claude Desktop やその他の MCP 互換 AI ツールで利用できます。
できること
🏃 運動とアクティビティ - 詳細なワークアウト記録とアクティビティデータを取得します
😴 睡眠分析 - 睡眠パターンと睡眠の質の指標を取得します
⚖️ 体重のトラッキング - 時間経過に伴う体重の推移にアクセスします
❤️ 心拍数データ - 心拍数のパターンやゾーンを確認します
🍎 栄養記録 - 食事の摂取内容、カロリー、マクロ栄養素を確認します
👤 プロフィール情報 - Fitbit の基本的なプロフィール情報にアクセスします
AI に「今週の睡眠パターンを見せて」や「ワークアウト中の平均心拍数は?」などと質問できます。
クイックスタート
🚀 すぐにツールを試してみませんか?
オプション 1:npm からインストール(推奨)
-
- OAuth 2.0 のアプリケーションタイプを
Personalにしてアプリを作成します - コールバック URL を
http://localhost:3000/callbackに設定します - Client ID と Client Secret を控えます
- OAuth 2.0 のアプリケーションタイプを
-
パッケージをグローバルにインストールします:
npm install -g mcp-fitbit
- Claude Desktop の設定ファイルに追加します:
{
"mcpServers": {
"fitbit": {
"command": "mcp-fitbit",
"args": [],
"env": {
"FITBIT_CLIENT_ID": "your_client_id_here",
"FITBIT_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
- 設定ファイルの場所:
- Windows:%AppData%\Claude\claude_desktop_config.json
- macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- Linux:~/.config/Claude/claude_desktop_config.json
- Claude Desktop を再起動し、Fitbit データについて質問します!
オプション 2:開発環境のセットアップ
- Fitbit API の認証情報を取得します(詳しくは「インストール」を参照)
- 次のコマンドを実行します:
git clone https://github.com/TheDigitalNinja/mcp-fitbit
cd mcp-fitbit
npm install
# Create .env with your Fitbit credentials
npm run dev
どちらのオプションでも、http://localhost:5173 で MCP Inspector が開き、すべてのツールを対話形式でテストし、OAuth フローを処理できます。
インストール
エンドユーザー向け(npm パッケージ)
-
dev.fitbit.com で Fitbit API の認証情報を取得します
- OAuth 2.0 のアプリケーションタイプを
Personalに設定します - コールバック URLを
http://localhost:3000/callbackに設定します
- OAuth 2.0 のアプリケーションタイプを
-
パッケージをインストールします:
npm install -g mcp-fitbit -
パッケージのディレクトリに
.envファイルを作成します:mcp-fitbitを初めて実行すると、.envファイルを作成する場所が正確に表示されます。次のような場所になります:C:\Users\YourName\AppData\Roaming\npm\node_modules\mcp-fitbit\.env -
認証情報を
.envファイルに追加します:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
サーバーを実行します:
mcp-fitbit
開発者向け(ソースから)
-
dev.fitbit.com で Fitbit API の認証情報を取得します
- OAuth 2.0 のアプリケーションタイプを
Personalに設定します - コールバック URLを
http://localhost:3000/callbackに設定します
- OAuth 2.0 のアプリケーションタイプを
-
クローンしてセットアップします:
git clone https://github.com/TheDigitalNinja/mcp-fitbit cd mcp-fitbit npm install -
.envファイルを作成します:FITBIT_CLIENT_ID=your_client_id_here FITBIT_CLIENT_SECRET=your_client_secret_here -
サーバーをビルドします:
npm run build
利用可能なツール
| ツール | 説明 | パラメーター |
|---|---|---|
get_weight | 期間ごとの体重データ | period: 1d、7d、30d、3m、6m、1y |
get_sleep_by_date_range | 指定した日付範囲の睡眠ログ(最大100日) | startDate、endDate(YYYY-MM-DD) |
get_exercises | 指定した日付以降のアクティビティ/運動ログ | afterDate(YYYY-MM-DD)、limit(1-100) |
get_daily_activity_summary | 目標を含む日次アクティビティの概要 | date(YYYY-MM-DD) |
get_activity_goals | ユーザーのアクティビティ目標(日次/週次) | period: daily、weekly |
get_activity_timeseries | アクティビティの時系列データ(最大30日) | resourcePath、startDate、endDate(YYYY-MM-DD) |
get_azm_timeseries | アクティブゾーン時間の時系列データ(最大1095日) | startDate、endDate(YYYY-MM-DD) |
get_heart_rate | 指定した期間の心拍数 | period: 1d、7d、30d、1w、1m、オプションの date |
get_heart_rate_by_date_range | 指定した日付範囲の心拍数(最大1年) | startDate、endDate(YYYY-MM-DD) |
get_food_log | 1日分の栄養データ全体 | date(YYYY-MM-DD または "today") |
get_nutrition | 期間ごとの個別の栄養素 | resource、period、オプションの date |
get_nutrition_by_date_range | 指定した日付範囲の個別の栄養素 | resource、startDate、endDate |
get_profile | ユーザープロフィール情報 | なし |
栄養リソース: caloriesIn、water、protein、carbs、fat、fiber、sodium
アクティビティ時系列リソース: steps、distance、calories、activityCalories、caloriesBMR、tracker/activityCalories、tracker/calories、tracker/distance
Claude Desktop
npm パッケージを使用(推奨):
claude_desktop_config.json に追加します:
{
"mcpServers": {
"fitbit": {
"command": "mcp-fitbit",
"args": []
}
}
}
ローカル開発バージョンを使用:
claude_desktop_config.json に追加します:
{
"mcpServers": {
"fitbit": {
"command": "node",
"args": ["C:\\path\\to\\mcp-fitbit\\build\\index.js"]
}
}
}
設定ファイルの場所:
- Windows:
%AppData%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
初回実行時の認証
AI アシスタントに初めて Fitbit データの利用を依頼すると:
- サーバーがブラウザーで
http://localhost:3000/authを開きます - Fitbit にログインし、アクセスを許可します
- 成功ページにリダイレクトされます
- AI が Fitbit データにアクセスできるようになります!
開発
npm run lint # Check code quality
npm run format # Fix formatting
npm run build # Compile TypeScript
npm run dev # Run with MCP inspector
アーキテクチャ: 改善点と技術的な詳細については、TASKS.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。