Food Tracker MCP について
Food Tracker MCP は、OpenFoodFacts を利用して食品記録と栄養管理を行う MCP サーバーです。食事制限の管理、製品の適合性確認、摂取記録にも対応します。
主な機能
- 01バーコードやキーワードで食品検索
- 02製品の栄養成分を分析
- 03食事制限やアレルギーを管理
- 04制限に対する製品の適合性確認
- 05食事を記録して栄養概要を表示
活用シーン
- 01バーコードで栄養情報を確認
- 02食事制限に合う製品か購入前に確認
- 03毎日の食事を記録して摂取状況を確認
MCP 対応
MCP クライアント向けに、製品検索、栄養分析、制限管理、食事記録のツールを提供し、OpenFoodFacts を通じて製品情報を取得します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Food Tracker MCP
食品の摂取状況を追跡し、栄養を分析し、食事制限を管理するための Model Context Protocol(MCP)サーバーです。
概要
Food Tracker MCP は OpenFoodFacts データベースと連携し、以下の機能を備えた包括的な食品追跡システムを提供します。
- バーコードまたはキーワードで食品を検索
- 食品の栄養成分を分析
- 特定の栄養目標と食事制限に基づいて献立を作成
- 食事の記録で食品の摂取状況を追跡
- 食事制限とアレルギーを管理
- 製品がユーザーの制限に適合するか確認
- 食事の記録と栄養サマリーを表示
インストール
前提条件
- Python 3.8 以降
pip(Python パッケージマネージャー)
セットアップ
- リポジトリをクローンするか、
food_tracker.pyファイルをダウンロードします。
# Option 1: Clone the repository (if available)
git clone https://github.com/yourusername/food-tracker-mcp.git
cd food-tracker-mcp
# Option 2: Create a new directory and save the file there
mkdir food-tracker-mcp
cd food-tracker-mcp
# Copy food_tracker.py into this directory
- 仮想環境を作成します(推奨)。
python -m venv venv
- 仮想環境を有効にします。
# On Windows
venv\Scripts\activate
# On macOS/Linux
source venv/bin/activate
- 必要な依存関係をインストールします。
pip install httpx fastmcp pydantic
- データディレクトリが作成されていることを確認します(スクリプトの初回実行時に自動的に作成されます)。
mkdir -p data/users data/logs
MCP サーバーの実行
次のコマンドでサーバーを実行します。
python food_tracker.py
サーバーが起動し、コマンドを受信できる状態になります。
Claude での使用
この MCP を Claude で使用するには、Claude プラットフォームに登録する必要があります。手順は次のとおりです。
-
Anthropic のドキュメントに従って MCP を登録します。
- https://console.anthropic.com/mcps にアクセスするか、Anthropic アカウントの該当セクションを開きます
- 必要な情報とエンドポイントを指定して、food-tracker MCP を登録します
-
登録すると、MCP のツールを呼び出して、Claude から Food Tracker を利用できます。
Claude で使用できるプロンプトの例:
- 「このバーコードをスキャンして栄養情報を確認してください:3270190119357」
- 「食事制限にピーナッツアレルギーを追加してください」
- 「朝食にグラノーラバーを食べたと記録してください」
- 「『オートミール』を含む製品を検索してください」
- 「この製品が食事制限に適合するか確認してください」
- 「今日の食事の記録を表示してください」
利用可能なツール
この MCP は、Claude から利用できる以下のツールを提供します。
1. get_product_by_barcode
バーコードを使って食品の詳細情報を取得します。
パラメーター:
barcode:製品のバーコード(EAN、UPC など)
2. search_products
名前または説明で食品を検索します。
パラメーター:
query:検索クエリpage:ページネーションのページ番号(デフォルト:1)page_size:1 ページあたりの結果数(デフォルト:10)
3. manage_user_restrictions
ユーザーの食事制限を管理します。
パラメーター:
user_id:ユーザーの一意の識別子action:実行する操作(get、add、remove、update)restriction_type:制限の種類(アレルゲン、食事法、原材料、医療上の制限、好み)restriction_value:具体的な制限値(例:「ピーナッツ」、「ベジタリアン」)severity:制限の厳しさ(避ける、制限する、致命的)notes:制限に関する追加のメモ
4. check_product_compatibility
製品がユーザーの食事制限に適合するか確認します。
パラメーター:
user_id:ユーザーの一意の識別子barcode:確認する製品のバーコード
5. analyze_nutrition
食品の栄養成分を分析します。
パラメーター:
barcode:製品のバーコード
6. log_food_consumption
ユーザーの食品摂取を記録します。
パラメーター:
user_id:ユーザーの一意の識別子barcode:製品のバーコードquantity:摂取量(デフォルト:1 食分)meal_type:食事の種類(朝食、昼食、夕食、軽食)
7. get_user_food_log
指定した日付のユーザーの食事の記録を取得します。
パラメーター:
user_id:ユーザーの一意の識別子date:YYYY-MM-DD 形式の日付(デフォルトは今日)
使用例
制限を設定した新規ユーザーの登録
- グルテンアレルギーを追加します。
manage_user_restrictions(
user_id="user123",
action="add",
restriction_type="allergen",
restriction_value="gluten",
severity="avoid",
notes="Avoid all wheat products"
)
- ベジタリアンの食事法を追加します。
manage_user_restrictions(
user_id="user123",
action="add",
restriction_type="diet",
restriction_value="vegetarian"
)
食品摂取量の記録
- 商品をスキャンして記録します:
# First get product info
product = get_product_by_barcode(barcode="3270190119357")
# Then log consumption
log_food_consumption(
user_id="user123",
barcode="3270190119357",
quantity=1,
meal_type="breakfast"
)
- 食事制限との適合性を確認します:
check_product_compatibility(
user_id="user123",
barcode="3270190119357"
)
栄養情報の分析
- 詳細な栄養分析を取得します:
analyze_nutrition(barcode="3270190119357")
- 食品の記録と栄養素の合計を確認します:
get_user_food_log(user_id="user123")
データの保存
Food Tracker MCP はデータをローカルの JSON ファイルに保存します:
- ユーザープロフィール:
./data/users/{user_id}.json - 食品の記録:
./data/logs/{user_id}_{date}.json
MCP の拡張
次の方法で MCP を拡張できます:
- 新しい栄養分析機能を追加する
- より詳細な食事プランと目標を実装する
- 利用可能な食材に基づくレシピの提案を追加する
- 栄養データのレポートと視覚化を作成する
- 進捗を共有するソーシャル機能を実装する
トラブルシューティング
- 接続の問題が発生した場合は、MCP が OpenFoodFacts API に接続するため、インターネットにアクセスできることを確認してください
- 商品情報が不完全な場合は、OpenFoodFacts データベースの制限が原因である可能性があります
- データの永続化に問題がある場合は、データディレクトリのアクセス権限を確認してください
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。