Deploy Your Own Food Tracking MCP in Minutes
I stopped logging meals in MyFitnessPal, so I built an MCP that lets me tell Claude what I ate, and turned it into a template you can deploy yourself.
My friend Jordan built a diet tracker where he tells Claude what he ate and Claude writes it to a Google Sheet. I’d quit MyFitnessPal after about a year of typing in every meal, so I wanted something I could just talk to. I’d never built an MCP before, so I built one: a Cloudflare Worker that looks up foods in USDA FoodData Central and Open Food Facts and saves my logs to D1.
Then I turned it into a template so you can run your own copy.
Get the template: github.com/redSlug/healthy-mcp-template

What you get
- Log meals by talking, typing or sharing pictures with Claude (or your fave MCP client), in the middle of any conversation
- Nutrition data from free food databases (USDA FoodData Central and Open Food Facts)
- Your logs stored in your own Cloudflare D1 database, not someone else’s app
- Free to run: it currently fits in Cloudflare’s free tier, D1 included, and the food databases are free
- Code you can change: edit the migrations, add features, redeploy
Set it up
The steps are in the healthy-mcp-template README.
Then say something like “I had oatmeal with blueberries for breakfast” and it’s logged.
How it works
The MCP server runs on a Cloudflare Worker. Claude calls it to search foods and save logs, and the Worker stores your logs in D1.
Things I learned
- Approximate data is fine — I spent about half a day architecting around FatSecret, which needs a dedicated IP address and only lets you cache its data for 24 hours. Then I realized USDA FoodData Central and Open Food Facts were plenty, and better for running reports across many days.
- MCP clients send JSON but expect text back — that surprised me, since this was my first MCP.
Try it
Deploy it, log a meal, and tell me how it goes. Issues and pull requests are welcome: healthy-mcp-template on GitHub
Thank you
- Jordan, for the idea of tracking food through Claude
- Frank, for the idea of having a different Cloudflare account for each application