What connecting your food log to an AI actually hands over
Before you connect a food tracker to Claude or ChatGPT, ask four questions: what the grant reaches, how long it lasts, where the data goes, and how you end it. We asked them of our own connector. Two of the answers were wrong, and one of them was a feature we didn't have.
Macroline runs an MCP server, so Claude, ChatGPT and other assistants can log meals and read your numbers from a chat. We think that’s useful. We also think “connect your data to AI” is usually sold as one feature when it’s actually several separate decisions, and most people only get asked about the first one.
Here are the four questions we’d ask of any app before connecting it. We asked them of our own connector first. We didn’t like two of the answers, so we fixed them on 25 September 2026, and this post says what they were.
1. What does the grant actually reach?
When you connect, the assistant asks for scopes: named bundles of permission that you approve on a consent screen. Macroline has five. Here is what each one reaches, taken from the server’s tool list rather than from our marketing:
| Scope | What it lets the assistant do |
|---|---|
read:foods |
Search the food database |
read:diary |
Read your food diary, daily summaries, goals, weight, water, exercise, saved meals, medications and dose history, symptoms, and body log |
write:diary |
Add to all of those logs, and delete entries from them |
write:goals |
Change your calorie and macro goals |
write:foods |
Add a food to the shared database |
The row to read slowly is read:diary. It covers far more than meals, and until today our consent screen described it as “Read your diary entries and daily summaries”. That was accurate when the scope was created. It stopped being accurate in July, when weight tracking and then medications, doses and symptoms were added to the connector under the existing diary scopes. We did that on purpose, because a new scope would have forced everyone already connected to approve again. The consent copy just never caught up. It now names everything on the list above.
Our setup page had the same problem in a worse form. It said weight was never available through the connector. That has been untrue since 29 July. It’s corrected now.
So the general lesson is this: the consent screen tells you what the app says the scope covers. If the app is also adding tools under that scope, the screen can fall behind. Ask for the list of tools. An honest connector can give you one.
One thing the medication tools deliberately cannot do is advise. They log a dose and read your history back. They never suggest a dose or a change to one.
2. How long does the grant last?
Connecting gives the assistant two tokens. The access token is what each request carries, and ours expire after an hour. The refresh token lets the assistant get a new access token without asking you again, and ours last 90 days.
That second number is the one that matters. A connection you set up once and forgot about keeps working for up to three months, whether or not you still use it. We store only a SHA-256 hash of each token, so a copy of our database wouldn’t hand anyone a working one. But while a token is valid, whoever holds it can use it.
3. Where does the data go?
When you ask an assistant “how much protein did I eat last week”, the request goes from the assistant’s servers to ours, and your answer comes back the same way. From that point it’s part of your conversation, so it sits on the assistant provider’s servers under their privacy terms, not ours.
We can’t see or control what happens there, and we’re not going to summarise another company’s retention or training policies for you: they change, and they differ between consumer and business plans. If you use Claude, Anthropic’s terms are at anthropic.com/legal/privacy. Read the version that applies to your plan.
What we can say is that there’s no background sync. The assistant receives what a tool call returns, when it makes one, and nothing else. Tool results carry more than you might expect, though: the daily summary includes your latest weight, for example, so asking “how am I doing today” sends that too.
4. How do you end it?
This was the answer we liked least.
You could always remove Macroline from inside Claude. That deletes Claude’s copy of the token. But until today nothing on our side could revoke a grant. The database had a column for marking a grant revoked, and both places that accept a token checked it. Nothing ever set it. So the 90-day refresh token from question 2 stayed valid here even after you’d removed the connector, and we had no way of knowing whether the assistant’s copy had really gone.
A password reset didn’t end grants either. That’s the step people take when they think someone else has got into their account, and it ended every app session but left every AI connection working.
As of 25 September 2026:
- You can see and end every connection yourself. Go to my.macroline.app → Settings → Connect to Claude. The list shows each connected app, when it connected and what it can do, and Disconnect stops both of its tokens immediately. The iOS app doesn’t have this list yet, so use the web app for now.
- Assistants can end their own grant. We now support the standard OAuth token-revocation endpoint (RFC 7009), so a client that cleans up after itself when you remove it has somewhere to send that request.
- A password reset now disconnects every AI app as well as ending your app sessions.
A note on the names in that list: each app names itself when it first connects, so “Claude” means an app that called itself Claude. If you see one you don’t recognise, disconnect it.
The four questions, for any app
- What does each scope reach? Ask for the tool list, not just the consent wording.
- How long does a grant last if I forget about it? Look for the refresh-token lifetime.
- Whose terms cover my data once it’s in the chat? The assistant provider’s, so read them.
- Can I end it from the app’s side, and does a password reset end it? If the only off switch is inside the assistant, you’re trusting that it really throws the token away.
Connecting is a reasonable choice, and logging a meal by describing it in a chat is genuinely convenient. It should still be a choice you can see all of and undo from either side. Until today ours was only half that.