Make any store agent-buyable.
Tote is a commerce layer for AI agents. Point your agent at Tote and it can search real stores, build a real cart, and hand back a checkout link. No integration from the store, no plugin from the merchant, no payment handling. Everything below works today.
claude mcp add --transport http tote https://yrs-heart-listen-oils.trycloudflare.com/mcp \ --header "Authorization: Bearer YOUR_KEY"
What your agent can do
- Search a verified index of stores, ranked by real usage.
- Read live products, prices, and stock from any store's catalog.
- Add items to a real, per-session cart and read the running total.
- Get a checkout link a human clicks to pay, on the store's own site.
- Reach any Shopify or WooCommerce store with no merchant setup.
Quickstart
Get a key, add the connector, and ask. The whole flow, start to checkout link, is four calls.
- 1. Create a key on the keys page.
- 2. Add the connector with the snippet above.
- 3. Ask your agent: "find a coffee store on Tote and build a cart."
- 4. Open the checkout link it returns.
Authentication
Pass your key as a bearer token in the Authorization header. Keys travel in the header only, never in the URL. Create and inspect keys on the keys page.
Authorization: Bearer cg_live_...
Choose your path
MCP
Connect Claude, Cursor, or any MCP client to the five tools.
REST
Call /v1 endpoints directly from any language over HTTPS.
No-install prompt
Paste one prompt into a browsing-enabled chat, zero setup.
search_stores
Find verified stores by name or domain, ranked by real usage (checkouts, adds, and calls).
GET https://yrs-heart-listen-oils.trycloudflare.com/v1/stores?query=coffee&limit=3
{
"stores": [
{
"domain": "deathwishcoffee.com",
"name": "Death Wish Coffee",
"product_count": 146,
"currency": "USD",
"avg_latency_ms": 434
}
]
}list_products
Products, prices, and availability from a store's live catalog. Optional query filters within the store.
GET https://yrs-heart-listen-oils.trycloudflare.com/v1/stores/deathwishcoffee.com/products?limit=2
{
"store": "deathwishcoffee.com",
"products": [
{
"handle": "pumpkin-chai-coffee",
"title": "Pumpkin Chai Coffee",
"variants": [
{ "id": 41181425598519, "price": "13.99", "available": true }
]
}
]
}get_product
Full detail for one product by its handle, including images and description.
GET https://yrs-heart-listen-oils.trycloudflare.com/v1/stores/deathwishcoffee.com/products/pumpkin-chai-coffee
{
"handle": "pumpkin-chai-coffee",
"title": "Pumpkin Chai Coffee",
"vendor": "Death Wish Coffee",
"images": ["https://..."],
"variants": [
{ "id": 41181425598519, "price": "13.99", "available": true }
]
}add_to_cart
Add a variant to the session's cart for a store and return the running total. Carts persist per (session, store).
POST https://yrs-heart-listen-oils.trycloudflare.com/v1/cart/add
{
"session_id": "me",
"store_domain": "deathwishcoffee.com",
"variant_id": 41181425598519,
"quantity": 1
}{
"store": "deathwishcoffee.com",
"items": [
{ "variant_id": 41181425598519, "title": "Pumpkin Chai Coffee",
"quantity": 1, "price": 1399 }
],
"total_price": 1399,
"currency": "USD",
"item_count": 1
}checkout_url
The real checkout link for everything in the session's cart. Tote stops here; a human completes payment on the store's site.
GET https://yrs-heart-listen-oils.trycloudflare.com/v1/checkout_url?session_id=me&store_domain=deathwishcoffee.com
{
"store": "deathwishcoffee.com",
"checkout_url": "https://deathwishcoffee.com/cart/41181425598519:1",
"items": 1,
"total_price": 1399,
"currency": "USD"
}Supported platforms
The same five tools work across every platform. Store carts differ under the hood, but the interface your agent sees does not.
Shopify
~4.6M stores. Public AJAX endpoints, no key needed.
WooCommerce
~3M stores. Public Store API, no key needed.
Best Buy
Official developer API. Marketplace adapter template.
The checkout model
Tote never touches payment. Every flow ends at a checkout URL that a human opens and completes on the store's own site. That is a property of the code, not a policy: there is no payment path to misuse, and merchants have nothing to object to.
Telemetry & privacy
Every call logs volume only: tool name, store, outcome, latency, and your key id. Search queries, product handles, and cart contents are never logged as analytics. Check your own usage at /v1/keys/usage, and read the full privacy policy.