Health Information API について
Health Information APIは、健康・栄養関連のアプリを開発する人向けのFastAPIアプリケーションです。身体指標や1日の栄養目標、食品の栄養価を計算できます。
主な機能
- 01BMIの計算
- 02体格の推定
- 03米海軍方式による体脂肪率の計算
- 041日のカロリーとマクロ栄養素の目標
- 05USDA FoodData Centralによる食品栄養検索
活用シーン
- 01身長と体重からBMIを計算
- 02身体計測値から体脂肪率を推定
- 031日のカロリーとマクロ栄養素の目標を設定
- 04レシピ食材の栄養価を合算
MCP 対応
FastAPI-MCPを通じて、健康・栄養計算ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
健康情報 API
FastAPI-MCP を使用して、さまざまな健康・栄養計算機能を提供する FastAPI アプリケーションです。
機能
- BMI 計算機
- 体格サイズ計算機
- 体脂肪率計算機(米国海軍方式)
- 主要栄養素計算機
- 食品栄養計算機(USDA FoodData Central API を使用)
インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/bmi_calc.git
cd bmi_calc
- 依存関係をインストールします:
pip install -r requirements.txt
- 環境変数を設定します:
# For the USDA FoodData Central API
# Get your API key from https://fdc.nal.usda.gov/api-key-signup.html
export USDA_API_KEY="your_api_key_here"
# (Optional) For the OpenAI API
export OPENAI_API_KEY="your_api_key_here"
アプリケーションの実行
uvicorn main:app --reload
API は http://localhost:8000 で利用できます。
API ドキュメント
アプリケーションの実行後、次の場所からインタラクティブな API ドキュメントにアクセスできます:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
API エンドポイント
BMI 計算機
エンドポイント: POST /bmi
体重と身長に基づいてボディマス指数(BMI)を計算します。
リクエストボディ:
{
"weight_kg": 70,
"height_cm": 175
}
レスポンス:
{
"bmi": 22.86,
"category": "Normal weight"
}
体格サイズ計算機
エンドポイント: POST /body-frame
手首の周囲径と身長に基づいて体格サイズを判定します。
リクエストボディ:
{
"wrist_circumference_cm": 18,
"height_cm": 180,
"gender": "male"
}
レスポンス:
{
"frame_size": "MEDIUM"
}
体脂肪率計算機
エンドポイント: POST /body-fat
米国海軍方式を使用して体脂肪率を計算します。
リクエストボディ(男性):
{
"gender": "male",
"age": 30,
"weight_kg": 80,
"height_cm": 180,
"neck_circumference_cm": 38,
"waist_circumference_cm": 85
}
リクエストボディ(女性):
{
"gender": "female",
"age": 30,
"weight_kg": 65,
"height_cm": 165,
"neck_circumference_cm": 32,
"waist_circumference_cm": 70,
"hip_circumference_cm": 95
}
レスポンス:
{
"body_fat_percentage": 15.3,
"category": "Fitness"
}
主要栄養素計算機
エンドポイント: POST /macros
1 日あたりのカロリーと主要栄養素の目標量を計算します。
リクエストボディ:
{
"gender": "male",
"age": 30,
"weight_kg": 80,
"height_cm": 180,
"activity_level": "moderate",
"goal": "maintain",
"body_fat_percentage": 15
}
レスポンス:
{
"calories": 2800,
"protein_g": 122,
"carbs_g": 350,
"fat_g": 78
}
食品栄養計算機
エンドポイント: GET /food-nutrition
食品の材料と量のリストに基づいて、栄養成分を計算します。
クエリパラメーター:
ingredients:食品の材料のリスト(例:'apple'、'chicken breast')amounts:各材料に対応するグラム単位の量のリスト
リクエスト例:
GET /food-nutrition?ingredients=apple&ingredients=chicken%20breast&amounts=100&amounts=150
レスポンス:
{
"total_calories": 278.5,
"total_protein_g": 31.45,
"total_carbs_g": 14.8,
"total_fat_g": 8.7,
"total_fiber_g": 2.4,
"total_sugar_g": 10.4,
"foods": [
{
"name": "Apple, raw",
"amount_g": 100,
"calories": 52,
"protein_g": 0.3,
"carbs_g": 13.8,
"fat_g": 0.2,
"fiber_g": 2.4,
"sugar_g": 10.4
},
{
"name": "Chicken, breast, meat only, cooked, roasted",
"amount_g": 150,
"calories": 226.5,
"protein_g": 31.15,
"carbs_g": 1,
"fat_g": 8.5,
"fiber_g": 0,
"sugar_g": 0
}
]
}
テストの実行
pytest -v
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。