Design custom t-shirts, hoodies, caps, mugs and totes, price an order, and link to order it.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Make a print-ready design from a short description, for one item in one color. Returns a watermarked preview of the design on the item, a design_id for revise_design and open_in_studio, and how many free designs are left. Describe the ARTWORK only ("a snarling wolf head, two colors"), not the garment: the garment is chosen with `item` and `color`. Each call makes one design and spends one from the allowance (10 as a visitor, then 25 a day on an aipromodesign.com account). Pass back the `visitor` value from the previous answer so the allowance follows the customer.
What the artwork shows, in the customer's words. The artwork alone - no shirt, no mug.
Item key or the word a customer would use (tee, hoodie, mug, tote, cap, polo, long sleeve, crewneck, performance tee, women's tee, youth hoodie, notebook, tumbler). Use list_items for the full set. Defaults to the adult tee.
The item's color by name (Navy, Black, White, Forest Green, Sport Gray, Red, Royal, Maroon...). Defaults to White.
Which print area: front (default), back, left_sleeve, right_sleeve. The design is sized for it.
The visitor value from an earlier answer in this conversation, if there was one.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Make a print-ready design from a short description, for one item in one color. Returns a watermarked preview of the design on the item, a design_id for revise_design and open_in_studio, and how many free designs are left. Describe the ARTWORK only ("a snarling wolf head, two colors"), not the garment: the garment is chosen with `item` and `color`. Each call makes one design and spends one from the allowance (10 as a visitor, then 25 a day on an aipromodesign.com account). Pass back the `visitor` value from the previous answer so the allowance follows the customer.
| Argument | Type | Description |
|---|---|---|
| item | string | Item key or the word a customer would use (tee, hoodie, mug, tote, cap, polo, long sleeve, crewneck, performance tee, women's tee, youth hoodie, notebook, tumbler). Use list_items for the full set. Defaults to the adult tee. |
| brief* | string | What the artwork shows, in the customer's words. The artwork alone - no shirt, no mug. |
| color | string | The item's color by name (Navy, Black, White, Forest Green, Sport Gray, Red, Royal, Maroon...). Defaults to White. |
| surface | string | Which print area: front (default), back, left_sleeve, right_sleeve. The design is sized for it. |
| visitor | string | The visitor value from an earlier answer in this conversation, if there was one. |
{
"type": "object",
"required": [
"brief"
],
"properties": {
"item": {
"type": "string",
"description": "Item key or the word a customer would use (tee, hoodie, mug, tote, cap, polo, long sleeve, crewneck, performance tee, women's tee, youth hoodie, notebook, tumbler). Use list_items for the full set. Defaults to the adult tee."
},
"brief": {
"type": "string",
"description": "What the artwork shows, in the customer's words. The artwork alone - no shirt, no mug."
},
"color": {
"type": "string",
"description": "The item's color by name (Navy, Black, White, Forest Green, Sport Gray, Red, Royal, Maroon...). Defaults to White."
},
"surface": {
"type": "string",
"description": "Which print area: front (default), back, left_sleeve, right_sleeve. The design is sized for it."
},
"visitor": {
"type": "string",
"description": "The visitor value from an earlier answer in this conversation, if there was one."
}
},
"additionalProperties": false
}The items a design can go on: key, name, the blank it is printed on, price per piece, colors, sizes, and the print areas with their sizes in inches. Call this before quoting or when the customer asks what is available. Prices are per piece in US dollars; the first print area is in the price and each further area adds a per-piece charge shown here. Designing is free; nothing is charged until the customer orders on aipromodesign.com.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}A link that opens the aipromodesign.com designer with the design already on the item in that color and, when sizes are given, the order lines filled in. The customer finishes there: more edits with the designer's own tools, other print areas, names and numbers, sizes collected from a group, and checkout. Use it when the customer is ready to order or wants to keep working. Nothing is charged by opening it.
| Argument | Type | Description |
|---|---|---|
| lines* | array | |
| visitor | string | The visitor value from an earlier answer, if there was one. |
{
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"description": "Item key or the word a customer would use (tee, hoodie, mug, tote, cap, polo, long sleeve, crewneck, performance tee, women's tee, youth hoodie, notebook, tumbler). Use list_items for the full set. Defaults to the item the design was made for."
},
"color": {
"type": "string",
"description": "Defaults to the color the design was made for."
},
"sizes": {
"type": "object",
"description": "Count per size, when the customer has said. Leave out to open the designer without an order line.",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"design_id": {
"type": "string",
"description": "The design_id from that design's earlier result. If that result is no longer in the conversation, leave this out to use the customer's most recent design."
}
},
"additionalProperties": false
},
"minItems": 1
},
"visitor": {
"type": "string",
"description": "The visitor value from an earlier answer, if there was one."
}
},
"additionalProperties": false
}What an order would cost: per piece by size, the pieces, any volume discount, shipping, and the total before sales tax (tax is added at checkout where it applies). Nothing is charged. Use the sizes the customer named; a line is one item in one color with a count per size.
| Argument | Type | Description |
|---|---|---|
| lines* | array |
{
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"item",
"sizes"
],
"properties": {
"item": {
"type": "string",
"description": "Item key or the word a customer would use (tee, hoodie, mug, tote, cap, polo, long sleeve, crewneck, performance tee, women's tee, youth hoodie, notebook, tumbler). Use list_items for the full set."
},
"color": {
"type": "string",
"description": "The item's color by name."
},
"sizes": {
"type": "object",
"description": "Count per size, e.g. {\"S\": 2, \"M\": 5, \"L\": 3}. Every item has a size list in list_items, mugs included (11oz, 15oz).",
"additionalProperties": {
"type": "integer",
"minimum": 0
}
},
"surfaces": {
"type": "integer",
"minimum": 1,
"description": "How many print areas carry a design: 1 for a design on one area, 2 for a front and a back. Defaults to 1."
}
},
"additionalProperties": false
},
"minItems": 1
}
},
"additionalProperties": false
}Redo an existing design with a change: a different color scheme, fewer details, bolder lines, a different pose, words added or removed. Works from the design, so the result stays recognizably the same piece. Spends one from the allowance like design_item. Returns a new design_id; the old one still exists.
| Argument | Type | Description |
|---|---|---|
| visitor | string | The visitor value from an earlier answer, if there was one. |
| design_id | string | The design_id from that design's earlier result. If that result is no longer in the conversation, leave this out to use the customer's most recent design. |
| instruction* | string | What to change, in a sentence. |
{
"type": "object",
"required": [
"instruction"
],
"properties": {
"visitor": {
"type": "string",
"description": "The visitor value from an earlier answer, if there was one."
},
"design_id": {
"type": "string",
"description": "The design_id from that design's earlier result. If that result is no longer in the conversation, leave this out to use the customer's most recent design."
},
"instruction": {
"type": "string",
"description": "What to change, in a sentence."
}
},
"additionalProperties": false
}