Quickstart

Connect your assistant over MCP, log a first meal from a draft and read the day back, in five minutes.

Three steps: connect your assistant, log a meal from a draft, read the day back. Free, no card. If you would rather not read docs, paste this into your assistant and it does all three:

Set up Gutlog for me: read https://getgutlog.com/setup.md and follow it.

1. Connect over MCP (1 minute)

Gutlog is an MCP server at https://getgutlog.com/api/mcp. In ChatGPT or Claude, add it as a connector; in a coding agent, add it with one command. You sign in once in your browser. The exact clicks for every client, with one-click links, are on the setup page; in Claude Code it is:

claude mcp add --transport http gutlog https://getgutlog.com/api/mcp

Then type /mcp, pick the server and authenticate. Ask your assistant “what is left to set up?”: it calls get_onboarding, which returns the checklist and the next step.

2. Log a meal (1 minute)

Share a photo and say “log this”. Your assistant looks at it and calls log_meal with a draft: one item per food or drink, its gram estimate or a household portion, and ingredients with a confidence each, hidden fats and aromatics included at lower confidence. This is the draft for a plate of scrambled eggs on toast:

log_meal input
{  "title": "Scrambled eggs on toast",  "meal_type": "breakfast",  "client": "claude",  "items": [    {      "name": "scrambled eggs",      "grams": 120,      "confidence": 0.92,      "portion_confidence": 0.7,      "cooking_method": "pan_fried",      "ingredients": [        {          "name": "egg",          "confidence": 0.97,          "visible": true        },        {          "name": "butter",          "confidence": 0.55,          "visible": false        },        {          "name": "milk",          "confidence": 0.35,          "visible": false        }      ]    },    {      "name": "sourdough toast",      "portion": {        "quantity": 1,        "unit": "slice"      },      "confidence": 0.85,      "ingredients": [        {          "name": "wheat flour",          "confidence": 0.9,          "visible": false        },        {          "name": "salt",          "confidence": 0.75,          "visible": false        }      ]    }  ]}

The meal is always stored. Ingredients at 0.85 and up are confirmed, 0.6 to 0.85 likely (both count), and 0.3 to 0.6 possible: suggestions, not counted, and asked about. The answer, shortened:

log_meal result
{  "meal_id": "6f1c2e0a-4b7d-4c2e-9a51-0d3b8e7f9a10",  "needs_review": false,  "totals_display": {    "kcal": 352,    "protein_g": 19.8,    "carbs_g": 24.1,    "fat_g": 19.6  },  "items": [    {      "name": "scrambled eggs",      "grams": 120,      "ingredients": [        {          "name": "egg",          "tier": "confirmed",          "confidence": 0.97,          "status": "included"        },        {          "name": "butter",          "tier": "possible",          "confidence": 0.55,          "status": "suggested"        },        {          "name": "milk",          "tier": "possible",          "confidence": 0.35,          "status": "suggested"        }      ]    },    {      "name": "sourdough toast",      "grams": 50,      "ingredients": [        {          "name": "wheat flour",          "tier": "confirmed",          "confidence": 0.9,          "status": "included"        },        {          "name": "salt",          "tier": "likely",          "confidence": 0.75,          "status": "included"        }      ]    }  ],  "questions": [    "Butter in the eggs?",    "A splash of milk in the eggs?"  ]}

Your assistant replies with one line and asks the questions. Logging a draft from your assistant is free and unlimited on every plan. From a terminal, the same call is:

npx @meterapp/gutlog loginnpx @meterapp/gutlog log_meal --json '{"title":"Scrambled eggs on toast","meal_type":"breakfast","client":"claude","items":[{"name":"scrambled eggs","grams":120,"confidence":0.92,"portion_confidence":0.7,"cooking_method":"pan_fried","ingredients":[{"name":"egg","confidence":0.97,"visible":true},{"name":"butter","confidence":0.55,"visible":false},{"name":"milk","confidence":0.35,"visible":false}]},{"name":"sourdough toast","portion":{"quantity":1,"unit":"slice"},"confidence":0.85,"ingredients":[{"name":"wheat flour","confidence":0.9,"visible":false},{"name":"salt","confidence":0.75,"visible":false}]}]}'

3. Read the day back (30 seconds)

Ask “how am I doing today?” and the assistant calls get_day: every meal with its items and ingredients, the day's nutrient totals and how many meals need review. Amounts are integers (energy in millikilocalories, mass in milligrams); totals_display has kcal and grams. See nutrients and units.

npx @meterapp/gutlog get_day
get_day result (shortened)
{  "date": "2026-11-03",  "meals": [    {      "meal_id": "6f1c2e0a-4b7d-4c2e-9a51-0d3b8e7f9a10",      "title": "Scrambled eggs on toast",      "meal_type": "breakfast",      "needs_review": false,      "items": "…"    }  ],  "totals_display": {    "kcal": 352,    "protein_g": 19.8,    "carbs_g": 24.1,    "fat_g": 19.6  },  "needs_review": 0}

Next