mcpField
C
Calorie Tracker MCP Server

Calorie Tracker MCP Server

ローカル
github.com/thitiph0nヘルスケア455 週間前に更新

Calorie Tracker MCP Server について

Calorie Tracker MCP Serverは、食事や身体指標を記録する人向けのサーバーです。食品の栄養素を管理し、Mifflin-St Jeor式でBMRとTDEEを計算します。

主な機能

  1. 01栄養素付き食品記録
  2. 02BMRとTDEEの計算
  3. 03プロフィールと活動レベルの更新
  4. 04体重と体組成の履歴管理
  5. 05PKCE対応OAuth 2.1

活用シーン

  1. 01毎日の食事記録
  2. 02プロフィールに基づく必要エネルギーの推定
  3. 03体重と体組成の推移確認

MCP 対応

MCPクライアントに、食品記録、プロフィール、履歴、ユーザー管理のツールを提供します。PKCE対応のOAuth 2.1認証をサポートします。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"calorie-tracker": {
"command": "npx",
"args": [
"-y",
"wrangler"
]
}
}
}
起動コマンドnpx -y wrangler

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmwrangler

ツール

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

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

詳細

Calorie Tracker MCP サーバー

Calorie Tracker MCP サーバー

正確なBMR/TDEE計算で毎日のカロリー摂取量を記録するMCPサーバーです。Cloudflare WorkersとD1データベースを基盤として構築されています。

特徴

  • 食事の記録:栄養素を含む食事記録の追加、更新、削除
  • プロフィール管理:Mifflin-St Jeor方程式を使用したBMR/TDEE計算
  • 過去のデータ:体重や体組成の経時的な記録
  • セキュア:PKCEに対応したOAuth 2.1認証

クイックセットアップ

pnpm install

# Create resources and update wrangler.jsonc with IDs
npx wrangler d1 create calorie-tracker
npx wrangler kv:namespace create OAUTH_KV

# Run migrations and start dev server
npx wrangler d1 migrations apply calorie-tracker --local
pnpm run dev

OAuth クライアントの登録

管理者 API キーを設定します:

# Development: Update wrangler.jsonc vars.ADMIN_API_KEY
# Production: Use secrets
npx wrangler secret put ADMIN_API_KEY

OAuth クライアントを登録して認証情報を取得します:

curl -X POST http://localhost:8787/oauth/register \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_ADMIN_API_KEY" \
  -d '{
    "client_name": "Claude Desktop",
    "redirect_uris": ["http://127.0.0.1/callback", "http://localhost/callback"],
    "user_id": "admin"
  }'

注:Claude DesktopはOAuthフロー中にコールバックURLを指定します。リダイレクトURIの不一致エラーが発生した場合は、Claude DesktopのOAuthログで、実際に指定されているコールバックURLを確認してください。

レスポンス:

{
  "client_id": "uuid-client-id",
  "client_secret": "generated-secret",
  "client_name": "Claude Desktop"
}

Claude の設定

オプション1:ベアラートークン(Personal/Pro/Max)

クライアントシークレットをベアラートークンとして使用するシンプルな認証方式です:

  1. OAuth クライアントを登録:

    curl -X POST http://localhost:8787/oauth/register \
      -H "Content-Type: application/json" \
      -H "X-API-Key: YOUR_ADMIN_API_KEY" \
      -d '{
        "client_name": "Claude Desktop",
        "redirect_uris": ["https://claude.ai/api/mcp/auth_callback"],
        "user_id": "admin"
      }'
    

    レスポンスのclient_secretを保存します。

  2. Claude Desktop の設定(claude_desktop_config.json):

    {
      "mcpServers": {
        "calorie-tracker": {
          "command": "npx",
          "args": ["mcp-remote", "http://localhost:8787/sse"],
          "env": {
            "BEARER_TOKEN": "<client_secret from registration>"
          }
        }
      }
    }
    
オプション2:クライアント認証情報を使用したOAuth(Team/Enterpriseのみ)

クライアント ID/シークレットを使用するプライベートコネクターです:

  1. コールバックURLをhttps://claude.ai/api/mcp/auth_callbackにしてOAuth クライアントを登録します

  2. Claudeでカスタムコネクターを追加します:

    • 名前:Calorie Tracker
    • リモート MCP サーバー URL:https://YOUR-WORKER.workers.dev/sse
    • OAuth クライアント ID:<client_id from registration>
    • OAuth クライアントシークレット:<client_secret from registration>
本番環境へのデプロイ

モバイル/Webからアクセスできるよう、Cloudflare Workersにデプロイします:

pnpm run deploy
pnpm run migrate
npx wrangler secret put ADMIN_API_KEY

ツール

食事の記録:

  • list_entries - ページネーション対応で食事記録を一覧表示
  • add_entry - 栄養素を含む食事記録を追加
  • update_entry - 既存の食事記録を更新
  • delete_entry - 食事記録を削除

プロフィール管理:

  • get_profile - BMR/TDEE計算を含むプロフィールを取得
  • update_profile - プロフィールデータ(身長、体重、活動レベル)を更新
  • get_profile_history - 過去の記録データ

管理者:

  • register_user - 新規ユーザーを登録
  • revoke_user - ユーザーのアクセス権を取り消す

BMR/TDEEの計算

Mifflin-St Jeor方程式(標準的な計算式)を使用します:

男性: BMR = (10 × weight) + (6.25 × height) - (5 × age) + 5
女性: BMR = (10 × weight) + (6.25 × height) - (5 × age) - 161

TDEE: BMR × Activity Multiplier(1.2 - 1.9)

開発

pnpm test           # Run tests
pnpm run type-check # TypeScript validation
pnpm run deploy     # Deploy to production
pnpm run migrate    # Run migrations on remote

技術スタック

  • ランタイム:Cloudflare Workers
  • データベース:D1(SQLite)
  • 言語:TypeScript
  • バリデーション:Zod
  • テスト:Vitest

コメント

MCP は初めてですか?

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

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