Snacky
Click on "Deploy 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., "@Snackylog 150g chicken breast and 200g cooked rice for lunch"
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.
Snacky
A protein and calorie log that you never have to open to fill in. You tell a chat assistant what you ate (a message, a voice note, a recipe portion, a photo of a label or a plate), and the assistant calls Snacky's MCP tools. Snacky looks the food up in a nutrient database and keeps the log. A small web UI shows the day and the week and lets you correct entries.
Status: early. The MCP server runs; the web UI is not built yet.
How it works
The assistant names foods and grams. The numbers come from a database: the German Bundeslebensmittelschlüssel, Open Food Facts, or the recipe's own nutrition in Tandoor. A number the model estimated is stored and shown as an estimate.
Each log entry keeps a copy of its nutrients, so correcting a food later does not change past days.
One process owns one SQLite file. It serves MCP on one port and the web UI on another.
docs/ARCHITECTURE.md has the data model and the interfaces.
Related MCP server: Nutrition MCP
Running
docker run --read-only -v snacky-data:/data -p 8000:8000 ghcr.io/pxldi/snacky:<tag>The image contains the BLS index at /app/data/bls.sqlite, converted from the
pinned BLS download at build time. Without that file the server starts and
skips BLS, with a warning. /data is the only path written at runtime.
Port | Serves |
8000 | MCP over streamable HTTP at |
8080 | The web UI. Not built yet; until then only 8000 is served. |
Variable | Default | Meaning |
|
| the log |
|
| the BLS index |
|
| day boundaries and meal grouping |
|
| minutes between entries that start a new meal |
|
| sent to Open Food Facts |
|
| listen ports |
| unset | enables |
| unset | adds training days and body weight to |
| set by the image | the |
Data sources
Bundeslebensmittelschlüssel (BLS), Version 4.0. Max Rubner-Institut (2025), licensed under CC BY 4.0. https://www.blsdb.de/
Open Food Facts, licensed under the Open Database License. https://world.openfoodfacts.org/
License
GPL-3.0. See LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Food logging, nutrition summaries, and meal photo calorie and macro estimates.
Personal nutrition tracking — log meals, track macros, review history, import from another app.
Free AI calorie & macro tracker: tell your AI what you ate and it logs it to your private food diary
Log workouts and meals by telling your AI. 873 exercises, muscle diagrams, food lookup.
Related MCP Servers
- FlicenseBqualityDmaintenanceA personal fitness tracking server that enables logging and querying workouts, nutrition, and body metrics through a local SQLite database. Integrates with OpenNutrition MCP for food logging and supports exercise history tracking for workout progression.17-
- AlicenseNot gradedqualityDmaintenanceA filesystem-based MCP server that turns any MCP-capable AI agent into a conversational calorie and protein tracker with natural-language estimates, confidence-aware logging, daily/weekly progress, food-history search, and export, working offline with local fallback data.94 npmMIT
- AlicenseBqualityAmaintenanceA local-first nutrition MCP server for food search, barcode lookup, meal estimation, intake logging, hydration, and nutrition coaching workflows.46149 npm10MIT
- FlicenseNot gradedqualityCmaintenanceLocal-first nutrition tracker MCP server for Hermes, enabling food, alias, recipe, and meal log management with SQLite persistence.-