Skip to content

fujimoto080/PFC-Controller

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

189 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PFC Balance

PFC Balance は、日々の食事を記録して P(タンパク質)/ F(脂質)/ C(炭水化物)とカロリーを管理する Next.js アプリです。

ドキュメント

開発環境の起動

pnpm install
pnpm dev

ブラウザで http://localhost:3000 を開いて確認できます。

Gemini 連携設定(AIでPFC推定)

追加画面の「写真」タブでは、食べた内容をテキスト入力して Gemini で P/F/C とカロリーを推定できます。

  • サーバー側API: POST /api/ai-nutrition
  • 必要な環境変数: GEMINI_API_KEY

ローカルで確認する場合は .env.local に以下を設定してください。

GEMINI_API_KEY=your_gemini_api_key

GitHub Actions で運用する場合は、リポジトリの Settings > Secrets and variables > ActionsGEMINI_API_KEY を登録して管理してください。

外部連携MCPサーバー(摂取履歴の登録)

外部のAIや自動化ツールとは、URL接続のMCPサーバーとして連携できます。

  • MCPエンドポイント: POST /api/mcp/intake
  • URL例(ローカル): http://localhost:3000/api/mcp/intake
  • 利用ツール:
    • register_intakes(摂取履歴の一括登録)
    • list_intakes(登録済み履歴の取得。limit/startAt/endAt 指定可)

initialize リクエスト例:

curl -X POST http://localhost:3000/api/mcp/intake   -H "Content-Type: application/json"   -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'

tools/callregister_intakes)例:

curl -X POST http://localhost:3000/api/mcp/intake   -H "Content-Type: application/json"   -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "register_intakes",
      "arguments": {
        "entries": [
          {
            "name": "サラダチキン",
            "protein": 23,
            "fat": 2,
            "carbs": 1.5,
            "calories": 120,
            "store": "コンビニ",
            "source": "external-ai",
            "consumedAt": "2026-02-26T12:30:00+09:00"
          }
        ]
      }
    }
  }'

consumedAt は未指定時に現在時刻が使われます。

テスト・Lint

pnpm test
pnpm lint

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages