Crayonz
Design custom apparel from chat: AI art on tees and hoodies, then a checkout link to buy.
One-click install for Cursor, VS Code, Claude, and 20+ other MCP clients, powered by API Commons MCP Install — visit install.apicommons.org for more information.
Endpoint
Hosted endpoint · transport streamable-http
Connect
This is a remote MCP server — point an MCP client at the endpoint URL. Clients with native remote support (Claude, Cursor, VS Code, …):
For stdio-only clients (older Claude Desktop, etc.), bridge with mcp-remote:
If the server requires authentication, add the provider's token/header (e.g. an X-API-Key) per its docs. A quick reachability check:
Tools
list_garments— Browse the Crayonz catalog: every garment with slug, name, sizes (S/M/L/XL/XXL), INR price, every colour (name+hex+availability+thumbnail), supported placements. CALL FIRST if you don't have exact slugs (NEVER invent them — rejected at generate_design). Skip if already called this session. AFTER: cogenerate_design— Create a fresh AI design on a Crayonz garment. Returns a draft_id, signed preview URL (15-min TTL), thumbnail, price. ⚠️ PROMPT LIMIT: 3–500 chars. TIGHTLY SUMMARISE the user's ask before calling — the design-api is a Gemini image model that responds better to concise briefs anyway. If the user's memodify_design— Edit a draft's ARTWORK with NL ('warmer colours' / 'add a sun' / 'more minimal'). Re-runs Gemini image-edit, returns same draft_id with new preview + version-history entry. COUNTS toward cap. DON'T USE for: MOVING/resizing → set_design_placement (FREE); garment colour change → set_design_placement(gset_design_placement— Move / resize / recolour-garment / SWAP-GARMENT-TYPE WITHOUT re-generating artwork. FREE — no iteration cap, no AI cost. ~2s mockup recompose. YOU MUST CALL THIS TOOL whenever the user says any of: 'move it to X' · 'put it on the back/front/pocket' · 'try it on the back' · 'flip to the back side' ·set_purchase_options— Set size and/or quantity on a draft. REQUIRED before create_checkout (checkout refuses if size is null). Metadata-only — no AI cost, no cap impact, no preview change. SIZES: S/M/L/XL/XXL (Indian sizing, ~US sizing for adults). Chest guide: 40"→M, 44"→L, 48"→XL. Don't invent XS/3XL. QUANTITY: 1-5. Foget_draft— Look up a draft, OR list recent drafts. WITH draft_id: returns full state + 15-min signed preview URL + version history. Use to refresh stale ids or recover lost sessions. WITHOUT draft_id: returns user's 10 most recent drafts (id + garment + status + price + updated_at + public preview URL). Use focheck_job— Look up a background generation job by its id and, if it has finished, return the result. Use this when a previous generate/mockup call came back saying the job was still running and gave you a job_id. The work keeps going in the background and has already been paid for, so collect it here — do NOTcreate_checkout— Final step — upscale design to print resolution and mint a single-use Cashfree URL (valid 30 min). User opens URL in browser for address + UPI/card/wallet payment. REQUIRES size set on the draft — pass `size` here directly, or call set_purchase_options first. Optional `quantity` (1-5) and `size` argget_design_suggestions— Vision-analyse a draft, return prioritized improvement ideas (contrast, resolution, composition, colour harmony, printability). Read-only, no cap impact. Call on 'any suggestions?' / 'how can I improve this?' OR proactively after generate_design to surface 1-2 next-improvements the user didn't knowadd_text— Stamp text onto an existing draft as a layer — NOT a re-generation. Renders the text as crisp SVG and bakes it on top of the current design before re-composing the mockup. Letterforms are exact (no Gemini warping), runs in ~1-2s, and doesn't burn an image-gen credit on the design service. **FREE — nadd_shape— Stamp a vector shape (circle, star, heart, triangle, rectangle, and a few aliases) onto an existing draft as a layer. Renders via in-Worker SVG → PNG; no Gemini regeneration, no image-gen credit, deterministic geometry, ~1-2s. SHAPES: circle / square / rectangle / star / heart / triangle (primitivesanalyze_reference_image— Vision-analyse a USER-UPLOADED image URL (not a draft). Returns palette + style + mood + composition + extracted text. Read-only. Use BEFORE generate_design when user attached a reference and wants to discuss it ('use this style', 'something like this'). Then call generate_design with the URL in refanalyze_design— Read the palette + style + mood + composition + text extracted from an EXISTING draft's current design. Fully read-only — does NOT modify the draft, does NOT consume the iteration cap. CALL WHEN the user EXPLICITLY asks you to describe, summarise, explain, or recap what was generated (e.g. 'describelist_colors— Browse every COLOUR in the Crayonz catalog (deduplicated across garments, sorted by hue when rendered visually). Returns the same data as list_garments but optimised for the 'what colours do you have?' question — Claude apps that render the colour-palette widget will show a hue-sorted grid of everylist_community_designs— Browse the Crayonz community feed — paginated. Unifies raw studio generations (source='feed', anonymous) and marketplace listings (source='listing', creator-attributed). Read-only. Call on 'show me what people are making' / 'inspire me' / 'trending?'. Pagination: limit 1-30 (default 12, keep ≤15 toremix_listing— Turn a community feed or marketplace item into a fresh draft. REQUIRES valid item_id from list_community_designs (NEVER invent). MODES: 'reference' (DEFAULT) anchors on item style + uses user's prompt for their twist (REQUIRES prompt). 'clone' reuses artwork as-is on chosen garment/colour/placementblend_references— Generate a fresh design that FUSES 2-4 reference images. Returns one new draft (fresh cap). Use when user has multiple refs and wants their fusion. For ONE ref → generate_design(reference_image_urls). For exact-copy of one image → generate_design seed mode. For single marketplace remix → remix_listipublish_to_marketplace— List a finished draft on the public Crayonz marketplace. Creator earns royalty per sale + on remixes. Returns listing_id + public URL. Confirm with user first (publish is visible to everyone). REQUIRE: title (3-120 chars, marketable — coach away from 'cool design'/'my logo' to 'Catan Champion Crestimport_external_design— Use an EXISTING image (from ChatGPT image-gen, Gemini image-gen, a Pinterest pin, a Supabase upload, anywhere) as the design — skips Crayonz's own AI generation. Faster + cheaper than generate_design when the user already has art they like. WHEN: user provides a URL or says 'use the image you just mimport_svg_design— When YOU (the LLM) author SVG markup, pass it here to use as the design — no AI generation round-trip needed. Faster than generate_design and gives pixel-perfect output for icon/text/geometric work. WHEN: user wants typography, simple icons, monogram logos, geometric patterns, single-colour line artcreate_vector_design— Build a NEW draft from a structured layer stack — image + text + shape primitives — composited via resvg-wasm in-Worker. Server builds the SVG from your JSON, so ChatGPT's host safety accepts the call (raw SVG strings via import_svg_design get blocked upstream in ChatGPT — this tool is the cross-hoscreate_shirt_from_photo— The ONE tool for 'make a shirt of this photo'. User attached a photo to chat → call this. Two modes via `style`: • **as-is** (DEFAULT): background auto-removed, photo composited directly on the garment. Your photo IS the print. Zero Gemini spend, FREE — no cap impact. ~4-6s. Use for pet portraits, kget_canvas_state— Returns the printable canvas geometry for every view of a draft's garment, plus the current placement and the live mockup URL. Use BEFORE proposing a new placement, scale, or rotation — gives you a coordinate system to reason in instead of guessing. RESPONSE: each view carries `printable_area_px` (tplace_design— Re-compose a draft's mockup with explicit pixel-precise geometry. TWO MODES: 1. SINGLE (back-compat): pass `area` and the draft's existing design is placed into that rect on the garment's printable canvas. 2. MULTI-LAYER: pass `layers` — an ordered array of image/text/shape layers, each with its ownreset_layers— FREE, uncapped undo. Reverts the draft's front OR back to the last generate_design / modify_design output on that side, and drops every add_text / add_shape / place_design overlay stamped since. Use when a stamp went wrong (misplaced text, wrong shape colour, size looked off) and you want to retry clist_versions— FREE, read-only. Returns the ordered version history for a draft — every generate_design / modify_design / add_text / add_shape / place_design stamp that landed on it, newest first. Each entry carries a signed 15-min preview URL, the prompt snippet, the side it touched (front/back), and a kind classclone_design— Copy the raster artwork from an existing draft onto a DIFFERENT garment (t-shirt → hoodie, black → white, etc.) without re-running Gemini. Creates a brand-new draft with its own draft_id, fresh 3-iteration cap, and a re-composited mockup — the source draft is untouched. USE WHEN the user says 'now pgenerate_lifestyle_shot— Renders photorealistic 'worn on a model' shots of the current draft — a cast individual actually wearing the user's design, in a specific photographic vibe. Uses Nano Banana Pro (Gemini 3 image) with the draft's design + composed garment mockup as references so the print matches exactly and the silhrecommend_photoshoot_vibes— Rank the lookbook photoshoot vibes that best fit a draft's design — vision-aware (it looks at the actual artwork, not just the prompt). Read-only, fast (~2s), no cap impact. USE BEFORE generate_lifestyle_shot when the right vibe isn't obvious — e.g. the user says 'show it on a model' without namingsave_style— FREE, no cap impact. Save a named brand kit — palette (up to 8 hex colours), font vibe hint, optional logo URL, optional notes ('always centred', 'no white borders', etc). Upsert by name: calling save_style twice with the same name overwrites the previous version. USE WHEN the user asks 'save this llist_styles— FREE, read-only. Returns every style preset the current user has saved, newest first. Each entry has name + palette + font_style + notes + created_at, so the LLM can reference them by name in apply_style. USE WHEN the user asks 'what styles do I have saved?', 'show my brand kits', 'do I have an IITiapply_style— Constrain a draft's current design toward a saved brand kit. Reads the preset's palette / font vibe / notes and constructs a modify_design instruction from them — one modify credit spent per apply (COUNTS toward cap). USE WHEN the user asks 'apply my IITian Vibes style', 'switch this to my brand palapply_suggestion— Route a single suggestion from get_design_suggestions into a modify_design call — closes the 'flag → fix' loop the audit asked for. COSTS 1 iteration credit (same as modify_design). STATELESS: no suggestion IDs to manage. The LLM already has the suggestion text in its conversation context; it just psearch_logos— Search the curated institute logo library — 160+ approved logos across IITs, NITs, IIMs, AIIMS, NLUs, BITS, IISc, IISERs, IIITs. Each result gives you a `slug` (canonical ID), the institute's name / short name / city / brand colours, and public URLs for PNG + SVG + dark-mode PNG variants (variants aplace_logo— Composite a logo ONTO an existing draft's design as an editable layer at a named placement (front-center / back-center / left-pocket / right-pocket). The underlying design SURVIVES — the logo stacks on top of it. Deterministic layer op — NO Gemini call, ~2-4s, FREE (no cap impact). LOGO INPUT: a slulist_text_presets— List curated typography presets tuned for common merch text patterns — retro/vaporwave headlines, jersey numbers, monograms, minimal wordmarks, batch/class years, farewell signatures, and campus/college names. Each preset bundles font, weight, color, stroke, and spacing into one slug the host LLM caget_permanent_preview— Snapshot the current mockup(s) of a draft into a permanent public URL. Default draft mockup URLs are 15-minute signed URLs — fine for chat previews, useless once the customer walks away and comes back tomorrow. Call this right before sharing a mockup outside the current chat session — a DM handoff tlist_fonts— List the font catalog the deterministic text renderer supports. Every returned entry has a `status`: • `bundled` — the TTF/woff2 is embedded inside the Worker; the rasteriser produces the exact letterforms you'd expect. • `fallback` — we accept the family in `add_text`'s `font` param but resvg-wasmcompose_layered_design— One-call composer for the standard custom-merch pattern: front pocket badge + back-top text + optional back-middle logo + optional back-bottom text. Every slot is optional — pass only the ones you want. Deterministic (NO Gemini) unless `ai_base_prompt` is set. Free (no cap impact) for the determinislist_layers— List every layer on a draft — logos, text, shapes, imported raster art — with their layer_id, kind, view, region, z-order, scale, and visibility. Feeds the host LLM the state it needs for edit-in-place: 'the back-bottom text is a bit small, let me bump it' → look up the layer_id → update_layer(scaleupdate_layer— Adjust one layer on a draft without touching the others. Pass at least one of scale / region / color / text / visible. Common patterns: • 'bigger BATCH text' → update_layer(scale=1.3) • 'move the logo to right pocket' → update_layer(region="pocket-right") • 'gold that varsity text' → update_layer(coremove_layer— Drop one layer from the draft entirely. Everything else stays. The view the removed layer lived on gets recomposed; the other view is untouched. If the removed layer was the only one on its view, that view's mockup goes null and the widget stops rendering that side. FREE, no cap impact. Irreversiblereorder_layers— Change a layer's z_index. Lower z_index draws first (bottom of the stack); higher draws later (on top). Use when a text layer is sitting BEHIND a logo it should be in front of, or vice-versa. FREE, no cap impact.color_explorer— Batch-compose an existing draft in N colours (2-8) in one call instead of N round-trips through set_design_placement. Every colour returns permanent, content-addressed URLs for the requested views (front and/or back). Send the whole array to the customer as a carousel: 'here's your design in Black,upload_logo— Persist a customer's own logo (their company logo, band logo, hackathon crew art, personal branded design) into their reusable MCP logo library. Fetches the image from a public URL, rehosts onto Supabase Storage (so ChatGPT / Claude URL expiry doesn't break future references), computes a SHA-256, anlist_my_logos— Return the customer's own uploaded-logo library — every logo they've saved via upload_logo across every past DM session. Feed the returned image_url back into `compose_layered_design`, `place_logo`, or any tool that takes a logo URL. Read-only. Chain: customer says 'use my company logo again' → listpolish_design— Take a compose_layered_design output (or any existing draft) and run a Gemini aesthetic pass over it. Preserves every word of text + the overall layout; upgrades typography, fills empty zones with graphics, adds atmospheric detail. This is the SECOND stage of the v2 pipeline. Step 1 gets the contentlist_design_versions— FREE, read-only. Returns the full version DAG of a draft as a structured list — each entry carries version_id, parent_version_id, stage ('structural' | 'polished' | 'manual' | 'ai_generated' | 'rollback' | 'import'), view ('front' | 'back' | 'both'), signed 15-min preview URL, and prompt. Also returrollback_to_version— Non-destructive undo. Moves the draft's current_version_id pointer to a specific past version — every URL from every intermediate version stays live in the DAG, so the caller can roll back and forth freely. The mirror columns (current_design_url, current_mockup_url, back_design_url, back_mockup_url)
About MCP
The Model Context Protocol (MCP) is an open protocol Anthropic introduced for connecting LLM-based agents to external tools and data sources. Providers publish MCP servers that expose their API surface as structured, discoverable tools — an MCP-compatible client (Claude Desktop, Cursor, Cline, Continue, etc.) can connect to the server and call its tools without any per-provider integration code.
Browse every MCP server on the APIs.io network or compare with the broader Agent Skill surfaces of the same providers.
Work with this as data
Every MCP server here is available over the APIs.io API and to AI agents over MCP.