Skip to main content
Glama

AgentMade Print on Demand

Server Details

Print on demand for AI agents. No sign-up. Picture, words or logo on a tee, hoodie or tote.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
alexmensak/agentmade-print-on-demand
GitHub Stars
0

TDQS

Score is being calculated.

Available Tools

9 tools
cancel_orderCancel an order
DestructiveIdempotent
Inspect

Cancel an order. Unpaid: closes the payment link; nothing is charged. Paid and not yet in production: cancels and refunds in full. In production or shipped: cannot be cancelled; the error gives the reason. A second call on a cancelled order is safe.

ParametersJSON Schema
NameRequiredDescriptionDefault
reasonNo
order_idYesorder_id returned by purchase.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
totalYes
statusYes
paymentYes
order_idYesA bearer key: whoever has it can read and cancel the order. Do not share it publicly.
quote_idYes
timelineYes
next_stepYesWhat the agent should do next, in plain language.
order_urlYesThe order page. The person sees the status there.
shipmentsYes
destinationYesWhile address_needed: the quoted destination.
status_reasonYes
address_neededYesTrue when purchase had no street address: the person enters it on the order page before paying.
delivery_estimate_business_daysYesNull when the order ended (cancelled, refunded, rejected, expired or delivered).
create_mockupCreate a preview mockup
Idempotent
Inspect

Render a preview PNG of the artwork on the product in the chosen colour and placement. style flat draws the placement; style packshot uses a product photo with the exact print at real size, or gives the flat preview with a note when no photo exists. Returns mockup_url, blank_image_url and image_prompt (an optional text prompt for an illustration of a person who wears the product; such an image is an illustration, not the exact print). Optional.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNo
colorYesProduct colour, e.g. "black".
styleNoflat: quick placement drawing. packshot: product photo with the exact print at real size (where a product photo exists).flat
presetNoNamed position inside the placement, e.g. "center_chest", "left_chest", "full_front". Defaults to the placement default.
top_mmNoDistance from the top of the print area to the top of the artwork.
left_mmNoDistance from the left edge of the print area. Default: horizontally centred.
width_mmNoExact printed width of the visible artwork in millimetres. Height follows the aspect ratio.
height_mmNoMaximum printed height in millimetres.
placementNoPrint location on the product, e.g. "front" or "back". See get_product for the list.front
artwork_idYes
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
styleYes
summaryYes
mockup_urlYesPNG preview of the exact print on the product.
image_promptYesA prompt for your own image model, to make an illustration from mockup_url.
blank_image_urlYes
validation_statusYes
get_orderGet order status
Read-onlyIdempotent
Inspect

Current order status (AWAITING_PAYMENT, PAID, SUBMITTED, IN_PRODUCTION, SHIPPED, DELIVERED or an exception state), next_step in plain language, the payment link while unpaid, shipments and a timeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id returned by purchase.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
totalYes
statusYes
paymentYes
order_idYesA bearer key: whoever has it can read and cancel the order. Do not share it publicly.
quote_idYes
timelineYes
next_stepYesWhat the agent should do next, in plain language.
order_urlYesThe order page. The person sees the status there.
shipmentsYes
destinationYesWhile address_needed: the quoted destination.
status_reasonYes
address_neededYesTrue when purchase had no street address: the person enters it on the order page before paying.
delivery_estimate_business_daysYesNull when the order ended (cancelled, refunded, rejected, expired or delivered).
get_productGet product details
Read-onlyIdempotent
Inspect

Full details for one product: colours with hex codes and product photos (images: url, view, style, alt; empty when none yet; ai_generated marks AI photos), sizes, variant ids, print placements with the print area in mm, placement presets (for example center_chest, left_chest, full_front, full_back), materials and artwork guidance.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct id from search_products, e.g. "tee-heavyweight".

Output Schema

