MFP Logger
MFP Logger
Chat to log food into MyFitnessPal — from your phone (Claude / ChatGPT) via an always-on Railway server, or from your Mac terminal.
Say:
log 2 eggs and a banana for breakfast
…and it lands in your diary (meal + quantity + date).
MyFitnessPal diaries are meal-based (Breakfast / Lunch / Dinner / Snacks), not clock timestamps.
Phone setup (Railway — recommended)
Your Mac does not need to stay on. Claude’s cloud calls your Railway URL.
1. Get an MFP session cookie
On any browser logged into myfitnesspal.com:
DevTools → Application → Cookies →
www.myfitnesspal.comCopy
__Secure-next-auth.session-token(or the full Cookie header)
2. Create a Railway project
Push this repo to GitHub (or deploy from the Railway CLI).
railway.app → New Project → Deploy from GitHub (Dockerfile is detected).
Variables (Settings → Variables):
Variable | Value |
| long random secret ( |
| the session cookie from step 1 |
| optional MFP username if needed |
Service → Settings → Networking → Public Networking → Generate Domain
Wait until deploy is healthy (
/healthzshould return{"ok":true,...}).
3. Connect Claude (once on web)
Claude’s custom connector UI often only shows OAuth fields (no Bearer header). Use the secret path URL instead:
https://YOUR-APP.up.railway.app/t/YOUR_MCP_AUTH_TOKEN/mcpOpen claude.ai/customize/connectors (same account as iOS).
Add custom connector
Paste that full URL (token is in the path)
Leave OAuth Client ID and Client Secret empty
Add / Connect
4. Use Claude on iPhone
Open Claude iOS → chat → + → Connectors → enable this connector
Message:
log 2 eggs and a banana for breakfast
ChatGPT mobile
Same path URL works. If ChatGPT asks for an API key, you can still paste MCP_AUTH_TOKEN, but the path URL alone is enough.
When the MFP cookie expires
Session cookies die every few weeks. On your phone:
Open
https://YOUR-APP.up.railway.app/adminEnter
MCP_AUTH_TOKEN+ a fresh cookie → SaveAlso paste the same cookie into Railway Variables →
MFP_COOKIE(so restarts keep it)
Local Mac (optional)
uv sync
uv run mfp-logger auth # save cookie locally
uv run mfp-logger chat # needs OPENAI_API_KEY — terminal agent
uv run mfp-logger mcp # local MCP for testing onlyMCP tools
Tool | Purpose |
| Search MFP database |
| Log food + quantity + meal + date |
| Quick-add calories/macros |
| Read diary for a day |
| Daily goals |
| Remove a mistaken entry |
Security
Treat
MCP_AUTH_TOKENlike a password. Anyone withhttps://…/t/<token>/mcpcan write to your diary.Prefer not sharing that URL; rotate the token in Railway if it leaks.
Never commit
.env(containsMFP_COOKIE).