Buy from Claude with Atta
Atta runs an MCP server at /api/mcp. In Claude, add it as a custom connector with that URL, sign in and pick a workspace. Claude can search products, build a cart, check stock and place orders as you. A purchase that needs approval is parked as a request, and nothing is paid until the approvers answer.
What Claude can do through Atta
Claude gets the tools the Atta chat agent has: searchProducts, getProduct, viewCart, addToCart, viewBudget, listRequests, openRequest, checkStock, trackShipments, findInvoices, listOrders and checkout. Reads run freely. Cart writes and requests are reversible. checkout is the one that spends, and it goes through the approval policy before anything happens.
You, in Claude: do we already have cable ties, and if not order 5 bags of the 200mm ones
Claude:
checkStockshows 2 bags at Main, below the reorder point of 10. The 200mm bag is $4.90. Five is $24.50, within your limit, socheckoutran. Order placed.
checkStock is why that works: the agent can tell what you already have before it sources anything. It only reads. Nothing Claude can call changes the stock ledger.
Approval over MCP
Claude can't wait on an Atta approval card, so a checkout is mapped to one of three outcomes:
- The policy says
auto: the order is placed after the anomaly signals run and the undo window passes. - The policy says
deny: Claude gets the policy's reason. - The policy says
ask: the checkout is parked as a request with its approval chain. The first step is addressed to you, which you answer on the requests page. If your role can't approve, as with a buyer, the step goes to the owner. When the last step is answered, Atta places the order under your scope.
Claude's own "allow this tool?" prompt isn't counted as an approval, since Atta can't tell who clicked. The cart total is read from the cart and not from the tool input, so the model can't state a smaller number.
Setting it up
As a connector, which covers Claude on the web, Desktop and mobile:
- In Claude, open Settings, then Connectors, then Add custom connector.
- Enter the URL
https://<your-host>/api/mcp, with no client id or secret. - Claude opens Atta's consent page. Sign in, pick the workspace Claude will shop in and press Allow.
With Claude Code or a script, create a token instead. In Atta, open Settings, then MCP access, name a token and create it. It's shown once. Then add a server with the header:
{
"mcpServers": {
"atta": {
"type": "http",
"url": "https://<your-host>/api/mcp",
"headers": { "Authorization": "Bearer smcp_..." }
}
}
}
Revoke a token or a connected app from the same card. A revoked token gets a 401 on its next call.
Who Claude acts as
A grant belongs to one member of one workspace. The role is looked up from membership on every call, and the token never carries it. A grant can do nothing its owner can't do in the app. The consent page shows the redirect host and says plainly that a client's name isn't verified.
Atta logs every call with the workspace, user, token id, tool and outcome. A log line never carries the query, a title or a note.
Questions
Does Claude need my password?
No. The connector signs in with OAuth. You approve it on Atta's consent page and choose the workspace. Claude Code can use a token from Settings instead.
Can Claude place an order that needs approval?
It can ask. The checkout is parked as a request with an approval chain, and the order is placed only after the last approver answers.
Which tools does Claude get?
Search, product, cart, budget, requests, stock, shipments, invoices, orders and checkout. Stock, shipments and invoices are read-only.
How do I remove access?
Revoke the token or connected app in Settings, then MCP access. The next call gets a 401 and the refresh token is revoked too.
Related
- Buy from ChatGPT with AttaAdd Atta to ChatGPT as an MCP connector. Search, add to cart and check out as your Atta member, with the same approval policy applied to every purchase.
- 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.