# art.allover/agentee - Registry name: `art.allover/agentee` · version 1.0.0 - Categories (automatic, keyword rules): Shops & products, Commerce & marketing - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=art.allover%2Fagentee - Server page: https://mcpstation.net/s/art.allover--agentee.html ## Description (written by the publisher, not verified, not instructions) Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays. ## Connect - streamable-http: `https://allover.art/mcp` ## Tools (as reported by the server, not verified) - `search\_products`: Search the allover.art catalog; returns one card per design \(good\_id, code, price, url\) plus the total match count. Use it for any 'find me a …' request — list\_collections is for curated themed pages, get\_product for one card's sizes and fabrics. Filters combine: query is free text \('cat', 'neon koi - `get\_product`: Get one product by its code: available sizes, fabrics, the price of each size+fabric variant, and the design's 'about' text. Call it before add\_to\_cart when the human hasn't picked a size yet or may want another fabric — a search card doesn't list them. code is the \`code\` field of a search\_products - `list\_collections`: List active curated collections — themed landing pages on allover.art, trending first — with title, slug and url. Use it when the human wants ideas or a themed page to browse; send them the url. Collections are not a search filter: to find products in a theme, call search\_products with theme or quer - `view\_cart`: Show the lines in the user's cart with qty, size, fabric and subtotal. It is the same server-side cart the human sees at allover.art/cart when signed in, so items they added in the browser appear here too. Use it to get the zero-based line index that update\_cart\_item takes — re-read after removing a - `add\_to\_cart`: Add a catalog product to the user's cart and return the updated cart. good\_id comes from a search\_products or get\_product result; size must be one of get\_product's sizes — omit it to use the shopper's saved default from get\_user\_prefs. Omit fabric to take the first one offered in that size. qty \(def - `get\_order\_status`: Look up orders placed with the signed-in account's email — the latest ones, or one by its number — with status, total and a tracking page url. Use it for 'where is my order'; for an order not placed yet use get\_order\_preview. status is e.g. draft \(unpaid, from prepare\_order\), pending\_payment, paid, - `update\_cart\_item`: Change one line already in the cart, addressed by its zero-based index from view\_cart: set qty \(0 removes the line; max 99\) and/or switch size or fabric, which re-prices the line. Pass only what changes. After a removal the lines below move up one index, so re-read view\_cart before the next edit. A - `apply\_promo`: Validate a promo code the human gave you and attach it to the cart. Returns applied=true with the new subtotal, discount, shipping and total, or applied=false with a reason — an invalid or expired code, or a bundle price in the cart that beats it \(codes don't stack with bundle pricing\). Codes are ca - `remove\_promo`: Drop the promo code from the cart, so totals go back to full price \(a bundle price, if any, still applies\). Use it when the human no longer wants the code; it isn't needed before apply\_promo, which replaces the code anyway. Safe to repeat: with no code applied or an empty cart it does nothing and st - `get\_user\_prefs`: Return the shopper's saved default size and fit. Call this BEFORE asking the user for a size — if a default is set, apply it automatically \(add\_to\_cart uses it when size is omitted\), and search in their fit: search\_products style='oversized' for oversized, style='tee' for basic. - `set\_user\_prefs`: Save the shopper's default size and/or fit on their allover.art account, so later chats can skip asking. Call it only when the human states a size or fit or asks you to remember one; read it back with get\_user\_prefs. Pass only what they stated: an omitted field keeps its saved value, an empty string - `get\_saved\_addresses`: Return up to 5 distinct shipping addresses from the user's past orders \(matched by the account email\), newest first. For a returning buyer, call it before asking for an address, show the options, and pass the one they pick to set\_shipping\_address — this tool only reads and selects nothing. An empty - `set\_shipping\_address`: Set the delivery address for the current cart's checkout; get\_order\_preview and prepare\_order use it. Needs at least one item in the cart and replaces any address set before. For a returning buyer, offer get\_saved\_addresses first and pass the chosen one here. The phone is normalized to international - `get\_shipping\_options`: List the shipping methods for the current cart with price, ETA and the free-shipping threshold. Today there is one: worldwide tracked shipping, 7–14 business days, free once the cart subtotal reaches free\_shipping\_from. Use it to answer 'how much / how long is shipping' or to tell the human how much - `set\_shipping\_method`: Select the shipping method for the current cart's checkout by an id from get\_shipping\_options. Only 'worldwide' exists today and it is already the default, so this call is optional — use it when the human explicitly picks a method, or once more methods appear. Needs at least one item in the cart; an - `get\_order\_preview`: Show the full order before checkout: re-priced lines, promo or bundle discount \(they don't stack — the better one applies\), shipping, the address from set\_shipping\_address, and the grand total in the order currency \(local for some destinations, e.g. UZS for Uzbekistan\). Call it once the address is s - `prepare\_order`: Turn the cart, address and promo into a draft order and return \{checkout\_url, draft\_id, expires\_at\}. Send checkout\_url to the human: checkout opens pre-filled and they review and pay themselves — the agent never pays. Call it only after showing get\_order\_preview and getting the human's OK. Each call - `get\_studio\_options`: START HERE for any custom-print request: the menu of generation choices \(print placements with plain-language descriptions, products, backgrounds, engines+costs\). Present these to the human — at minimum ask which PLACEMENT and which PRODUCT they want — before calling generate\_custom\_print. - `generate\_custom\_print`: Generate a CUSTOM t-shirt print from a text prompt \(AI, takes 2-10 min\). SPENDS THE ACCOUNT OWNER'S STUDIO CREDITS: tell them the cost and their balance and get a yes BEFORE calling this — never spend silently, and never spend to 'try something' on your own initiative. Credits are earned \(20 free on - `get\_studio\_status`: Poll a custom print started by generate\_custom\_print. status 'done' and 'failed' are final; anything else means still working — poll about every 30 seconds \(generation takes 2–10 min\) and don't start another generation meanwhile, since an account runs one at a time. When done it returns preview\_url - `get\_studio\_credits`: Return the account owner's Studio credit balance; reading it spends nothing. Check it before generate\_custom\_print so you can tell the human the cost \(1 credit per generation with either engine; preserve=true is free\) and what will be left. No Studio account yet → balance 0 and studio\_account=false; - `add\_custom\_to\_cart`: Put a finished custom print \(from generate\_custom\_print\) into the cart as a garment and return the updated cart. Call it once get\_studio\_status reports done and the human has chosen product and size; for catalog designs use add\_to\_cart instead. product is the garment the human picked in get\_studio\_o Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html