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.
Single-user, self-hosted, by design. 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, but the only human step is entering a single shared password (configured in
.env). There are no user accounts.SQLite stores weights and food logs — one file under
data/.
Related MCP server: cronometer-mcp
Tools
Tool | What it does |
| Record one eaten item (kcal, protein, …). |
| Store a body-weight measurement. |
| Query public nutrition databases (Open Food Facts, optional USDA). |
| Today's intake vs. your goal. |
| Render the interactive dashboard (weight graph + recent meals). |
Configure
Copy .env.example to .env and set at least WEIGHT_MCP_PASSWORD and
WEIGHT_MCP_PUBLIC_BASE_URL. Nutrition sources default to Open Food Facts,
filtered to Germany; set WEIGHT_MCP_* to change region, goals, or enable USDA.
Goals support two modes: floor (eat at least the target — the default, for
under-eaters) and ceiling (stay under — for weight loss).
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
Settings → Connectors → add a custom connector, 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; enter your password.
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.
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/CommanderTvis/weight-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server