# art.allover/agentee

> Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays.

- name: art.allover/agentee
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 75/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/art.allover%2Fagentee
- tools: https://api.protogrid.dev/v1/servers/art.allover%2Fagentee/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "agentee": {
      "type": "http",
      "url": "https://allover.art/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 99
- freshness: 65
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-98% ~updated-97d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 36 of 36 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 4,691 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 36, about 4,691 tokens to load them all
- tool set hash: b299ba97df786245b43a0cd190c3e07d
- badge: [![protogrid quality](https://protogrid.dev/badge/art.allover/agentee.svg)](https://protogrid.dev/servers/art.allover/agentee)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://allover.art/mcp (streamable-http, auth none, reachable true, uptime30d 0.9830508)

## Packages

_none_

## Tools (36)

- `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).
- `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.
- `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.
- `cart_remove`: Remove a cart line by its index (from view_cart). Args: index.
- `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?.
- `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.
- `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_colorways`: My colorway sets: one catalog card per set instead of one per colour. No args.
- `designer_designs`: The user's own published designs with live status (products on sale / hidden / pending). Args: limit? (default 50).
- `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.
- `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_submissions`: The user's Studio publications in moderation: in review / in catalog / needs changes. Args: limit?.
- `designer_uploads`: What the designer has already sent in and where it stands: in review / accepted / needs changes (with the reason). Args: limit?.
- `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.
- `get_order_preview`: Full order summary to show the human before ordering: line items, promo/discount, shipping, address, grand total. Prices are server-computed.
- `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).
- `get_saved_addresses`: Return shipping addresses the user used in past orders — offer these to a returning buyer instead of asking again.
- `get_shipping_options`: Available shipping methods for the current cart/address, with price and ETA (free over the threshold).
- `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).
- `list_collections`: List active curated collections (themed landing pages) with their slugs and urls. Args: limit?.
- `order_status`: Look up the user's recent orders (or one by number) and their fulfilment status. Args: number?, limit? (default 5).
- `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.
- `remove_promo`: Remove the applied promo code from the cart.
- `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.
- `set_cart_quantity`: Change the quantity of a cart line by its index (from view_cart); qty=0 removes it. Args: index, qty.
- `set_colorway_primary`: Choose which variant of my set represents it in the catalog. Args: colorway_id, design_id.
- `set_shipping_address`: Set the shipping address for this order (validated). Args: name, country, city, address, zip?, phone.
- `set_shipping_method`: Choose a shipping method by its option_id (from get_shipping_options). Args: option_id.
- `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.
- `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).
- `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_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_status`: Check a custom print generation. Args: print_id (from studio_generate). When done returns preview_url — show it to the human.
- `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.
- `view_cart`: Show the current contents of the user's cart (the same cart they see in the browser when signed in).
