Key takeaways
- What you need: an IZeat account, Claude Code in a terminal, and one command, shown below, that adds IZeat as a remote server over HTTP.
- Run it, sign in when it asks; if it does not ask, type /mcp.
- 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.
- Then say the meal in the session, with weights when you have them; the reply begins with "IZeat ·" and lists each item, the meal total and what is left.
- The command is not reprinted here: the connection guide carries it, and it is the copy kept current.
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. In Claude Code the assistant you already use lives in a terminal, and the connection is one command. You need an IZeat account, created on the web with Google or with an email and a password, and Claude Code installed and already working for you, with whatever sign-in it asks for on its side; IZeat has nothing to do with that step.
You do not need a local server, a config file or a token to paste. IZeat is a remote server over HTTP with its own sign-in page; Claude Code opens that page, or prints its address for you to open, as Anthropic documents it, and the connection is tied to the IZeat account you sign into, which you can revoke from your Assistants page at any time.
The command is not printed in this article, and that is deliberate: it has changed once already, and a copy here would be the one a reader runs six months late. The connection guide carries it, and that is the copy we keep current.
How do you connect IZeat to Claude Code?
With one command in your terminal, then a sign-in. The command is on the connection guide, with a copy button, and it is not reprinted here: it has changed once already, and a second copy in an article is how a reader ends up running last month's version.
The transport is HTTP because IZeat is remote: there is no command to launch and nothing on your machine to keep running. The sign-in is IZeat's own page. Claude Code opens it in your browser, or prints the address for you to open when it has no browser to reach, and you say there which IZeat account this Claude Code may write to.
How do you check it works before trusting it with a meal?
In a session, 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. Claude Code asks for your city and records it through IZeat.
“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?
The same sentence as anywhere else: the meal, the foods, how much of each, a weight in grams or a volume in millilitres when you have it, and what a dish was cooked in. 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.”
Claude Code receives IZeat's instructions with the connection: ask what your words leave open, if anything, then call IZeat once with the whole meal. The receipt is what tells you it did.
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 output around it: it begins with "IZeat ·", and it is the same receipt in every assistant; the Claude guide walks through it row by row. In a terminal it arrives as text among your other output, which is what the prefix is meant to help with: it is there as a visual cue on IZeat's own lines. Meant to, and no further, because keeping it is asked of the model rather than enforced: a figure that lost it can still be the record's, and a figure carrying it can still be the model's.
| What you say | What Claude Code is asked to do | What the receipt shows |
|---|---|---|
| "Who am I in IZeat?", in a session | Call IZeat's account check and relay the answer | An answer naming your account, your email and today's date in your time zone; nothing written |
| "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 |
| "Lunch: 180 g of grilled chicken breast, no oil, 150 g of cooked rice, a 125 g plain yoghurt", typed between two commits | Value the three from reference tables and record them | Three rows, source reference, the meal total, 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 |
| "Undo that" | Show what the last change did and ask before taking it back | The change previewed, signed, ending with "Nothing was changed yet"; nothing taken back until you confirm |
| "What is left for dinner?", at the end of the working day | 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: the terminal changes nothing about the record; a sentence with weights is recorded as said, and a question about the day writes nothing.
What do you do when it goes wrong?
Connected to Claude Code, 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.
- The command ran but nothing asked you to sign in. Type /mcp in a session. Anthropic's documentation describes it as the panel that lists the servers and lets you sign in to one; we have not re-tested it. Then ask the check question.
- 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 signed reply says the IZeat tools changed. Claude Code 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, run claude mcp remove izeat, then the add command again once; Anthropic's documentation says removal also forgets the sign-in, so expect to sign in again. A line starting with "New:" is a different thing: a capability announced once, with nothing to fix.
The limit, plainly: the record is only as good as the sentence. A weight said fixes the amount, not where the figure comes from: a label, a reference table or an estimate, and the receipt says which. A weight left open is a question, or an estimate that says so. And a figure about your food that does not begin with "IZeat ·" should be treated as Claude Code's until the record confirms it.
Frequently asked questions
Short answers to the questions people type, each one sourced above.
Is IZeat a local MCP server or a remote one?
Remote, over HTTP, with its own sign-in: the command adds it with the http transport, and nothing runs on your machine. There is no stdio server to install, no token to paste and no process to keep alive; Claude Code opens IZeat's sign-in page when it needs it, and the connection is tied to the IZeat account you sign into. You can revoke it from your Assistants page at any time.
Does the terminal change how a meal is recorded?
No. The record and the protocol are IZeat's, whichever assistant you talk to: the same sentence, the same bundled question when a weight or a fat is left open, the same signed receipt with the meal total and what is left. What changes is where you type it; a meal said in Claude Code shows on the web app and reads back in Claude or ChatGPT the same way, because it is one record.
Can I use the same IZeat account from Claude Code and from Claude?
Yes: each assistant is a connection to the same account, listed in the connection guide, and each can be revoked on its own. A meal recorded from the terminal at lunch is in the day that Claude on your phone reads in the evening, with the same sources and totals, because IZeat holds one record and the assistants read and write it through their own connection.
Where is my day shown, if I never open a screen?
On the web app, read-only, in a browser: the day as a list with a total, every meal with its numbers and sources, the target and what is left, the week and the history. In the session you can also ask what is left, or what a meal contained, and the answer is a signed read from IZeat. Neither asks you to type a meal into a form.
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; Claude Code can reason about one with you, outside IZeat, and IZeat stores what you choose.
How do I fix a mistake made in my diary from the terminal?
Say the right figure: "the rice was 200 g, not 150". The row is updated through IZeat, the day is summed again, and the previous state stays in the meal's history. "Undo that" shows what the last change did, changes nothing, and asks; you confirm within ten minutes, and only a change made in the last 48 hours can be undone. Restore works the same way, in two steps, for something undone in the last 48 hours. Every write returns a receipt, so a mistake is seen when it is made.
What does the check question prove?
That the connection answers before you trust it with a meal, and that it answers for your account: the reply names the account and the email, and today's date in your time zone, and it reads your account and records nothing. If no account comes back, the connection is not in place; the prefix has nothing to do with it either way. If it names an account that is not yours, revoke it from the Assistants page before saying anything about food.
Does the same setup work in ChatGPT or Claude?
The connection does, with different menus: the ChatGPT desktop app adds an MCP server from its plugin settings, and Claude adds a custom connector from its settings or with a one-tap button from your Assistants page; there is a guide for each. Once connected, the meal is the same sentence and the receipt the same receipt, because the record and the protocol are IZeat's.