Connect an AI assistant
You can let an AI assistant manage your wishlists for you — adding things you mention, tidying your lists, and helping you work out what to buy the friends you follow.
It works over the Model Context Protocol (MCP), which most assistants now speak.
There are two ways in. Which one you need depends on whether your assistant can open a browser.
Connect an assistant that can open a browser
This covers Claude, ChatGPT, and anything else you use through an app or a website.
-
In your assistant, add a new MCP server or connector.
-
Paste this address:
https://thingstohave.app/mcp -
The assistant sends you here to sign in.
-
Approve the permissions on the screen that appears.
That's it. The assistant can now do the things you approved, and nothing else.
Connect an assistant that cannot
Some assistants run somewhere without a browser — on a server, in a VM, or on a machine you only reach over SSH. There is no window for the approval screen to open in, so those get an access token instead: a long secret you create here and paste into the assistant's configuration.
- Go to Settings → MCP → Create an access token.
- Give it a name you will recognise later, like the machine it runs on.
- Tick the permissions it should have.
- Confirm it is you.
- Copy the token.
Then give your assistant the same address as above, plus the token as an Authorization header:
url: https://thingstohave.app/mcp
header: Authorization: Bearer tth_pat_…
The token is shown once. We only ever store a scrambled version of it, so we cannot show it to you again and neither can anyone who reads our database. If you lose it, revoke it and make another.
A token is otherwise an ordinary connection: it carries only the permissions you ticked, it appears in the same Connections list, and revoking it stops that assistant immediately. You can have up to ten at a time.
What the permissions mean
The same four permissions apply either way — as checkboxes on the approval screen, or as checkboxes when you create a token. You choose them, not the assistant.
Read my wishlists — see your profile, your lists, the things on them, and the gifts you have reserved for other people.
Change my wishlists — add, edit and delete your own things and lists, and move a thing on or off a list.
Read friends' wishlists — see the people you follow who follow you back, and read their public lists. This is what makes "what should I get Anna?" work.
Reserve gifts — reserve and unreserve a gift on a friend's list, following the same rules the website does.
An assistant only ever sees the tools its permissions allow. If you approve read access only, the tools that change things are not just refused — they are invisible to it.
What an assistant can never do
- See who reserved your gifts. Nothing an assistant can read tells it whether your things are reserved, or by whom. That stays a surprise.
- Browse the userbase. There is no tool that searches for people. An assistant can only reach the friends you already follow mutually.
- Check whether someone has an account. Asking for a stranger's wishlist gives exactly the same answer as asking for a username nobody ever registered.
- See your photos. An assistant is told how many images an item has, never where they are.
- Change many things at once. Every edit and every delete affects exactly one item. There is no bulk anything.
Deleting also needs an explicit confirmation, and every delete made through an assistant is written to our logs.
About the approval screen
The screen leads with the address the data will be sent to — that is the part that cannot be faked. The name underneath it is whatever the app called itself when it registered, and anyone can pick any name. If the name and the address do not match what you expect, deny it.
The screen also tells you whether this is the first time you have connected this particular app.
Access tokens have no approval screen, because there is no app asking — you are the one creating it. That is also why creating one asks you to confirm it is you first.
Disconnect
- Go to Settings → MCP.
- Find the assistant or the token and press Disconnect.
It loses access straight away — not when its access would otherwise have run out.
Both lists show what you allowed, when it was created, and when it was last used. A token that has not been used in a long time is one you can probably revoke.
Changing what an assistant can do
How you change permissions depends on which way the assistant connected. The two work differently, and the difference is not arbitrary.
An access token — change it in place
Go to Settings → MCP, press Permissions on the token, tick or untick, and save. The token itself never changes, so there is nothing to paste into the assistant again — it gains or loses the permission on its next request.
Taking a permission away happens straight away. Adding one asks you to confirm it is you first, because that is granting new access, and granting access should be harder than removing it.
An assistant you approved in a browser — disconnect and connect again
There is no Permissions button on these, because the permissions were not yours alone to choose: the assistant asked for a set, and you approved some or all of it. To change that, the asking has to happen again.
- Press Disconnect on it.
- In the assistant, reconnect the connector. It will find it has lost access and offer to reconnect.
- The approval screen appears again. Tick a different set this time.
The assistant is disconnected in between, which is the cost of this route.
If you only want to add a permission, you can often skip the disconnect: reconnecting in the assistant is enough, because a permission you have never approved always brings the approval screen back. Nothing an assistant already has can be widened quietly.
This is how nearly every service handles connected apps — Google, GitHub and Slack all work the same way. A permission set you agreed with an app is a bargain between the two of you, so it is re-made rather than edited. A token is yours alone, so you can simply change it.
Things worth knowing
- A connection made through the approval screen keeps working for 90 days of not being used, and the clock restarts every time it is used.
- An access token does not expire on its own. It works until you revoke it.
- Signing out everywhere, changing your email or changing your username does not disconnect assistants or revoke tokens. Both are managed only from the Connections page.
- Deleting your account removes every connection and every token with it.
- If you have asked us to delete your account, assistants stop working immediately, even if the assistant still holds what looks like a valid connection.
A word of caution
An assistant you connect can do anything you allowed it to. If someone tricks it — for example by hiding instructions inside a wishlist item — it could act on that.
We defend against this: text written by other people is handed to assistants clearly marked as data rather than instructions, deletes need confirmation, and nothing can be changed in bulk. But the strongest protection is still yours: only connect assistants you trust, grant the narrowest permissions that do the job, and disconnect anything you have stopped using.
Access tokens deserve a little extra care, because a token is a secret sitting in a file on a machine. Anyone who reads that file can use it until you revoke it, and unlike the approval screen there is no address to check. Keep tokens off shared machines, out of anything you commit to a repository, and out of screenshots. Give each assistant its own token rather than reusing one, so revoking a token only affects the assistant it belongs to.