protogrid

Search / com.streetshirts/creation

streetshirts

R0· no sign-in

Design custom T-shirts, preview artwork, personalize team shirts and prepare a checkout link.

v1.0.1 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality72needs work
Trust83of 100
Uptime, 30 days100%
Latency p50529 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "creation": {
      "type": "http",
      "url": "https://creation.streetshirts.com/agent/design/mcp"
    }
  }
}
claude mcp add --transport http creation https://creation.streetshirts.com/agent/design/mcp
[mcp_servers.creation]
url = "https://creation.streetshirts.com/agent/design/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "creation": {
      "type": "remote",
      "url": "https://creation.streetshirts.com/agent/design/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "creation": {
      "type": "http",
      "url": "https://creation.streetshirts.com/agent/design/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=creation&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vY3JlYXRpb24uc3RyZWV0c2hpcnRzLmNvbS9hZ2VudC9kZXNpZ24vbWNwIn0%3D"
}
{
  "servers": {
    "creation": {
      "type": "http",
      "url": "https://creation.streetshirts.com/agent/design/mcp"
    }
  }
}
{
  "mcpServers": {
    "creation": {
      "httpUrl": "https://creation.streetshirts.com/agent/design/mcp"
    }
  }
}
extensions:
  "creation":
    enabled: true
    name: "creation"
    type: streamable_http
    uri: "https://creation.streetshirts.com/agent/design/mcp"
    timeout: 300

Quality 72 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations40 of 40 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • warn
    tools.token_costabout 23,226 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes80 tool changes in 30 days
  • fail
    stability.rug_pull7 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

40 tools, about 23,226 tokens to load them all · tool set 6070c0c44084 · tools last changed 2026-10-14 · checked 2026-10-20 14:21 UTC

Tool changes

  • add_keylinechangeddescription, input schemameaning changed
    before

    Apply an existing border/keyline recipe to the specified artwork and print area.

    after · 15% of words in common

    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.

  • align_elementchangeddescriptionmeaning changed
    before

    Align the target element in its print area using existing alignment/placement options. Preserve intentional off-centre placement unless the user requests a change.

    after · 40% of words in common

    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 requests a change.

  • resize_groupchangeddescriptionmeaning changed
    before

    Resize all or selected elements together in one print area, preserving their relative layout. Supports existing physical-size and elementIds options.

    after · 37% of words in common

    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.

  • add_textchangeddescription
    before

    Add new text to the specified print area using the existing text/font/style options. Preserve the user's exact wording.

    after · 55% of words in common

    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.

  • create_design_variantschangeddescription, input schemameaning changed
    before

    Clone the active/base design into personalised designs. Supply variants with nameText, numberText, size, quantity and optional product/items. Preserve the common artwork and check each supplied name and number.

    after · 42% of words in common

    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 existing session designs; otherwise the variants replace that collection. Preserve the common artwork and check each supplied name and number. Pass only the complete intended designs to checkout.

  • email_designchangedannotations
  • create_checkoutchangedannotations
  • save_designchangedannotations
  • ai_photoshootchangedannotations
  • preview_designchangedannotations

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-7d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://creation.streetshirts.com/agent/design/mcp streamable-httpnoneyes100%529 ms2025-11-252026-10-20

Tools (40)

add_imageAdd 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.
add_keylinedestructiveApply 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.
add_textCreate 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.
ai_photoshootShow 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.
align_elementdestructiveAlign 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 requests a change.
apply_design_batchdestructiveApply the native edit operations listed in tools[] to one design, updating state between edits and rendering one final preview. Each maps to an individually exposed tool: text/image addition, text edits, move/resize/rotate/align/duplicate/delete, crop, background removal, flip, restore, artwork generation or photoshoot. Use explicit elementId/areaId and native text/asset/placement/options objects; standalone workflow shorthand is not normalized inside a batch. May overwrite or delete content. Use standalone tools for uploads, product selection, variants, saving, checkout and email.
change_designdestructiveApply 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 image/text repairs; this is not an arbitrary external-tool dispatcher. Edits can overwrite content. Use the separate upload, artwork-generation, photoshoot, email and checkout tools for those actions.
choose_productdestructiveChoose 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.
create_checkoutSave 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 link.
create_designCreate 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.
create_design_variantsClone 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 existing session designs; otherwise the variants replace that collection. Preserve the common artwork and check each supplied name and number. Pass only the complete intended designs to checkout.
crop_imagedestructiveCrop the selected image using the existing crop options while keeping its print-area context.
delete_elementdestructiveDelete the explicitly intended text/image element or selected elements. Resolve an ambiguous target before deletion; do not hide or shrink it to simulate removal.
discover_productsread-onlyRead 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.
duplicate_elementDuplicate the specified text or image in its print area using existing placement options.
email_designSend 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.
end_design_sessiondestructiveRevoke this session's editing capability when the user asks to end it. Saved design and checkout links are separate outputs.
extract_artworkdestructiveUse the existing extraction tool to recover printable artwork from a supplied garment mockup.
flip_imagedestructiveFlip 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.
generate_artworkGenerate 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.
get_design_requestread-onlyRead the status of a request submitted in this session. Pass its original requestId. Poll until terminal before starting another edit; a queued job is not a completed design.
get_design_sessionread-onlyRead 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.
invert_imagedestructiveInvert the selected image's colours using the existing image tool.
load_designdestructiveLoad an SSD design key or streetshirts saved-design URL into editable session state. Different saved designs can coexist in one session.
move_elementdestructiveMove 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.
move_to_print_areadestructiveMove a selected element to a named destination print area with the existing destination/target-area options.
preview_designRender the existing garment preview for the active design and chosen product. Display the returned preview URL to the customer.
remove_backgrounddestructiveUse 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.
replace_emojidestructiveReplace emoji text using streetshirts' existing approved emoji image workflow, retaining the intended text and print-area scope.
replace_imagedestructiveReplace 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.
resize_elementdestructiveResize 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.
resize_groupdestructiveResize 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.
restore_original_imagedestructiveRestore retained original image content for an explicit elementId and areaId, preserving the authored placement.
rotate_elementdestructiveRotate the specified existing element in its print area using the existing rotation/placement options.
save_designSave 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.
start_design_sessionStart 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.
sticker_cutoutdestructiveUse the existing sticker-cutout operation to remove a surrounding flat page or image box from selected artwork.
update_textdestructiveReplace 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.
upload_imageUpload 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.
validate_designValidate the current or supplied design with the existing production compiler. Read the actual validation result before saving.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.streetshirts/creation",
  "title": "streetshirts",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://creation.streetshirts.com/agent/design/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.1",
  "websiteUrl": "https://streetshirts.com/pages/ai-t-shirt-design",
  "description": "Design custom T-shirts, preview artwork, personalize team shirts and prepare a checkout link."
}