mcpField
F
Fitbit MCP Server

Fitbit MCP Server

ローカル
thedigital.ninjaAI・エージェント3474 週間前に更新

Fitbit MCP Server について

Fitbit MCP Server は、Claude Desktop など MCP 対応の AI ツールから Fitbit の健康データにアクセスできるようにするサーバーです。運動、睡眠、心拍数などの傾向分析に利用できます。個人ユーザーが AI アシスタントで自分のデータを確認する用途を想定しています。

主な機能

  1. 01運動記録と日次アクティビティの要約
  2. 02睡眠ログと睡眠品質の指標
  3. 03体重、心拍数、栄養データの取得
  4. 04複数の指標に対する日付範囲での照会
  5. 05Fitbit への OAuth 2.0 による認可

活用シーン

  1. 01過去 1 週間の睡眠パターンの確認
  2. 02運動中の平均心拍数の確認
  3. 03体重の推移と食事摂取量の把握

MCP 対応

本プロジェクトは MCP サーバーであり、get_sleep_by_date_range、get_heart_rate、get_food_log などの Fitbit データ用ツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

AI 向け Fitbit MCP コネクター

Fitbit API CI Coverage Status License: MIT npm version npm downloads

AI アシスタントを Fitbit の健康データに接続します

AI アシスタントに Fitbit データへのアクセスを許可して、個人に合わせた健康に関する分析、傾向の分析、自動トラッキングに活用できます。Claude Desktop やその他の MCP 互換 AI ツールで利用できます。

できること

🏃 運動とアクティビティ - 詳細なワークアウト記録とアクティビティデータを取得します
😴 睡眠分析 - 睡眠パターンと睡眠の質の指標を取得します
⚖️ 体重のトラッキング - 時間経過に伴う体重の推移にアクセスします
❤️ 心拍数データ - 心拍数のパターンやゾーンを確認します
🍎 栄養記録 - 食事の摂取内容、カロリー、マクロ栄養素を確認します
👤 プロフィール情報 - Fitbit の基本的なプロフィール情報にアクセスします

AI に「今週の睡眠パターンを見せて」や「ワークアウト中の平均心拍数は?」などと質問できます。

クイックスタート

🚀 すぐにツールを試してみませんか?

オプション 1:npm からインストール(推奨)
  1. Fitbit API の認証情報を取得します

    • OAuth 2.0 のアプリケーションタイプを Personal にしてアプリを作成します
    • コールバック URL を http://localhost:3000/callback に設定します
    • Client ID と Client Secret を控えます
  2. パッケージをグローバルにインストールします:

npm install -g mcp-fitbit
  1. 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
  1. Claude Desktop を再起動し、Fitbit データについて質問します!
オプション 2:開発環境のセットアップ
  1. Fitbit API の認証情報を取得します(詳しくは「インストール」を参照)
  2. 次のコマンドを実行します:
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 パッケージ)
  1. dev.fitbit.com で Fitbit API の認証情報を取得します

    • OAuth 2.0 のアプリケーションタイプを Personal に設定します
    • コールバック URLを http://localhost:3000/callback に設定します
  2. パッケージをインストールします:

    npm install -g mcp-fitbit
    
  3. パッケージのディレクトリに .env ファイルを作成します:

    mcp-fitbit を初めて実行すると、.env ファイルを作成する場所が正確に表示されます。次のような場所になります:

    C:\Users\YourName\AppData\Roaming\npm\node_modules\mcp-fitbit\.env
    
  4. 認証情報を .env ファイルに追加します:

    FITBIT_CLIENT_ID=your_client_id_here
    FITBIT_CLIENT_SECRET=your_client_secret_here
    
  5. サーバーを実行します:

    mcp-fitbit
    
開発者向け(ソースから)
  1. dev.fitbit.com で Fitbit API の認証情報を取得します

    • OAuth 2.0 のアプリケーションタイプを Personal に設定します
    • コールバック URLを http://localhost:3000/callback に設定します
  2. クローンしてセットアップします:

    git clone https://github.com/TheDigitalNinja/mcp-fitbit
    cd mcp-fitbit
    npm install
    
  3. .env ファイルを作成します:

    FITBIT_CLIENT_ID=your_client_id_here
    FITBIT_CLIENT_SECRET=your_client_secret_here
    
  4. サーバーをビルドします:

    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_log1日分の栄養データ全体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 データの利用を依頼すると:

  1. サーバーがブラウザーで http://localhost:3000/auth を開きます
  2. Fitbit にログインし、アクセスを許可します
  3. 成功ページにリダイレクトされます
  4. 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 を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。