art.allover/agentee
REMOTE · ALLOVER.ART
Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays.
Available components
Last scanned (5 hours ago)
Scores higher than 87% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security94
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability73
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3765 tokens (~171/item across 22 items; 22 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management44
- Stability check failed: schema churn in the 30 days we've observed: 20 tool removals, 0 breaking changes, 0 auth/transport breaks, 6 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 22 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities40
- Spec-recency check failed: implements MCP spec 2025-03-26; the latest is 2026-07-28. See how to fix → Fail
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Nov 26 0
- “search_products” reworded the description of “style” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 1 Nov 26 0
- “search_products” reworded the description of “style” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 31 Oct 26 0
- “search_products” reworded the description of “style” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 27 Oct 26 +2
- HSTS header: fail → pass ▲ security
- 24 Oct 26 −9
- Stability: pass → fail ▼ security
- A breaking change shipped without a version bump: still 1.0.0 ▼ security
- Tool “cart_remove” was removed ▼ security
- Tool “cart_update” was removed ▼ security
- Tool “checkout_link” was removed ▼ security
- Tool “create_colorway” was removed ▼ security
- Tool “designer_add_to_colorway” was removed ▼ security
- Tool “designer_colorways” was removed ▼ security
- Tool “designer_designs” was removed ▼ security
- Tool “designer_remove_from_colorway” was removed ▼ security
- Tool “designer_stats” was removed ▼ security
- Tool “designer_submissions” was removed ▼ security
- Tool “designer_upload_slot” was removed ▼ security
- Tool “designer_uploads” was removed ▼ security
- Tool “order_status” was removed ▼ security
- Tool “set_cart_quantity” was removed ▼ security
- Tool “set_colorway_primary” was removed ▼ security
- Tool “studio_credits” was removed ▼ security
- Tool “studio_generate” was removed ▼ security
- Tool “studio_options” was removed ▼ security
- Tool “studio_status” was removed ▼ security
- Tool “submit_design” was removed ▼ security
- New tool “update_cart_item”, which the server declares destructive security
- Tool “add_custom_to_cart” rewrote its description, which is the text the model reads security
- Tool “add_to_cart” rewrote its description, which is the text the model reads security
- Tool “apply_promo” rewrote its description, which is the text the model reads security
- Tool “get_order_preview” rewrote its description, which is the text the model reads security
- Tool “get_product” rewrote its description, which is the text the model reads security
- Tool “get_saved_addresses” rewrote its description, which is the text the model reads security
- Tool “get_shipping_options” rewrote its description, which is the text the model reads security
- Tool “get_user_prefs” rewrote its description, which is the text the model reads security
- Tool “list_collections” rewrote its description, which is the text the model reads security
- Tool “prepare_order” rewrote its description, which is the text the model reads security
- Tool “remove_promo” rewrote its description, which is the text the model reads security
- Tool “search_products” rewrote its description, which is the text the model reads security
- Tool “set_shipping_address” rewrote its description, which is the text the model reads security
- Tool “set_shipping_method” rewrote its description, which is the text the model reads security
- Tool “set_user_prefs” rewrote its description, which is the text the model reads security
- Tool “view_cart” rewrote its description, which is the text the model reads security
- Schema quality: pass → fail ▼ functional
- Tool coverage: 92% → 100% ▲ functional
- New tool “generate_custom_print” functional
- New tool “get_order_status” functional
- New tool “get_studio_credits” functional
- New tool “get_studio_options” functional
- New tool “get_studio_status” functional
- “search_products” added an optional parameter “color” cosmetic
- “search_products” added an optional parameter “style” cosmetic
- “add_custom_to_cart” reworded the description of “print_id” cosmetic
- “add_custom_to_cart” reworded the description of “product” cosmetic
- “add_to_cart” reworded the description of “size” cosmetic
- “apply_promo” reworded the description of “code” cosmetic
- “search_products” reworded the description of “section” cosmetic
- “set_shipping_address” reworded the description of “address” cosmetic
- “set_shipping_address” reworded the description of “country” cosmetic
- “set_shipping_address” reworded the description of “phone” cosmetic
- “set_shipping_address” reworded the description of “zip” cosmetic
- “set_user_prefs” reworded the description of “fit” cosmetic
- “set_user_prefs” reworded the description of “size” cosmetic
- “add_to_cart” made “size” optional cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 12 Sept 26 0
- Tool coverage: 100% → 92% ▼ functional
- Schema quality: 2692 → 2963 ▼ functional
- New tool “create_colorway” functional
- New tool “designer_add_to_colorway” functional
- New tool “designer_colorways” functional
- New tool “designer_remove_from_colorway” functional
- New tool “set_colorway_primary” functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://allover.art/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=allover.art | CN=WE1,O=Google Trust Services,C=US | 28 Sept 2026 | 27 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 657476a6870ee30e0ed49cb73ef3b444 |
| SANs: allover.art, *.allover.art | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of allover.art. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| art. | present | 29485, 32002 | 8, 8 | Verified |
| allover.art. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Enforced and verified
The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.
| Result | Enforced and verified |
|---|---|
| Enforced | On tool calls |
| HTTP status | 200 |
WWW-Authenticate challenge Bearer resource_metadata="https://allover.art/.well-known/oauth-protected-resource"
Bearer resource_metadata="https://allover.art/.well-known/oauth-protected-resource" | Header | Value |
|---|---|
| strict-transport-security | max-age=15552000; includeSubDomains |
Protected resource metadata
| Document | https://allover.art/.well-known/oauth-protected-resource |
|---|---|
| Retrieved | Yes |
| Resource | https://allover.art/mcp |
| Authorisation server | https://allover.art |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://allover.art/mcp | Verified | 200 | |
| http (plaintext) | http://allover.art/mcp | HTTPS enforced | 301 | https://allover.art/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_custom_to_cart Add custom print to cart ~224
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_options (default mens_oversize_tshirt); size must exist for it — an error lists the sizes. Adding the same print on the same product and size again grows that line (max 99). An unfinished print returns 'print is not ready' and nothing is added. Then checkout goes as usual: set_shipping_address → get_order_preview → prepare_order.
| Name | Type | Req | Description |
|---|---|---|---|
| print_id | string | yes | Finished print id — get_studio_status must report status=done. |
| product | string | – | Studio garment base, as chosen in get_studio_options (default mens_oversize_tshirt). |
| qty | integer | – | Quantity (default 1, max 99). |
| size | string | yes | Size label; must be available for the chosen product. |
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | – | Cart page URL for the human. |
| currency | string | – | – |
| error | string | – | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | array | – | Cart lines in index order — this index is what update_cart_item takes. |
| subtotal | number | – | Sum of price x qty over all lines, USD. |
No examples provided.
add_to_cart Add to cart ~238
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 (default 1) is added: if the same product, size and fabric is already in the cart, that line grows (capped at 99) instead of a new line appearing. An unknown good_id or unavailable size returns an error listing the available sizes, and the cart stays unchanged. For an AI-generated print use add_custom_to_cart; to change a line already in the cart, update_cart_item.
| Name | Type | Req | Description |
|---|---|---|---|
| fabric | string | – | Fabric label from get_product, if the product offers a choice. |
| good_id | integer | yes | Numeric product id from search_products/get_product. |
| qty | integer | – | Quantity to add (default 1, max 99). |
| size | string | – | Size label; must be one of the product's available sizes. Optional when a default size is saved. |
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | – | Cart page URL for the human. |
| currency | string | – | – |
| error | string | – | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | array | – | Cart lines in index order — this index is what update_cart_item takes. |
| subtotal | number | – | Sum of price x qty over all lines, USD. |
No examples provided.
apply_promo Apply promo code ~156
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 case-insensitive and a cart holds one: a valid new code replaces the current one, a rejected one leaves it in place; remove_promo just drops it. Needs at least one item in the cart. Never guess or try codes the human didn't give. The code is re-checked in get_order_preview and prepare_order.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Promo code exactly as the human gave it (case-insensitive). |
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | – |
| bundle | string | – | Bundle price that beats the code (when applied=false for that reason). |
| code | string | – | Normalized promo code (when applied). |
| currency | string | – | – |
| discount | number | – | – |
| error | string | – | Present when the cart is empty or code is missing. |
| reason | string | – | Why the code was rejected (when applied=false). |
| shipping | number | – | – |
| subtotal | number | – | – |
| total | number | – | – |
No examples provided.
generate_custom_print Generate custom print ~548
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 get_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 get_studio_status until done.
| Name | Type | Req | Description |
|---|---|---|---|
| background | string | – | T-shirt background choice (see get_studio_options backgrounds). |
| image_url | string | – | https link to the user's OWN image, used as style/subject reference. |
| model | string | – | Generation engine: nb2 (default) or gpt-image-2 — both 1 credit. |
| placement | string | – | Print size/position: portrait_extended (default), square_center or chest_small. |
| preserve | boolean | – | true = print the image exactly as-is, no AI redraw (free); requires image_url. |
| product | string | – | Studio product base from get_studio_options (default mens_oversize_tshirt). |
| prompt | string | yes | Text description of the design to generate. |
| Name | Type | Req | Description |
|---|---|---|---|
| balance_after | number | – | Credits left after this generation. |
| balance_before | number | – | – |
| cost_credits | number | – | Credits spent on this generation. |
| detail | string | – | – |
| error | string | – | e.g. not enough Studio credits, daily limit reached, invalid product. |
| note | string | – | – |
| print_id | string | – | Generation id — poll get_studio_status with it. |
| signup_bonus | number | – | – |
| status | string | – | – |
| studio_account_created | boolean | – | Present when a Studio account was auto-created for the user. |
| tell_user | string | – | Say this to the account owner — what was spent from their balance and what is left. |
| topup_url | string | – | Where the user can buy credits (present on 'not enough credits'). |
No examples provided.
get_order_preview Preview order ~142
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 set and show the result to the human for confirmation before prepare_order. Read-only and safe to repeat; prices come from the live catalog, not from the cart. ready_to_prepare stays false while the address is missing or a line is unavailable — fix what issues lists (update_cart_item, set_shipping_address) first. An empty cart returns an error.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| bundle | string | – | Bundle price applied instead of the promo code, if any. |
| currency | string | – | – |
| discount | number | – | – |
| error | string | – | Present when the cart is empty. |
| issues | array | – | Lines that became unavailable, if any. |
| items | array | – | Re-priced order lines. |
| note | string | – | – |
| promo_code | string | – | – |
| ready_to_prepare | boolean | – | True when an address is set and all lines are orderable. |
| shipping | object | – | – |
| shipping_address | object | – | Address set via set_shipping_address (null if not set). |
| subtotal | number | – | – |
| total | number | – | – |
No examples provided.
get_order_status Check order status ~198
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, in_production, shipped, delivered or cancelled. number is the full order number such as AO-261023-1234; without it you get the newest orders first (limit default 5, max 20). Read-only: it can't cancel or change an order. An account with no email returns an empty list and a note.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max orders to return (default 5, max 20). |
| number | string | – | Exact order number to look up, e.g. AO-261023-1234; omit for the most recent orders. |
| Name | Type | Req | Description |
|---|---|---|---|
| note | string | – | Present when the account has no email on file. |
| orders | array | – | – |
No examples provided.
get_product Get product details ~131
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 card (the end of its /p/<code> url); add_to_cart then takes the numeric good_id, which this result also returns. Read-only; an unknown code returns error 'product not found'.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | Product code from search_products results. |
| Name | Type | Req | Description |
|---|---|---|---|
| about | string | – | Design description text (may be null). |
| code | string | – | – |
| currency | string | – | – |
| error | string | – | Present when the product was not found. |
| fabrics | array | – | – |
| good_id | integer | – | – |
| image | string | – | – |
| price | number | – | – |
| product | string | – | – |
| sizes | array | – | – |
| theme | string | – | – |
| title | string | – | – |
| url | string | – | – |
| variants | array | – | Price per size+fabric combination. |
No examples provided.
get_saved_addresses Get saved addresses ~83
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 list means no past orders: ask the human for the address.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| addresses | array | – | Up to 5 distinct addresses from past orders, newest first. |
No examples provided.
get_shipping_options Get shipping options ~117
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 more gets free shipping. Read-only and works on an empty cart too. Prices here are USD for the cart as it is; the final shipping amount, in the destination's currency, is in get_order_preview.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| free_shipping_from | number | – | Subtotal (USD) at which shipping becomes free. |
| options | array | – | – |
No examples provided.
get_studio_credits Check Studio credits ~103
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; the first generation creates the account with 20 welcome credits. Every bought tee adds 20 credits, and more can be bought at allover.art/studio.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| balance | number | – | Current Studio credit balance. |
| detail | string | – | – |
| error | string | – | – |
| note | string | – | – |
| studio_account | boolean | – | False if the user has no Studio account yet (first generate auto-creates one). |
No examples provided.
get_studio_options Custom print options ~65
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| backgrounds | array | – | – |
| models | array | – | Generation engines with cost notes. |
| note | string | – | – |
| placements | array | – | Print size/position choices. |
| products | array | – | – |
No examples provided.
get_studio_status Check print generation ~157
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 (the raw image: embed or attach it so the human sees the print) and design_url (the page to share); then offer add_custom_to_cart with the same print_id. 'failed' carries the reason, and its credits are refunded automatically. Read-only — polling costs nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| print_id | string | yes | Generation id returned by generate_custom_print; the same id goes to add_custom_to_cart. |
| Name | Type | Req | Description |
|---|---|---|---|
| design_url | string | – | Shareable Studio design page (when done) — the link to SHARE with the human. |
| detail | string | – | – |
| error | string | – | Generation failure reason (credits are refunded). |
| note | string | – | – |
| preview_url | string | – | Raw print image (when done) — embed/attach it so the human sees the print in chat. |
| print_id | string | – | – |
| status | string | – | Generation state; 'done' and 'failed' are terminal. |
No examples provided.
get_user_prefs Get saved size/fit ~73
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.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| fit | string | – | Saved fit preference: basic | oversized, or null. |
| size | string | – | Saved default size, or null. |
No examples provided.
list_collections List collections ~108
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 query. limit caps the list (default 50, max 100). Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | Max collections to return (default 50, max 100). |
| Name | Type | Req | Description |
|---|---|---|---|
| collections | array | – | – |
No examples provided.
prepare_order Prepare checkout ~131
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 creates a NEW draft with its own number, so call it once per purchase; the cart itself is not emptied. The draft expires after 48 hours. Prices are re-checked; an empty cart, a missing address or no orderable items return an error (with issues) and create nothing.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | – | Pre-filled checkout link — send it to the human to review and pay. |
| currency | string | – | – |
| draft_id | string | – | Draft order number. |
| error | string | – | Empty cart, missing address or no orderable items. |
| expires_at | string | – | ISO 8601 time when the draft expires (48 h). |
| issues | array | – | – |
| note | string | – | – |
| total | number | – | – |
No examples provided.
remove_promo Remove promo code ~81
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 still returns applied=false.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| applied | boolean | – | Always false after removal. |
No examples provided.
search_products Search catalog ~369
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'); theme is a canonical theme (Cats, Anime, Skulls; comma-separate several); style should follow the shopper's saved fit from get_user_prefs (basic → tee, oversized → oversized); max_price is USD. Ranked by relevance with a query, by best-sellers without. No paging: you get the top `limit` (default 24, max 48), so narrow the filters to reach the rest. Adult-only designs are excluded; an unknown color or style returns an error listing the valid values.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Main color of the print. |
| limit | integer | – | Max cards to return (default 24, max 48). |
| max_price | number | – | Only items priced at or below this amount, USD. |
| query | string | – | Free-text search, e.g. 'cat' or 'neon koi'. |
| section | string | – | Catalog section. |
| style | string | – | Garment cut: tee, oversized, sleeveless (men's oversized tee without sleeves), cropped (girls' cropped tee), bodysuit (baby bodysuit, 56-80 cm), long_sleeve, oversized_long_sleeve or oversized_hoodie… |
| theme | string | – | Canonical theme filter (Cats, Anime, Skulls, ...); comma-separate several. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Unknown color or style, with the valid values. |
| items | array | – | Product cards. |
| showing | integer | – | Number of cards returned. |
| total | integer | – | Total catalog matches for the filters. |
No examples provided.
set_shipping_address Set shipping address ~244
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 form; if that fails the result carries a warning — ask the human for the number with its country code, since the courier calls it. Only the required fields and the phone are checked; the street itself is not verified. Missing fields or an empty cart return an error and save nothing. The country can switch the order to local currency (UZS for Uzbekistan).
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Street, house and apartment in one line. |
| city | string | yes | Destination city. |
| country | string | yes | Destination country: name or 2-letter code, e.g. 'Australia' or 'AU'. |
| name | string | yes | Recipient full name. |
| phone | string | yes | Recipient phone, ideally with country code, e.g. +61 412 462 423. |
| zip | string | – | Postal / ZIP code; omit where the country has none. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Missing fields or empty cart. |
| ok | boolean | – | – |
| shipping | object | – | Saved address snapshot. |
| warning | string | – | Phone could not be put in international form — ask the human for it with the country code. |
No examples provided.
set_shipping_method Set shipping method ~109
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 unknown option_id returns an error and changes nothing. Repeating it is harmless.
| Name | Type | Req | Description |
|---|---|---|---|
| option_id | string | – | Shipping option id from get_shipping_options (currently 'worldwide'). |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | Unknown option_id or empty cart. |
| ok | boolean | – | – |
| shipping_method | string | – | – |
No examples provided.
set_user_prefs Save size/fit ~198
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 clears it. size is XS, S, M, L, XL or 2XL–5XL (case-insensitive); fit is basic or oversized. The saved size fills in add_to_cart when size is omitted, and the fit maps to search_products style (basic → tee, oversized → oversized). Any other value returns an error and saves nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| fit | string | – | Fit preference: basic or oversized; empty string clears it. |
| size | string | – | Default size: XS, S, M, L, XL, 2XL…5XL; empty string clears it. |
| Name | Type | Req | Description |
|---|---|---|---|
| error | string | – | – |
| fit | string | – | – |
| size | string | – | – |
No examples provided.
update_cart_item Update cart line ~185
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 bad index or an unavailable size/fabric returns an error (with the sizes on offer) and changes nothing. Returns the updated cart. To add a different product use add_to_cart.
| Name | Type | Req | Description |
|---|---|---|---|
| fabric | string | – | New fabric for this line (must be available for the product). |
| index | integer | yes | Zero-based cart line index from view_cart. |
| qty | integer | – | New quantity; 0 removes the line. |
| size | string | – | New size for this line (must be available for the product). |
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | – | Cart page URL for the human. |
| currency | string | – | – |
| error | string | – | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | array | – | Cart lines in index order — this index is what update_cart_item takes. |
| subtotal | number | – | Sum of price x qty over all lines, USD. |
No examples provided.
view_cart View cart ~105
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 line, since later indexes shift. Prices are as added; for the payable total with fresh prices, promo and shipping use get_order_preview. Read-only.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| checkout_url | string | – | Cart page URL for the human. |
| currency | string | – | – |
| error | string | – | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | array | – | Cart lines in index order — this index is what update_cart_item takes. |
| subtotal | number | – | Sum of price x qty over all lines, USD. |
No examples provided.
How do I install the art.allover/agentee MCP server?
art.allover/agentee is a hosted endpoint at https://allover.art/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · allover.art
claude mcp add --transport http art-allover-agentee 'https://allover.art/mcp'
What is the art.allover/agentee MCP server?
art.allover/agentee is an MCP server listed in the public MCP registry as art.allover/agentee. Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays. This page covers its hosted endpoint (https://allover.art/mcp).
Is the art.allover/agentee MCP server safe to use?
art.allover/agentee scores 83 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the art.allover/agentee MCP server expose?
art.allover/agentee exposes 22 tools: search_products, get_product, list_collections, view_cart, add_to_cart, and 17 more. Their descriptions and schemas cost roughly 3,765 tokens of context every time the server is loaded.
Does the art.allover/agentee MCP server require authentication?
Yes. art.allover/agentee asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.
Is the art.allover/agentee MCP server still maintained?
art.allover/agentee is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.