Buy from ChatGPT with Atta
Atta runs an MCP server at /api/mcp. Add its URL to ChatGPT as a connector, sign in, pick a workspace and allow it. ChatGPT can then search products, build a cart, check stock and place orders as you. A purchase that needs approval is parked as a request for the approvers instead of being refused or skipped.
What ChatGPT can do through Atta
ChatGPT gets the same tools as Atta's own chat agent, under the same names, so one entry in the risk table decides a tool whichever way the call arrives.
| Tool | What it does |
|---|---|
searchProducts, getProduct | Search the workspace's suppliers, with store and brand preferences applied |
viewCart, addToCart | Read and build the cart |
viewBudget | Budget left, the approval cap and the workspace's mode |
listRequests, openRequest | See purchase requests and open one |
checkStock | Items on hand per location and restock status |
trackShipments | Inbound shipments and transfers, and whether they're late |
findInvoices | E-invoices sent and received and the purchase each is matched to |
listOrders | Orders and their status |
checkout | Places the order, through the approval policy |
Linked stores and the open web aren't offered over MCP. A linked store needs a paired device in the loop.
What happens at checkout
ChatGPT has no approval card that Atta can wait on, so the policy maps like this:
autoruns the checkout. The anomaly signals run first, and the undo window is waited out, as for an auto checkout in the Atta chat.denyis refused with the policy's sentence.askparks the checkout as a request. It's the same row, chain and resume as a parked chat checkout. When the last step is answered, Atta places the order under the requester's scope, for the approved amount and lines only.
ChatGPT's own confirmation prompt doesn't count as approval, since Atta can't see who clicked it.
You, in ChatGPT: order two of the standing desks from the shortlist
ChatGPT: Checkout returned: this needs approval. I've opened request R-218 for $1,180.00. It's with Dana.
The amount comes from the cart, never from what the model types. The per-order cap, the budget and the approval rules all apply. The per-conversation cap does not, since MCP has no conversation. A cart write that would need approval is refused with a pointer to the app, because a parked cart write would be a request nothing resumes.
Text a store wrote comes back wrapped as untrusted data, and the server's instructions say what that means.
Setting it up
- Open ChatGPT's connector settings and add a custom MCP connector.
- Enter the URL
https://<your-host>/api/mcp. No client id or secret is needed. The client registers itself. - Sign in to Atta on the consent page that opens. It names the redirect host so a client that claims to be ChatGPT but sends codes elsewhere shows up.
- Pick the workspace it will shop in and press Allow.
The grant shows in Settings, then MCP access, as a connected app. Revoke it there and the refresh token dies with it. An access token lives one hour, and refresh tokens rotate and expire 30 days after last use.
A client that can set headers can use a token from Settings, then MCP access, as Authorization: Bearer smcp_... instead.
Who ChatGPT acts as
A grant acts as one member of one workspace. The role is read from membership on every call, so a person who leaves the workspace loses access without anyone revoking the grant. Requests are limited to 240 a minute per token.
Questions
Can ChatGPT spend money without approval?
No. A checkout goes through the same policy as in Atta. Within your limit it can run; above it, the checkout becomes a request for the approvers and nothing is paid until the last step is answered.
Does ChatGPT see my other workspaces?
No. You choose one workspace on the consent page. The grant acts as you in that workspace only.
Do I need an API key?
No. ChatGPT connects with OAuth, and you sign in to Atta. A token from Settings is for clients that can set headers.
How do I disconnect it?
Revoke the connected app in Settings, then MCP access. It stops working on the next call and the refresh token is revoked with it.
Related
- Buy from Claude with AttaAdd Atta to Claude as a custom connector or give Claude Code a token. Search, build a cart and check out as your member, under the same approval rules.
- Purchase approval softwareSet approval limits per role and build approval chains by amount. Approvers answer from Slack, WhatsApp or the app, and nothing is paid until the last step clears.