agentee
Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout.
What it can do
What data it sees
Do you need an account
No: the server works without sign-in
Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays.
How to connect
How to connect agentee to Claude
The server address to paste into Claude settings:
https://allover.art/mcp
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect agentee to ChatGPT
The server address to paste into ChatGPT settings:
https://allover.art/mcp
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect agentee to Cursor
The server address to paste into Cursor settings:
https://allover.art/mcp
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (36)
Raw names from tools/list. Only developers need these.
| search_products | Search the allover.art catalog (one card per design). Args: query? (free text, e.g. 'cat', 'neon koi'), theme? (canonical theme like Cats/Anime/Skulls, comma-separated for several), section? (mens|womens|kids), limit? (<=48), max_price? (USD). Returns product cards with good_id, price and url. |
| get_product | Full details of one product by its code: available sizes, fabrics, per-variant price, and the design 'about' text. Args: code (from search_products). |
| list_collections | List active curated collections (themed landing pages) with their slugs and urls. Args: limit?. |
| view_cart | Show the current contents of the user's cart (the same cart they see in the browser when signed in). |
| add_to_cart | Add a product to the user's cart. Args: good_id (from search/get_product), size (must be one of the product's sizes), fabric? (if the product offers a choice), qty? (default 1). Returns the updated cart. |
| set_cart_quantity | Change the quantity of a cart line by its index (from view_cart); qty=0 removes it. Args: index, qty. |
| checkout_link | Get the URL where the human opens their cart to review and pay. The agent never pays — checkout is always done by the person in the browser. |
| order_status | Look up the user's recent orders (or one by number) and their fulfilment status. Args: number?, limit? (default 5). |
| cart_update | Change a cart line by its index (from view_cart): set qty (0 removes), or switch size/fabric. Args: index, qty?, size?, fabric?. |
| cart_remove | Remove a cart line by its index (from view_cart). Args: index. |
| apply_promo | Validate and apply a promo code to the cart (server-checked). Returns the new discount/shipping/total, or applied=false with a reason. Args: code. |
| remove_promo | Remove the applied promo code from the cart. |
| 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 prefer products matching their fit (basic vs oversized). |
| set_user_prefs | Save the shopper's default size and/or fit so they don't re-enter it each time. Args: size (XS…5XL), fit (basic | oversized). Pass only what the user stated. |
| get_saved_addresses | Return shipping addresses the user used in past orders — offer these to a returning buyer instead of asking again. |
| set_shipping_address | Set the shipping address for this order (validated). Args: name, country, city, address, zip?, phone. |
| get_shipping_options | Available shipping methods for the current cart/address, with price and ETA (free over the threshold). |
| set_shipping_method | Choose a shipping method by its option_id (from get_shipping_options). Args: option_id. |
| get_order_preview | Full order summary to show the human before ordering: line items, promo/discount, shipping, address, grand total. Prices are server-computed. |
| prepare_order | Create a draft order from the cart + address + promo and return {checkout_url, draft_id, expires_at}. The human opens checkout_url — everything is pre-filled — reviews and pays. The agent never pays. Call get_order_preview and confirm with the human first. |
| 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 studio_generate. |
| studio_generate | 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 signup, 20 with every tee bought), so a wasted one is a real loss to them. Free exception: preserve=true prints their own image as-is and costs nothing. IMPORTANT: first call studio_options and ask the human to pick placement + product (and optionally background); do NOT silently use defaults. Args: prompt (design description), product? (one of ['kids_basic_tshirt_boy', 'kids_basic_tshirt_girl', 'kids_oversize_tshirt_boy', 'kids_oversize_tshirt_girl', 'mens_basic_tshirt', 'mens_oversize_tshirt', 'womens_basic_tshirt', 'womens_oversize_tshirt']), background? (t-shirt background, one of ['washed-beige', 'washed-black', 'washed-blue', 'washed-brown', 'washed-gray', 'washed-green', 'washed-orange', 'washed-pink', 'washed-red', 'washed-yellow', 'watercolor-beige', 'watercolor-blue', 'watercolor-sky']), placement? (print size/position, one of ['portrait_extended', 'square_center', 'chest_small']), model? (nb2 default | gpt-image-2 — both 1 credit, different styles), image_url? (https link to the user's OWN image — used as style/subject reference), preserve? (true = print the user's image exactly as-is, no AI redraw — kids' drawings, own art; FREE, no credits; requires image_url). Returns print_id — poll studio_status until done. |
| studio_status | Check a custom print generation. Args: print_id (from studio_generate). When done returns preview_url — show it to the human. |
| studio_credits | The user's Studio credit balance. Check before studio_generate (1 credit per generation, either engine; welcome bonus 20; every bought tee adds 20). |
| add_custom_to_cart | Put a FINISHED custom print into the cart as a product. Args: print_id (must be done), product? (same set as studio_generate), size, qty?. Then the normal checkout flow applies (get_order_preview -> prepare_order). |
| designer_stats | The user's designer-program stats (if they are a designer-partner): units sold, revenue, accrued royalties, available for payout, royalty percent, their designer page URL. |
| designer_designs | The user's own published designs with live status (products on sale / hidden / pending). Args: limit? (default 50). |
| designer_upload_slot | Get a short-lived URL to upload an image file to us (use when the designer has no public link — otherwise pass the URL straight to submit_design). Args: filename?. PUT the raw bytes to upload_url, then pass the returned upload_id to submit_design. |
| submit_design | Send one of the designer's own artworks for moderation. TWO inputs, same path: either artwork files — front/back accept a public image URL OR an upload_id from designer_upload_slot — or session_id of a FINISHED Studio session of theirs (generated with studio_generate; no need to download the print, we fetch it server-side). Args: name (required), front OR session_id (one of them), back?, layout? ('front_back' default, or 'r10' for a ready print-side file), note?, batch? (same string across a bulk run so the moderator sees them as one batch). Minimum 2048px on the short side. IMPORTANT for the designer: this queues the artwork for moderation — catalog listing follows production and is not instant. |
| designer_uploads | What the designer has already sent in and where it stands: in review / accepted / needs changes (with the reason). Args: limit?. |
| designer_submissions | The user's Studio publications in moderation: in review / in catalog / needs changes. Args: limit?. |
| designer_colorways | My colorway sets: one catalog card per set instead of one per colour. No args. |
| create_colorway | Group my recolours of ONE artwork into a set (2+ of my designs). The catalog then shows one card for the set; every variant keeps its own page and link. Args: design_ids (list of my design ids), primary? (which one represents the set). |
| designer_add_to_colorway | Add one more of my recolours to a set of mine. Args: colorway_id, design_id. |
| designer_remove_from_colorway | Take one of my designs out of its set — it gets its own catalog card again. A set left with a single variant is dissolved. Args: design_id. |
| set_colorway_primary | Choose which variant of my set represents it in the catalog. Args: colorway_id, design_id. |