Skip to main content
Glama
bank3005-jpg

Garmin Nutrition Coach

by bank3005-jpg

๐Ÿƒ Garmin Nutrition Coach

Turn Claude into your personal, data-driven health coach โ€” self-hosted, private, ~$0/month.

License: MIT MCP Cloud Run Python

Your own MCP server connects Claude to your Garmin wearable data (34 tools) and your Notion workspace. A nightly job writes your real measured calorie burn into your food log โ€” so your deficit numbers come from your body, not from formulas โ€” and a built-in calibration loop checks them against your actual scale weight every two weeks.

Chat with Claude like a coach who has actually seen your data: "How did I sleep?" ยท "Coach me today" ยท "Why did my run feel bad?" ยท ๐Ÿ“ธ [photo of lunch]

โœจ Features

Feature

What it does

๐Ÿ“ธ

Photo food logging

Send a meal photo โ†’ macros estimated with a documented protocol (reference-object scaling, hidden oil/sauce accounting) โ†’ auto-saved to Notion

๐ŸŒ™

Automatic day close

Every night your server pulls the finished day's true TDEE from Garmin and writes TDEE + deficit + workouts into your log โ€” self-heals 3 days back, colored sync tags show status at a glance

๐Ÿ”ฅ

Progress you can see

Cumulative deficit (โ‰ˆ kg of fat) updated nightly right on your Notion food log

๐Ÿƒ

Coaching on real data

One-call readiness verdicts, post-workout analysis (splits, HR zones, sleep context), weekly reviews, injury pattern tracking

๐Ÿ“ˆ

Second-by-second analysis

FIT-file parsing: HR/pace/cadence streams + aerobic decoupling โ€” the endurance metric real coaches use

โš–๏ธ

Calibration loop

Every 2 weeks: logged deficit vs. actual weight change reveals your personal estimation bias, which corrects all future estimates

๐Ÿ”„

Live-updating brain

Coaching rules live in playbook.md, fetched by your server at runtime โ€” improvements reach every user instantly, no reinstall

Related MCP server: Garmin Health MCP Server

๐Ÿš€ Install (no coding needed)

Open Claude and paste:

Read https://github.com/bank3005-jpg/Garmin-nutrition-coach/blob/stable/SETUP.md and set this up for me

Claude interviews you (goals, body stats), creates your Notion databases, and walks you through the cloud steps. 45โ€“60 minutes, one time.

Prerequisites: a Garmin watch ยท Notion account (free) ยท Google account with billing enabled (stays within free tier) ยท Claude plan with custom connectors ยท Windows or macOS computer for one step.

๐Ÿ—๏ธ Architecture

Claude (any device, incl. phone)
   โ””โ”€โ”€ your Cloud Run server  โ† this repo, deployed to YOUR Google account
         โ”œโ”€โ”€ Garmin Connect   โ† your token, created on your own computer
         โ”œโ”€โ”€ your Notion      โ† food / training / body logs
         โ””โ”€โ”€ playbook.md      โ† coaching rules, served live from GitHub
   Cloud Scheduler โ†’ nightly close-day job + keep-warm pings

Privacy by design: everything runs in your accounts. No third party โ€” including this repo's author โ€” ever sees your data. The server is protected by a long random secret; Garmin credentials never pass through chat.

๐Ÿงฐ What's inside (34 MCP tools)

Wellness sleep (+HRV, RHR, body battery) ยท stress ยท SpO2 ยท respiration ยท heart rate ยท daily summary Training activities & date-range search ยท splits ยท HR zones ยท FIT streams ยท aerobic decoupling ยท training readiness/status ยท VO2max ยท race predictions ยท endurance & hill scores ยท lactate threshold ยท personal records ยท fitness age Body weight history ยท body composition ยท write body-comp entries (log InBody/DEXA scans into Garmin) System one-call coach snapshot ยท direct Notion food-log read/write ยท live playbook loader

๐Ÿ”„ Updating

  • Coaching rules โ€” update automatically (served live from this repo)

  • Server code โ€” git pull + one deploy command, or enable a Cloud Build trigger on stable for fully automatic deploys

  • Want to customize the code? Fork the repo and point your deployment at your fork

โ“ FAQ

Is it really free? Yes โ€” Cloud Run free tier covers personal use many times over. The setup guide includes guardrails so you stay in it. Does my data go anywhere? No. Your server, your Garmin token, your Notion. Self-hosted means self-owned. What if Garmin changes their API? The community library this builds on (python-garminconnect) gets patched quickly; update with one git pull + deploy. Garmin China accounts? Not supported (separate system). No watch some days? The nightly job falls back to your formula baseline and tags the day estimated.

๐Ÿ™ Credits

Built on python-garminconnect by cyberjunky ยท fitdecode ยท MCP by Anthropic.

โš ๏ธ Disclaimer

This is a personal tracking and coaching tool, not medical advice or a medical device. Calorie and macro estimates are approximations. Consult a healthcare professional for medical decisions, and stop training and seek care for any concerning symptoms.

๐Ÿ“„ License

MIT โ€” use it, fork it, share it.

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/bank3005-jpg/LeanLoop-for-Garmin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server