ParametersJSON Schema
NameRequiredDescription
brandYes
modelYes
sizesYesSize values to pass as size.
titleYes
colorsYes
categoryYes
variantsYes
image_urlYesA product photo, or null when none is approved yet.
next_stepYesWhat the agent should do next, in plain language.
placementsYes
product_idYesUse in get_product, validate_artwork and quote.
descriptionYes
size_chart_cmYes
artwork_guidanceYes
decoration_methodYes
printed_in_regionsYesRegions where this product is printed, e.g. ["EU", "US"].
production_business_daysYes
purchasePlace the order and get the payment link
Idempotent
Inspect

Turn a quote into an order. Needs quote_id, the full recipient address (it must match the quoted destination) and rights_attestation=true. contact_email is the payer's own email, never the gift recipient's. Returns order_id and payment.url: the order page where the person pays by card, Apple Pay or Google Pay. Nothing is printed until the payment is confirmed. Idempotent per quote_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
ordersNoMany parcels with one payment: one quote_id and one recipient per parcel. Not live yet: call purchase once per quote_id for now.
quote_idNoquote_id returned by quote, for one parcel. Set quote_id or orders, not both.
recipientNoShipping address. Country, state and postal code must match the quote destination. Send the full address when you have it. If you cannot collect the street address, send only country_code, postal_code (and state_code for US, CA and AU): the person then enters the address on the order page before paying. Required with quote_id.
gift_messageNoShort message for the packing slip of a gift. Not printed yet: the answer says so.
contact_emailNoEmail of the payer, for the order confirmation and the payment receipt. Not the recipient's email: for a gift, the recipient must not see the price. Optional.
rights_attestationYesMust be true: confirms the customer owns or is licensed to print all submitted artwork, and that it is not prohibited content.
payment_capabilitiesNoPayment methods the calling agent can use. "hosted_checkout" = a link that the person opens to pay by card, Apple Pay or Google Pay. Always supported.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsYes
notesYes
totalYes
statusYes
paymentYes
order_idYesA bearer key: whoever has it can read and cancel the order. Do not share it publicly.
quote_idYes
timelineYes
next_stepYesWhat the agent should do next, in plain language.
order_urlYesThe order page. The person sees the status there.
shipmentsYes
destinationYesWhile address_needed: the quoted destination.
status_reasonYes
address_neededYesTrue when purchase had no street address: the person enters it on the order page before paying.
delivery_estimate_business_daysYesNull when the order ended (cancelled, refunded, rejected, expired or delivered).
quoteGet a delivered price quoteInspect

Price printed items delivered to one destination. Returns quote_id, the total that the payer pays (products, shipping and VAT where AgentMade collects it), what is not included, the delivery estimate and the expiry. Needs artwork_id values from validate_artwork. Charges nothing. For a destination where orders are not open, the quote is for information only.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerNoOnly for a company purchase with an invoice. Business checkout is not open yet: the quote charges destination VAT.
itemsYes
speedNoShipping speed. Only standard is offered now; express returns a note and a standard quote.standard
purposeNoWhat the order is for. Set it only if the user already said it. Do not ask for it.
ship_toYesDestination. country_code is required; postal_code and state_code improve shipping accuracy.
currencyNoISO 4217 currency of the payer, e.g. "USD". Optional. The quote states the currency that it uses.
deliver_byNoDate by which the parcel should arrive, e.g. "2026-12-20". The quote is never refused because of it: if the estimate is later, the quote says so.
preferenceNoHow AgentMade picks the manufacturing route: fewest_packages (default: fewest parcels, then best price among the fastest routes), cheapest, or fastest.fewest_packages

Output Schema

ParametersJSON Schema
NameRequiredDescription
taxYes
itemsYes
notesYesThings to tell the user before purchase.
statusYes
totalsYestotal_minor is the full amount that the payer pays. Show total_formatted to the user. products_minor and shipping_minor are before VAT; tax_minor is the VAT included in the total, or 0 when tax is not collected.
ship_toYes
currencyYes
packagesYes
quote_idYesUse in purchase before expires_at.
shippingYes
next_stepYesWhat the agent should do next, in plain language.
expires_atYes
assumptionsYes
package_countYes
purchase_openYesFalse when this destination does not take orders yet or the quote expired. Then do not call purchase.
delivery_estimate_datesYesCalendar dates (YYYY-MM-DD) for the delivery estimate. Tell the user these dates.
delivery_estimate_business_daysYes
search_productsSearch printable products
Read-onlyIdempotent
Inspect

