Key takeaways
- What you need: an IZeat account, created with Google or an email and a password; the ChatGPT desktop app on a computer; and the address https://izeat.app/api/mcp. Nothing to install: IZeat is a remote server.
- Connecting is done once, in ChatGPT's own settings, and this page does not reprint the menus: the current steps are on the connection guide, which is the copy we test.
- Ask the check question before any meal: "Who am I in IZeat?" An answer naming your account means the connection works, with or without the prefix; if no account comes back, either the connection is not in place or the assistant did not call IZeat, so ask once more before concluding.
- Then say the meal, with weights when you have them; the reply begins with "IZeat ·" and lists each item, its source, the meal total and what is left.
- What we have not tested on a date we can give: the web path, which OpenAI documents through developer mode and says depends on the account and the workspace policy. Our test of the mobile app offered no way to add a custom server.
What do you need before you start?
IZeat is the calorie tracker inside ChatGPT, Claude or any other assistant. Tell the assistant you already use what you ate instead of searching for foods and entering them one by one. To do that in ChatGPT you need three things. An IZeat account, created on the web with Google or with an email and a password; the six-digit code by email signs you in once the account exists. The ChatGPT desktop app on a computer, because that is where a custom server can be added; the web version uses plugins for connected tools, and in our test of the mobile app there was no option to add one. And the address to paste: https://izeat.app/api/mcp.
There is nothing to install and no command to launch: IZeat is a remote server ChatGPT connects to over HTTP, and a web page where you read the day. Connecting is done once; afterwards, logging a meal is a sentence in a chat.
What this page will not do is walk the menus. Two copies of a path drift apart, and the one kept current is on the connection guide; if what you see does not match a screenshot in an article, the article is the one that is wrong.
How do you connect IZeat to ChatGPT?
Once, in ChatGPT's own settings: you add IZeat as a connector, then sign in to IZeat to say which account it may write to. What ChatGPT can value is its own page, and how far to trust the figure is the one beside it; this is the procedure. This page does not reprint the menus. They move, and a second copy of them here would drift from the one we keep; the current steps live on the connection guide, beside the list of what is already connected, and that is the copy we test.
Two things are worth knowing before you go there. The sign-in is IZeat's own page rather than a ChatGPT setting, and the same Assistants page revokes the connection whenever you want. And nothing is installed on your machine: IZeat is a remote server your assistant calls over HTTP, so there is no command to launch and no process to keep alive.
How do you check it works before trusting it with a meal?
Ask one question that reads your account and records nothing: "Who am I in IZeat?" What proves the connection is that IZeat identifies the account: the answer names the account and the email the connection belongs to, and today's date in your time zone. A line beginning with "IZeat ·" is the convention the model is asked to keep, and it can be missing on a call that worked, so it is the account that settles it and not the prefix. If IZeat does not know your time zone yet, the reply says so; giving your city is a separate step, a profile change, and the reply to it is signed too.
“Who am I in IZeat?”
IZeat · Connected account: Sam Lee (sam@example.com). Today is Friday 11 September 2026 in Europe/Paris.
The first time, the assistant may also start a short setup: your first and last name, then the daily target you want to use. You can say "later" at any step; a missing name or target never blocks a meal. If it names an account that is not yours, stop and revoke the connection from the Assistants page before saying anything about food. A missing "IZeat ·" prefix is not the same thing, and nothing needs doing about it: the prefix is a convention the model is asked to keep, and it is the account named in the answer that tells you the connection works.
What do you say for the first meal, and what comes back?
Name the meal, the foods, and how much of each. A weight in grams or a volume in millilitres is best; a brand helps; say what a dish was cooked in. ChatGPT is asked to follow IZeat's protocol: to ask what your words leave open, if anything, then to call IZeat once with the whole meal. For example:
“For lunch I had 180 g of grilled chicken breast, no oil, 80 g of steamed sweet potato and about 40 g of my homemade sauce.”
The receipt reads:
IZeat · Recorded for Friday 11 September 2026 (today): lunch — grilled chicken breast 180 g, steamed sweet potato 80 g, homemade sauce 40 g — 455 kcal · P 58g · C 20g · F 15g (estimated). Total: 455 kcal · P 58g · C 20g · F 15g. Against the target: 1545 kcal remaining · 92g protein remaining.
Read the receipt, not the chat around it. It begins with "IZeat ·", lists each food with its quantity in grams, the meal's calories and macros, then the day's total and, once you have set a target, what is left. Each row keeps its own source: here the chicken and the potato are reference values for the grams you gave and the sauce is an estimate, which is why the meal is marked estimated; ask "what is in my lunch?" or open the web app to see the source row by row. If a figure is wrong, say the right one: "the sauce was 25 g", and the row is updated with the day.
| What you say | What ChatGPT is asked to do | What the receipt shows |
|---|---|---|
| "Breakfast: two eggs, 40 g of oats, 200 ml of whole milk" | Value the three from reference tables and record them | Three rows: oats and milk as reference values for the amounts you gave, the eggs at an assumed weight per egg that the receipt states, the meal total, the day so far |
| "Here is the label of the yoghurt, I had 125 g" | Read the label back with its units, then record | One row, source label, scaled to 125 g |
| "Lunch was chicken and rice" | Ask the weights, whether the rice is cooked weight, and the cooking fat, in one message | Nothing until you answer; then the rows with their sources |
| "Same breakfast as yesterday, without the milk" | Read yesterday's breakfast from IZeat and record today's with the change | The rows recorded today, the day so far |
| "The rice was 200 g, not 150" | Update the row through IZeat | The change and the new total; the previous state kept in the meal's history |
| "What is left for dinner?" | Read the day from IZeat and answer from it | A signed read: the day's meals, the total and what is left, nothing written |
Bottom line: a sentence with weights is recorded as said; a sentence without them costs one question; a question about the day writes nothing, but its figures are still signed by IZeat.
What do you do when it goes wrong?
Connected to ChatGPT, IZeat is designed to make the diary easier to keep while you work toward your goal; when something is off, the receipt is what tells you, and these are the cases the connection guide records.
- A missing "IZeat ·" prefix. It is not a fault and not a test. The prefix is a convention the model is asked to keep, so a reply can lose it after a call that worked, and a question back from the assistant carries none at all. Whether the connection works is settled by the check question: ask "Who am I in IZeat?" and read whether it names your account.
- A second lunch is refused. There is one meal of each type per day; "for lunch I also had a yoghurt" adds to the lunch, and something eaten at another time goes under another meal type. The refusal is signed and ends with "Nothing was recorded".
- The date is wrong. Say the day in words, "yesterday", "Tuesday"; IZeat resolves it in your time zone and names it in every reply. If the time zone is wrong, say your city and it is stored.
- A photo of a plate got a number without a question. That is not the protocol; say the portion and the cooking fat and ask for the item to be corrected, and the row is updated with its source.
- A signed reply says the IZeat tools changed. ChatGPT keeps the list of tools it loaded when the server was added. If a meal comes back with a reply saying the tools changed and nothing was recorded, remove the IZeat server in your assistant's own settings and add it again once. A line starting with "New:" is a different thing: a capability announced once, with nothing to fix.
What this page will not settle: the menus, which move, and which the connection guide carries instead. And the record is only as good as the sentence: a weight said fixes the amount, not where the figure comes from, which the receipt says item by item; a weight left open is a question or an estimate that says so.
Frequently asked questions
Short answers to the questions people type, each one sourced above.
Can ChatGPT track calories on its own, without IZeat?
It can value a described meal, and that is where it stops: a chat has no diary. A new conversation starts without the day, the total lives in your head, and a portion in a photo has nothing to stop a confident guess. Connected to IZeat, the same ChatGPT records each meal you say with the source on each item, IZeat sums the day, and ChatGPT reads it back when you ask, from the record rather than from memory.
Does this work in the ChatGPT web version or the mobile app?
The path we have walked is the desktop app on a computer. OpenAI documents a developer mode for adding a custom MCP server elsewhere, and says its availability depends on the account and the workspace policy; we have not run that path ourselves and this page claims nothing about it. In our test of the mobile app there was no option to add a custom server. Whichever way you connect, the record is in IZeat and the web app shows the day on any device.
What is the best ChatGPT prompt for logging calories?
A sentence that describes the plate the way a scale would: the meal, each food, the grams or a portion cue, the brand or the label, and what it was cooked in; then "ask me before guessing". A prompt cannot give ChatGPT a diary, though: the day's total and yesterday's meals only exist if something records them, which is what IZeat does behind the chat, with a receipt for every write.
Is my IZeat data safe with ChatGPT connected?
ChatGPT can read and write your IZeat record only through the connection you authorised, for the account you signed into, and you can revoke it from your Assistants page at any time. IZeat's server receives only the tool request ChatGPT sends, such as a meal to record, and returns only the account data needed to answer it; what you say to ChatGPT itself is governed by OpenAI's own policy. The privacy page has the detail.
Do I have to set a target to log a meal?
No. A missing name or target never blocks a meal; the receipt then shows the meal and the day's total without a remainder. When you want a target, say it: "from Monday, 1 900 kcal and 130 g of protein". IZeat records it from that day, and every receipt after that ends with what is left. IZeat calculates no target for you; ChatGPT can reason about one with you, outside IZeat, and IZeat stores what you choose.
Can I log by voice in ChatGPT?
If you dictate the meal into the ChatGPT text field, yes: it is recorded the same way as typed text, with the same questions when a weight or a fat is left open; whether ChatGPT's voice conversation mode can use a connected server is not something we have tested. What matters is that the words carry the grams; "a big bowl of pasta" said aloud is still a portion nobody weighed, and it is recorded as an estimate marked as one.
How do I fix a mistake ChatGPT made in my diary?
Say the right figure: "the rice was 200 g, not 150", "it was almond milk, not cow's milk". The row is updated through IZeat, the day is summed again, and the previous state stays in the meal's history. Undo shows what the last change did and asks before taking it back, within 48 hours. Every write returns a receipt, so a mistake is seen when it is made.
Does the same setup work in Claude?
The connection does, by a different route: Claude adds a custom connector from its own settings, and Claude Code takes one command. Each path is on the connection guide rather than repeated here. Once connected, the meal is the same sentence and the receipt the same receipt, because the record and the protocol are IZeat's, whichever assistant you talk to.