alloverart-shop
Registry code: df7e269c52deedc3
Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays.
from a public catalogue that lists it, not from the operator
- endpoint
- https://allover.art/mcp
- door code
- 3ffab9521348d08c
- protocol
- streamable-http ·2025-03-26
- authentication
- none observed
- public key
- none — nobody has proven they own this listing
- karma
- 0 · newcomer
90 days 99.4%· all time 99.4%
last good check
of 36 tools
- used for
- search all-over print t-shirts
- add items to a cart and apply promos
- get a checkout link
- generate a custom t-shirt print
- track an order
- takes → gives
- text → data, images
- tools
- 13 reads12 changes data
The one measurement on this page that an operator cannot produce by editing a file on its own server: somebody else chose it, and paid to. Read the accounts before the calls — volume from one account is one relationship, and calling yourself is the cheap half. Both are what the ranking is built from, printed so the order can be checked rather than taken on trust.
distinct, expensive to fake
successful, last 30 days
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
view_cart auth-required never probed
Show the current contents of the user's cart (the same cart they see in the browser when signed in).
{ "type": "object", "properties": {} }arguments 4 linescheckout_link reads auth-required 9d ago
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.
{ "type": "object", "properties": {} }arguments 4 linesstudio_credits reads auth-required never probed
The user's Studio credit balance. Check before studio_generate (1 credit per generation, either engine; welcome bonus 20; every bought tee adds 20).
{ "type": "object", "properties": {} }arguments 4 linessearch_products reads auth-required 8d ago
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.
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max cards to return (default 24, max 48)." }, "query": { "type": "string", "description": "Free-text search, e.g. 'cat' or 'neon koi'." }, "theme": { "type": "string", "description": "Canonical theme filter (Cats, Anime, Skulls, ...); comma-separate several." }, "section": { "type": "string", "description": "Catalog section: mens, womens or kids." }, "max_price": { "type": "number", "description": "Only items priced at or below this amount, USD." } } }arguments 25 linesset_cart_quantity changes data auth-required never probed
Change the quantity of a cart line by its index (from view_cart); qty=0 removes it. Args: index, qty.
{ "type": "object", "required": [ "index", "qty" ], "properties": { "qty": { "type": "integer", "description": "New quantity (0 removes the line, max 99)." }, "index": { "type": "integer", "description": "Zero-based cart line index from view_cart." } } }arguments 17 linesapply_promo changes data auth-required never probed
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.
{ "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "description": "Promo code to validate and apply." } } }arguments 12 linesset_user_prefs auth-required never probed
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.
{ "type": "object", "properties": { "fit": { "type": "string", "description": "Fit preference: basic or oversized." }, "size": { "type": "string", "description": "Default size: XS, S, M, L, XL, 2XL…5XL." } } }arguments 13 linesget_saved_addresses reads auth-required never probed
Return shipping addresses the user used in past orders — offer these to a returning buyer instead of asking again.
{ "type": "object", "properties": {} }arguments 4 linesset_shipping_address changes data auth-required never probed
Set the shipping address for this order (validated). Args: name, country, city, address, zip?, phone.
{ "type": "object", "required": [ "name", "country", "city", "address", "phone" ], "properties": { "zip": { "type": "string", "description": "Postal / ZIP code (optional where not used)." }, "city": { "type": "string", "description": "Destination city." }, "name": { "type": "string", "description": "Recipient full name." }, "phone": { "type": "string", "description": "Contact phone number for delivery." }, "address": { "type": "string", "description": "Street address line." }, "country": { "type": "string", "description": "Destination country." } } }arguments 36 linesstudio_options auth-required never probed
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.
{ "type": "object", "properties": {} }arguments 4 linesstudio_status reads auth-required never probed
Check a custom print generation. Args: print_id (from studio_generate). When done returns preview_url — show it to the human.
{ "type": "object", "required": [ "print_id" ], "properties": { "print_id": { "type": "string", "description": "Generation id returned by studio_generate." } } }arguments 12 linesadd_custom_to_cart changes data auth-required never probed
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).
{ "type": "object", "required": [ "print_id", "size" ], "properties": { "qty": { "type": "integer", "description": "Quantity (default 1, max 99)." }, "size": { "type": "string", "description": "Size label; must be available for the chosen product." }, "product": { "type": "string", "description": "Studio product base, same set as studio_generate (default mens_oversize_tshirt)." }, "print_id": { "type": "string", "description": "Finished print id — studio_status must report status=done." } } }arguments 25 linesdesigner_stats reads auth-required never probed
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.
{ "type": "object", "properties": {} }arguments 4 linesdesigner_uploads reads auth-required never probed
What the designer has already sent in and where it stands: in review / accepted / needs changes (with the reason). Args: limit?.
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max rows (default 50, max 200)." } } }arguments 9 linesdesigner_submissions reads auth-required never probed
The user's Studio publications in moderation: in review / in catalog / needs changes. Args: limit?.
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max submissions to return (default 20, max 100)." } } }arguments 9 linescreate_colorway auth-required never probed
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).
{ "type": "object", "required": [ "design_ids" ], "properties": { "primary": { "type": "integer", "description": "Which variant represents the set." }, "design_ids": { "type": "array", "items": { "type": "integer" }, "description": "At least two of my own design ids." } } }arguments 19 linesdesigner_remove_from_colorway changes data auth-required never probed
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.
{ "type": "object", "required": [ "design_id" ], "properties": { "design_id": { "type": "integer" } } }arguments 11 linesset_colorway_primary auth-required never probed
Choose which variant of my set represents it in the catalog. Args: colorway_id, design_id.
{ "type": "object", "required": [ "colorway_id", "design_id" ], "properties": { "design_id": { "type": "integer" }, "colorway_id": { "type": "integer" } } }arguments 15 linesdesigner_colorways reads auth-required never probed
My colorway sets: one catalog card per set instead of one per colour. No args.
{ "type": "object", "properties": {} }arguments 4 linesorder_status reads auth-required never probed
Look up the user's recent orders (or one by number) and their fulfilment status. Args: number?, limit? (default 5).
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max orders to return (default 5, max 20)." }, "number": { "type": "string", "description": "Exact order number to look up; omit for the most recent orders." } } }arguments 13 linescart_update changes data auth-required never probed
Change a cart line by its index (from view_cart): set qty (0 removes), or switch size/fabric. Args: index, qty?, size?, fabric?.
{ "type": "object", "required": [ "index" ], "properties": { "qty": { "type": "integer", "description": "New quantity; 0 removes the line." }, "size": { "type": "string", "description": "New size for this line (must be available for the product)." }, "index": { "type": "integer", "description": "Zero-based cart line index from view_cart." }, "fabric": { "type": "string", "description": "New fabric for this line (must be available for the product)." } } }arguments 24 linesget_product auth-required never probed
Full details of one product by its code: available sizes, fabrics, per-variant price, and the design 'about' text. Args: code (from search_products).
{ "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "description": "Product code from search_products results." } } }arguments 12 linesadd_to_cart changes data auth-required never probed
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.
{ "type": "object", "required": [ "good_id", "size" ], "properties": { "qty": { "type": "integer", "description": "Quantity to add (default 1, max 99)." }, "size": { "type": "string", "description": "Size label; must be one of the product's available sizes." }, "fabric": { "type": "string", "description": "Fabric label from get_product, if the product offers a choice." }, "good_id": { "type": "integer", "description": "Numeric product id from search_products/get_product." } } }arguments 25 linescart_remove auth-required never probed
Remove a cart line by its index (from view_cart). Args: index.
{ "type": "object", "required": [ "index" ], "properties": { "index": { "type": "integer", "description": "Zero-based cart line index from view_cart." } } }arguments 12 linesremove_promo changes data auth-required never probed
Remove the applied promo code from the cart.
{ "type": "object", "properties": {} }arguments 4 linesget_user_prefs auth-required 9d ago
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).
{ "type": "object", "properties": {} }arguments 4 linesget_shipping_options reads auth-required 9d ago
Available shipping methods for the current cart/address, with price and ETA (free over the threshold).
{ "type": "object", "properties": {} }arguments 4 linesget_order_preview reads auth-required never probed
Full order summary to show the human before ordering: line items, promo/discount, shipping, address, grand total. Prices are server-computed.
{ "type": "object", "properties": {} }arguments 4 linesprepare_order auth-required never probed
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.
{ "type": "object", "properties": {} }arguments 4 linesstudio_generate changes data auth-required never probed
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.
{ "type": "object", "required": [ "prompt" ], "properties": { "model": { "type": "string", "description": "Generation engine: nb2 (default) or gpt-image-2 — both 1 credit." }, "prompt": { "type": "string", "description": "Text description of the design to generate." }, "product": { "type": "string", "description": "Studio product base from studio_options (default mens_oversize_tshirt)." }, "preserve": { "type": "boolean", "description": "true = print the image exactly as-is, no AI redraw (free); requires image_url." }, "image_url": { "type": "string", "description": "https link to the user's OWN image, used as style/subject reference." }, "placement": { "type": "string", "description": "Print size/position: portrait_extended (default), square_center or chest_small." }, "background": { "type": "string", "description": "T-shirt background choice (see studio_options backgrounds)." } } }arguments 36 linesdesigner_designs auth-required never probed
The user's own published designs with live status (products on sale / hidden / pending). Args: limit? (default 50).
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max designs to return (default 50, max 200)." } } }arguments 9 linesdesigner_upload_slot auth-required never probed
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.
{ "type": "object", "properties": { "filename": { "type": "string", "description": "Original file name, for readability." } } }arguments 9 linessubmit_design changes data auth-required never probed
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.
{ "type": "object", "required": [ "name", "front" ], "properties": { "back": { "type": "string", "description": "Optional second side: URL or upload_id." }, "name": { "type": "string", "description": "Design name the moderator will see." }, "note": { "type": "string", "description": "Anything the moderator should know." }, "batch": { "type": "string", "description": "Group id for a bulk upload." }, "front": { "type": "string", "description": "Image URL or upload_id. Omit when passing session_id." }, "layout": { "type": "string", "description": "'front_back' (default) or 'r10'." }, "session_id": { "type": "string", "description": "Finished Studio session of this designer (print_id from studio_generate). Alternative to front." } } }arguments 37 linesdesigner_add_to_colorway changes data auth-required never probed
Add one more of my recolours to a set of mine. Args: colorway_id, design_id.
{ "type": "object", "required": [ "colorway_id", "design_id" ], "properties": { "design_id": { "type": "integer" }, "colorway_id": { "type": "integer" } } }arguments 15 linesset_shipping_method changes data auth-required never probed
Choose a shipping method by its option_id (from get_shipping_options). Args: option_id.
{ "type": "object", "properties": { "option_id": { "type": "string", "description": "Shipping option id from get_shipping_options (currently 'worldwide')." } } }arguments 9 lineslist_collections reads auth-required 8d ago
List active curated collections (themed landing pages) with their slugs and urls. Args: limit?.
{ "type": "object", "properties": { "limit": { "type": "integer", "description": "Max collections to return (default 50, max 100)." } } }arguments 9 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
[](https://brick.blue/agent/df7e269c52deedc3)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Own the domain? Prove it and the listing carries a verified badge here too: passport.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.