weight-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@weight-mcplog my lunch: chicken salad"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
weight-mcp
A personal calorie & protein counter delivered as an MCP server for use inside claude.ai. You log meals from photos or text in a normal Claude chat; this server counts them, tracks weight, and renders an interactive dashboard (weight graph + recently eaten) right in the conversation.
Self-hosted, multi-user: one admin account lives in .env, and the admin
registers further accounts from chat — each user sees only their own data. See
SPEC.md for the rationale.
How it works
MCP server (Streamable HTTP) exposes tools, a prompt, and an MCP Apps dashboard UI to claude.ai.
In-process OAuth gate: claude.ai drives the full OAuth 2.1 + PKCE + Dynamic Client Registration flow; the only human step is a username + password form. The admin signs in as
adminwith the password from.env; everyone else signs in with an account the admin registered.SQLite stores accounts, weights, and food logs — one file under
data/. Every data row is scoped to the account that logged it.
Related MCP server: fitbit-googlehealth-mcp
Tools
Tool | What it does |
| Record an eaten item (kcal, protein, …), numbered per day; re-logging a meal number overwrites it (edits). |
| Remove one of today's meals by its number. |
| Store a body-weight measurement. |
| Query public nutrition databases (Open Food Facts, optional USDA). |
| Today's intake vs. your goal. |
| Per-day totals and averages over a window of days ("calories last week", monthly trends). |
| Change the daily calorie/protein targets and floor/ceiling mode; optionally set a fiber norm (off by default, |
| Renders the dashboard inline as an MCP Apps panel (weight graph + recent meals + today's progress). |
| Sends the day's meals, totals, and latest weight to your accountability partner on Telegram. Only present when the Telegram env vars are set. |
All of the above operate on the calling account's own data. The admin account additionally gets user management:
Tool (admin only) | What it does |
| Create a non-admin account (username + password, stored hashed in the DB). |
| Remove an account and revoke its tokens (its logged data is kept). |
| Set a new password for an account, invalidating its existing tokens. |
Configure
Copy .env.example to .env and set at least WEIGHT_MCP_PASSWORD (the
admin account's password — the only account configured in .env) and
WEIGHT_MCP_PUBLIC_BASE_URL. Non-admin accounts are not env config: the admin
creates them from chat with register_user. Nutrition sources default to Open Food Facts,
filtered to Germany; set WEIGHT_MCP_* to change region or enable USDA.
Goals are not env config — set them from chat with set_goals (they persist in
the database). Two modes: floor (eat at least the target — the default, for
under-eaters) and ceiling (stay under — for weight loss). Until you set your
own, the default is 2600 kcal / 150 g protein, floor. Goals are per account,
like all other data.
Accountability reporting is optional: set WEIGHT_MCP_TELEGRAM_BOT_TOKEN (a bot
from @BotFather) and WEIGHT_MCP_TELEGRAM_CHAT_ID
(your partner's chat — a human, group, or channel; numeric ID or
@channelusername) to enable send_daily_report. The bot must be able to
message that chat: the partner has to start the bot once (humans), or the bot
must be a member/admin (groups/channels).
Run
Local (dev):
uv sync
cp .env.example .env # then edit
uv run weight-mcpDocker (local build):
docker compose up --buildFor a real deployment you need public HTTPS (claude.ai connects from Anthropic's
cloud, not your device). Copy docker-compose.template.yml, put the server
behind a TLS reverse proxy, and set WEIGHT_MCP_PUBLIC_BASE_URL to that origin.
Add to claude.ai
Customize → Connectors → "Add custom connector" (on Team/Enterprise:
Organization settings → Connectors → Add → Custom → Web), paste your server's
base URL (https://<your-host> — the MCP endpoint and OAuth live at the origin
root, so there is no path to append). claude.ai opens the OAuth page; sign in
with your username and password (admin + the .env password for the admin, or
credentials the admin registered for you). Done — start a chat and tell Claude
what you ate.
Develop
uv run ruff check .
uv run mypy
uv run pytestThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -license-quality-maintenanceA calorie tracking MCP server that processes food photos and text descriptions to automatically log nutrition data to Google Sheets. Integrates with Apple Health for fitness metrics and provides SMS interface for convenient meal logging.Last updated
- Alicense-qualityCmaintenanceThis MCP server enables Claude to access and log Fitbit health data, including activity, sleep, heart rate, and nutrition, with the ability to log meals by analyzing photos through Claude's vision capabilities.Last updated4MIT
- Flicense-qualityBmaintenanceMCP server for tracking nutrition meals and workouts, integrating with claude.ai to manage food logs, macros, exercise catalogs, and generate daily/weekly summaries.Last updated
- Alicense-qualityBmaintenanceAn MCP server that lets you log meals through Claude (and soon ChatGPT) in plain language, using India's official food composition data (IFCT 2017) plus USDA, enabling accurate calorie and macro tracking for Indian dishes with household units and photo logging.Last updated53AGPL 3.0
Related MCP Connectors
MCP server for Withings health data — sleep, activity, heart, and body metrics.
Personal nutrition tracking — log meals, track macros, review history, import from another app.
MCP server for AI job search — find jobs, track applications, get alerts. Claude, ChatGPT, Cursor.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/CommanderTvis/weight-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server