Use this when the user wants their own picture, words or logo printed on a T-shirt, hoodie, sweatshirt or tote bag and delivered, as a gift or for themselves. Finds products by free text, category, colour and size. Returns product_id, image_url (a product photo, or null), colours, sizes and print placements. No account needed. Not for mugs, posters, caps, stickers or embroidery.

ParametersJSON Schema
NameRequiredDescriptionDefault
sizeNoOnly products available in this size, e.g. "XL".
colorNoOnly products available in this colour, e.g. "black".
queryNoFree-text description, e.g. "heavyweight black t-shirt" or "hoodie".
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
noteYes
countYes
productsYes
track_orderTrack shipment
Read-onlyIdempotent
Inspect

Carrier, tracking number and tracking link for each shipment of an order, and the delivery estimate.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesorder_id returned by purchase.

Output Schema

ParametersJSON Schema
NameRequiredDescription
statusYes
order_idYes
next_stepYesWhat the agent should do next, in plain language.
order_urlYes
shipmentsYes
tracking_availableYes
delivery_estimate_business_daysYesNull when the order ended (cancelled, refunded, rejected, expired or delivered).
validate_artworkUpload and validate artworkInspect

Upload artwork and check that it prints well on one product placement. Send exactly one of: artwork with svg (markup, best for text and logos), base64 (a PNG, JPEG or SVG file up to about 2 MB, no data: prefix) or url (a public HTTPS link to the file); file (a file object from your client); or upload_link:true when you cannot send the file in this call. Returns artwork_id and PASS/WARN/FAIL checks: print size in mm, resolution (DPI), print and safe area, transparent background, contrast with the product colour. For photos and AI images use preset center_chest. Use the artwork_id in quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNoA file that your client gives you as a file object (for example in ChatGPT).
sizeNoGarment size, e.g. "XL". Print areas can differ by size; without it the smallest size is checked.
colorNoProduct colour, for the contrast check.
presetNoNamed position inside the placement, e.g. "center_chest", "left_chest", "full_front". Defaults to the placement default.
top_mmNoDistance from the top of the print area to the top of the artwork.
artworkNoNew artwork to upload: exactly one of svg, base64 or url.
left_mmNoDistance from the left edge of the print area. Default: horizontally centred.
width_mmNoExact printed width of the visible artwork in millimetres. Height follows the aspect ratio.
height_mmNoMaximum printed height in millimetres.
placementNoPrint location on the product, e.g. "front" or "back". See get_product for the list.front
artwork_idNoRe-validate artwork uploaded earlier, or validate the file of an upload link.
product_idYesProduct to print on.
upload_linkNoSet true when you cannot send the file in this call. The answer gives an artwork_id and a one-time upload_url: upload with curl, or give the link to the person. Then call validate_artwork with the artwork_id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
artworkNo
next_stepYesWhat the agent should do next, in plain language.
artwork_idNoOnly in the upload_link answer: the reserved id for the file.
expires_atNo
upload_urlNoOnly in the upload_link answer: the one-time upload link.
validationNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedcancel_order
    • First observedcreate_mockup
    • First observedget_order
    • First observedget_product
    • First observedpurchase
    • First observedquote
    • First observedsearch_products
    • First observedtrack_order
    • First observedvalidate_artwork

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Run a custom-merchandise store end to end from an AI agent: generate designs, build products with mockups and margin-safe pricing, list them on Shopify, WooCommerce, Wix and TikTok Shop, and route orders to Printful, Printify or Gelato for fulfillment.
    123
    451 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to run a print-on-demand store by creating products on Printify, pricing from production cost, publishing to Shopify and its sales channels, and generating ad creative from mockups.
    1
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.