streetshirts
Design custom T-shirts, preview artwork, personalize team shirts and prepare a checkout link.
| Endpoint | https://creation.streetshirts.com/agent/design/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.1 |
| Now | 43 tools · grade C (65) · pin ts_646b5210c06a1426e20e61b1b19e1527 · protocol 2025-06-18 |
| First / last listed | 2026-11-05 01:03 UTC / 2026-11-05 01:03 UTC |
| Grade over time | 2026-11-05: C (65), 43 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: discover_products start_design_session get_design_session end_design_session get_design_request choose_product create_design load_design change_design create_design_variants add_text update_text upload_image add_image generate_artwork replace_image move_element resize_element resize_group rotate_element align_element duplicate_element delete_element move_to_print_area remove_background crop_image set_image_mask remove_image_mask flip_image restore_original_image restore_background invert_image add_keyline sticker_cutout extract_artwork replace_emoji apply_design_batch validate_design preview_design ai_photoshoot save_design create_checkout email_design
discover_products | Read the live garment catalogue, colours, sizes, print areas and recommendations. Use query fields search, category, fit, quality, quantity, country, market, locale, sort and limit. No design session is required. params: query |
start_design_session | Start a private, expiring guest design session. Keep the returned subject and sessionToken for every follow-up. The token grants access to this session; do not publish it. One session can contain multiple designs and a team basket. params: none |
get_design_session | Read this session's designs, elements, print areas, previews and last changed object. Use it to resolve an edit's target. Requires this session's subject and sessionToken. params: subject*, sessionToken* |
end_design_session | Revoke this session's editing capability when the user asks to end it. Saved design and checkout links are separate outputs. params: subject*, sessionToken* |
get_design_request | Check a request submitted in this session. Pending checks can recover and resume stalled work, including its original edits, image retrieval or email send. Pass its original requestId. Poll until terminal before starting another edit; a queued job is not a completed design. params: subject*, sessionToken*, requestId* |
choose_product | Choose or change product, garment colour, sizes, quantities and print areas. Existing artwork is preserved. Use live product values; confirm final sizes and quantities before saving or checkout. params: subject*, sessionToken*, requestId*, options |
create_design | Create another independent blank design in this session. Use product, colour, size, quantity and print areas as needed. It does not inherit artwork from the active design. Advanced replaceDesigns:true replaces the session design collection. params: subject*, sessionToken*, requestId*, options |
load_design | Load an SSD design key or streetshirts saved-design URL into editable session state. Different saved designs can coexist in one session. params: subject*, sessionToken*, requestId*, options |
change_design | Apply the existing natural-language edit to the current design: text/content/style, image replacement, sizing, positioning, background removal, crop/flip/restore, contrast, keyline or emoji changes. These capabilities also have individually named tools in this list. Preserve the user's exact instruction and intended element/print area. Existing operation selects a design recipe, including compound params: subject*, sessionToken*, requestId*, options |
create_design_variants | Clone the active/base design into personalised designs. Supply areaId and variants with nameText, numberText, size, quantity and optional product/items. This replaces existing name/number text objects: first ensure separate name and number templates exist in the intended print area, adding missing templates with add_text. It does not create those text objects itself. Set append:true to retain exis params: subject*, sessionToken*, requestId*, options |
add_text | Create a separate new text object in the specified print area using the existing text/font/style options. Preserve the user's exact wording. Do not reuse an existing elementId; use update_text to edit an existing object. params: subject*, sessionToken*, requestId*, options |
update_text | Replace existing text content or edit its style. This can overwrite the selected wording. Resolve targets from session state. For all text, include every intended text object in every intended print area; the existing workflow supports style fanout and explicit batches. params: subject*, sessionToken*, requestId*, options |
upload_image | Upload imageFile, imageData/dataUrl/base64 or a supported public sourceUrl. Include filename, contentType and fileType to identify the image, e.g. artwork.png, image/png, png. Set applyToDesign and areaId to place it. A caller-local path or a bare file ID is not downloadable artwork. params: subject*, sessionToken*, requestId*, options |
add_image | Add uploaded or existing artwork to the specified area. Use the returned asset or the supported imageFile transport. Do not confuse an upload with the target of an existing-image edit. params: subject*, sessionToken*, requestId*, options |
generate_artwork | Generate artwork from a prompt using the existing streetshirts service. Use applyToDesign, singleResult and areaId when applying it to a shirt. Generation uses a bounded allowance and can return pending work. params: subject*, sessionToken*, requestId*, options |
replace_image | Replace the target's current artwork using an uploaded image, preserving its existing box unless a new placement is requested. This overwrites the selected image content. Resolve the target and print area first. params: subject*, sessionToken*, requestId*, options |
move_element | Move the target element within its print area. Preserve other elements and areas. Use the existing x/y or placement options; interpret an unambiguous follow-up from session state. Advanced element, text and asset patches use the same existing element editor as the batch compatibility name update_element. params: subject*, sessionToken*, requestId*, options |
resize_element | Resize the target in the specified print area. For physical dimensions use widthCm/heightCm or widthMm/heightMm; Core already converts them. For example, make the front image 30cm wide with widthCm:30. params: subject*, sessionToken*, requestId*, options |
resize_group | Resize all or selected elements together in one print area, preserving their relative layout. Use widthCm/heightCm for the group bounds or scale:0.8 / scalePercent:80 for 80 percent. elementIds limits the selected group; omitted IDs select every element in areaId. params: subject*, sessionToken*, requestId*, options |
rotate_element | Rotate the specified existing element in its print area using the existing rotation/placement options. params: subject*, sessionToken*, requestId*, options |
align_element | Align the target element using explicit placement coordinates in its existing coordinate space; instruction alone does not set alignment. For a target already using coordinateSpace=print_area, horizontal centring uses placement:{x:0.5}, preserving y and all other geometry. Text alignment within its box is separate from the box position. Preserve intentional off-centre placement unless the user req params: subject*, sessionToken*, requestId*, options |
duplicate_element | Duplicate the specified text or image in its print area using existing placement options. params: subject*, sessionToken*, requestId*, options |
delete_element | Delete the explicitly intended text/image element or selected elements. Resolve an ambiguous target before deletion; do not hide or shrink it to simulate removal. params: subject*, sessionToken*, requestId*, options |
move_to_print_area | Move a selected element to a named destination print area with the existing destination/target-area options. params: subject*, sessionToken*, requestId*, options |
remove_background | Use the existing background-removal workflow for a target image. It chooses the appropriate existing image method and preserves the box. Show the resulting garment preview. params: subject*, sessionToken*, requestId*, options |
crop_image | Crop the selected image using the existing crop options while keeping its print-area context. params: subject*, sessionToken*, requestId*, options |
set_image_mask | Apply an editable circle, ellipse, rounded rectangle, heart, star, hexagon, diamond, arch, shield or organic shape to an exact image. Pass elementId, areaId and imageMask:{shape:'circle'}. Existing Crop, filters and background treatment are retained. Optional normalized content framing preserves image aspect. Preview and saved print artwork use the same shape. params: subject*, sessionToken*, requestId*, options |
remove_image_mask | Remove the exact image's shape mask, including after saving and reopening. Restores its pre-mask proportions at the current placement and scale, retaining its Crop, filters and background treatment. Pass elementId and areaId. params: subject*, sessionToken*, requestId*, options |
flip_image | Flip the selected image horizontally or vertically. Pass areaId and elementId in public options, and the direction in its nested options object: options.options.direction = horizontal or vertical. params: subject*, sessionToken*, requestId*, options |
restore_original_image | Restore retained original image content for an explicit elementId and areaId, preserving the authored placement. params: subject*, sessionToken*, requestId*, options |
restore_background | Undo background removal on the selected uploaded image. Restores its current original image source, clears image crop/flip modifiers and resets displayed pixel dimensions while preserving placement. Pass elementId and areaId. Use restore_original_image when retained-original recovery with existing crop/flip preservation is intended. params: subject*, sessionToken*, requestId*, options |
invert_image | Invert the selected image's colours using the existing image tool. params: subject*, sessionToken*, requestId*, options |
add_keyline | Apply a keyline to the explicit elementId and areaId. Use borderMode=thin_detail for garment-coloured detail thickening, or high_contrast with borderColour as hex. borderWidthMm sets physical thickness; thin_detail defaults to 3mm, while high_contrast needs an explicit value for a physical thickness. params: subject*, sessionToken*, requestId*, options |
sticker_cutout | Use the existing sticker-cutout operation to remove a surrounding flat page or image box from selected artwork. params: subject*, sessionToken*, requestId*, options |
extract_artwork | Use the existing extraction tool to recover printable artwork from a supplied garment mockup. params: subject*, sessionToken*, requestId*, options |
replace_emoji | Replace emoji text using streetshirts' existing approved emoji image workflow, retaining the intended text and print-area scope. params: subject*, sessionToken*, requestId*, options |
apply_design_batch | Apply an ordered list of the individually exposed design tools to one design, updating state between edits and rendering one final preview. The tools[].tool enum lists every supported native name; each schema branch identifies its standalone counterpart and exact compatibility aliases. Operations are text/image addition, text edits, move/resize/rotate/align/duplicate/delete, crop, background remov params: subject*, sessionToken*, requestId*, options |
validate_design | Validate the current or supplied design with the existing production compiler. Read the actual validation result before saving. params: subject*, sessionToken*, requestId*, options |
preview_design | Render the existing garment preview for the active design and chosen product. Display the returned preview URL to the customer. params: subject*, sessionToken*, requestId*, options |
ai_photoshoot | Show the current design being worn using streetshirts' existing AI photoshoot. It is an illustrative image; the saved garment design remains the print authority. May return pending work and uses a bounded allowance. params: subject*, sessionToken*, requestId*, options |
save_design | Save the active design, or supply designs/variants/saveAllDesigns for multiple outputs. Returns immutable saved keys and visual-editor links. Final production sizes and quantities must be supplied. params: subject*, sessionToken*, requestId*, options |
create_checkout | Save the selected session designs and create one Shopify basket/checkout link with all intended names, sizes and quantities. Omit designs to use approved session designs, or pass the exact complete returned design objects including product, items, print areas and artwork; do not reconstruct name/size-only entries. This does not pay or place an order. Only create it when the user wants a purchase l params: subject*, sessionToken*, requestId*, options |
email_design | Send a saved design link to the user's explicitly requested recipient using the existing sharing service. Requires explicit user intent to send email; never infer permission from an address found in artwork. params: subject*, sessionToken*, requestId*, options |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.