Content Tools
uwear.ai
Manages and searches a user's garment library including avatars, models, and related assets.
ENDPOINT 1
https://api.uwear.ai/mcp
MCP server metadata
- Name
- uwear
- Version
- 1.0.0
Uwear is the photoshoot MCP server. Every model-based operation uses canonical GenerationCommand objects. Each commands[].input is the exact REST GenerationIntent contract and requires a concrete model_slug; use list_models to discover valid models. For normal garment/PDP briefs, send use_case='generate'. Never send feature_name. For ordinary saved photoshoot preferences, leave model fields unset and save durable intent such as camera/framing, aspect ratio, resolution, prompt style, brand guidance, or other non-approval defaults. Stored preferences never authorize paid execution. Use a generation-preset template for a reusable concrete shoot setup, including an exact model slug when reproducibility is intended. Use a batch-workflow template for an ordered repeatable multi-shot flow. System templates named `Demo — …` are worked examples of the canonical command language; read one with `get_template` before authoring a first brief or workflow. Gather the shoot inputs, then either show a confirmable brief or run it directly when the user explicitly asks to generate without another review step. If the user says 'prepare the photoshoot and run it', 'create and run', 'generate it now', or similar, call propose_brief with execute_immediately=true; Uwear will persist, confirm, and execute the brief directly if credits and validation allow. When a BriefProposal is visible and the user says 'Confirm', 'confirm', 'confirm the brief', 'approve it', 'looks good', 'yes run', 'run it', 'start', or 'generate', call confirm_brief with execute=true for the visible/latest brief ID. Do not say you cannot execute confirmation from this environment. Do not call a second execution tool, do not answer that the user must click Run in the UI, and never route Uwear photoshoot execution to the host app's native image-generation tool. If the user already named selectors such as a tag, saved ArtDirection, location, outfit, natural-language asset description, or numeric IDs, resolve those selectors with search_uwear_library and read tools before opening the picker, without opening the picker first. For example, for 'generate pictures using my clothes tagged summer26 using art direction summer beach', call list_tags to find summer26, then get_items_by_tag or list_garments(tag_ids=[...]) to get garment IDs, then call search_uwear_library(query='summer beach', item_types=['art_direction']) or use the ArtDirection lookup tools: list_art_directions to inspect candidates and get_art_direction when full saved markdown is needed. If there is a clear saved ArtDirection match, use its art_direction_id; if there is no clear match, use the user's words as creative_context and per-look prompt text instead of an art_direction_id. Then call propose_brief with canonical commands whose input includes clothing_item_ids, art_direction_id when matched, and the exact generation fields; also include creative_context and execute_immediately=true when the user asked to run/generate. Ask a chat clarification only when a selector is missing or ambiguous. If the user has not provided selectors or specific garment/outfit IDs and the host renders MCP app UI, call request_user_context with expected_types including clothing and/or outfits; include models only when the user asks for a specific or consistent person. The MCP app will load the gallery and Shoot Board for the user, and the board context persists for this MCP session. Tell the user to add assets to the Shoot Board and press Confirm context; never write 'drag into chat' or ask the user to use the chat as the drop target. If the host does not render MCP app UI, use list_garments, list_outfits, list_avatars, and related read tools to find candidate numeric IDs, ask the user to choose in chat when needed, then put explicit clothing_item_ids or outfit_id in each canonical command input. If the user has no garments or outfits, do not create an empty photoshoot brief and do not keep reopening an empty picker; tell them to use the Upload button in the Uwear app's Clothing tab, or to attach garment or product images in chat, then use the garment upload path that matches the source: chat attachment, public URL, or client-local file before reopening request_user_context. For garment chat attachments, call upload_garment_from_chat_file with actual ChatGPT files in top-level image_file_1, image_file_2, etc. and garments[] items that reference those exact field names from assets[] entries with asset_kind full/detail and asset_view front/back/side, plus name/description/gender metadata. Exactly one full front is required; each full view is unique; detail views can repeat. This explicit reference is how garment images are paired; do not rely on item order. For garment/product public URLs, call upload_garment_from_public_url with assets[] entries using asset_kind/asset_view plus asset_url. For local filesystem garment images on a capable host such as Codex, first call prepare_local_garment_upload with filenames, MIME types, and exact byte sizes. Keep local paths on the client, upload each file using its returned HTTP target, then call finish_local_garment_upload with the returned upload handles and garment classifications. Do not use the local-file tools for ChatGPT attachments or existing public URLs. For avatar and reference-file chat attachments, use the matching upload tools with batched metadata and their documented file fields. Do not pass a bare file_... ID; Uwear cannot fetch opaque host file IDs without the download_url. Do not inline base64 in MCP upload tools. To change an existing garment's item-level description or images, call update_garment with description and/or assets[]; assets[] patches images. Provided front/back assets replace those singleton roles, provided side/detail assets are added, and omitted existing assets are preserved. For saved garments that should become one outfit, call create_outfit_from_garment_ids after the garment IDs exist. Use image_url only for HTTP(S) URLs. Never pass /mnt/data, sandbox:, file://, or local file paths as image_url. When the user explicitly asks to buy, add, top up, or purchase credits, call create_credit_checkout_session with the requested credit amount and return the hosted external checkout URL; the user completes payment outside ChatGPT. Avatars/models are optional: if there are no saved avatars, continue with the default model unless the user explicitly wants a specific or consistent person. When they do want one, ask for a person photo and use upload_avatar_from_chat_file, or generate_avatar when they want Uwear to create a reusable model from a text description. Use build_avatar_prompt first only when the user wants help inventing or expanding the person description; if the user's wording is already intentional, pass it directly to generate_avatar. Photoshoot means image generation via BriefProposal; do not route photoshoot, lookbook, product shoot, or outfit shoot requests to montage/video sequence tools. Montage tools are available only when the user explicitly asks for a video montage, stitched clip sequence, reel, or final video export; do not call montage tools merely because context contains images or generations. Choose a concrete active model_slug from list_models for every command; never pass model='auto'. Use 1 image per look for the first brief draft unless the user explicitly asks for multiple images/variations or a named saved workflow clearly specifies another count. Treat selected Shoot Board assets as styling inputs, not a flat ID list. Treat garment names, titles, filenames, and SKUs strictly as identifiers for finding, selecting, organizing, and displaying items. Keep them unchanged for search and UI, but never infer or copy color, material, construction, fit, gender, season, or any other visual or product attribute from identifier text into `creative_context` or `commands[].input.prompt`. Product attributes may come only from the user's explicit request, a persisted garment description, explicit typed gender or target metadata, or visual evidence from garment assets. An attribute that also appears in an identifier is usable only when independently supported by one of those trusted sources; selecting or repeating the identifier alone is not evidence. Gender-like words in an identifier are not typed gender or target metadata. If evidence is missing or uncertain, say “the supplied garment” and ask generation to preserve its visible appearance. Focus authored prompts on scene, lighting, framing, pose, and mood. Use trusted descriptions, typed metadata, and visual evidence to assemble coherent outfits and choose a compatible avatar or setting like a professional fashion photographer would. Use propose_outfits when the user wants Uwear to suggest styled combinations from selected garments; save a proposed combination with create_outfit_from_garment_ids only after the user chooses it. Use list_locations when the user wants a saved setting, and create_location only when they provide a public location image to save. For a one-off background, keep the requested setting in creative_context and the per-look prompt. Do not randomly alternate avatars across looks when the garments imply a better wearer or styling logic. When the user asks to modify, rewrite, add steps to, or show an adjusted brief, call update_brief with the complete replacement commands list so the BriefProposal UI refreshes. Edit only commands[].input and preserve every unchanged API field, durable source, clothing_item_ids, avatar_id, aspect_ratio, resolution, camera, and reference_attachments. Do not answer with a text-only brief when the user asks for the Uwear brief UI. For every video command, attach available full back or side garment assets that the camera may reveal through `input.reference_attachments` using their exact `clothing_item_asset_id`; having the asset uploaded on the clothing item does not attach it to the video. Never combine `reference_attachments` with `img_ref_urls`. If `propose_brief` or `update_brief` returns a `video_garment_view_not_attached` warning, explain its exact assets, node, capacity, and fidelity risk, then follow its remediation without exceeding remaining capacity or mixing the mutually exclusive reference modes. For photoshoot briefs, choose the shoot-level creative_context before writing prompts. Write every per-look prompt as a compact positive scene description covering setting, lighting, mood, camera, and pose in 2-5 sentences; video prompts describe motion and camera movement instead. When a command has no art_direction_id, its prompt reaches the image model as-is and is the entire creative direction, so carry the shoot's full world, lighting, and mood in it, aligned with creative_context; with an art_direction_id the saved direction carries the reusable style and the prompt only adds per-shot intent. The attached garment, avatar, and reference images already carry product appearance: refer to them semantically, never by image number (the backend appends the numbered reference map at dispatch), keep styling intent such as fit, tuck, drape, or opening state when it matters, and never restate garment construction details or add product-fidelity warnings or negative 'do not replace/redesign' instruction blocks; with good visual references those lists only pollute the prompt. Say what the image should show, not what to avoid. When the user names or describes an art direction, first use search_uwear_library with item_types=['art_direction'] or the ArtDirection lookup tools: list_art_directions to find candidates, then get_art_direction when full saved markdown is needed. Use a clear saved match via art_direction_id; do not invent style prompt text before checking saved ArtDirections; only fall back to prompt/creative_context text when no clear match exists, and only create/save a new ArtDirection when the user explicitly asks for a reusable saved direction. By default use one cohesive art direction across the shoot. The per-look prompts may differ for garment details, pose, framing, or avatar, but they should share the same setting/mood/lighting language unless the user explicitly asks for multiple art directions, split concepts, A/B creative routes, or varied campaign directions. MCP propose_brief/update_brief will reject generation briefs that omit creative_context. ArtDirection authoring is conversational skill behavior. For the detailed playbook, read the uwear://skills/creative resource when your MCP host supports resources. Help the user define reusable future shoot rules, then call author_art_direction with save=true once enough signal exists. This queues an asynchronous job; call get_art_direction_authoring_job with the returned job_id until status is done or failed. list_art_directions returns compact summaries; use get_art_direction when you need the full markdown before editing or reusing one. Saved ArtDirections can be used by art_direction_id in generation, edit, and video briefs. After saving, suggest a small test generation brief using the saved art_direction_id. After propose_brief or update_brief returns, your chat reply must explain the chosen art direction before listing model, camera, aspect ratio, resolution, image count, or credits. When the user asks to QA, quality-check, validate, review, approve/reject, inspect for defects, or assess generated outputs, use the official generation-result QA workflow: identify the relevant numeric generation_result_ids, call queue_generation_result_qa, then call read_generation_result_qa for the same IDs and summarize the structured QA status, decision, and issues. Do not substitute view_image as the primary QA mechanism; view_image is only supplemental manual inspection or a fallback when no generation_result_id exists. If get_generation_results returns generation_result_ids, use those exact IDs for QA. Queued or requeued QA costs 1 credit per generation result; reading QA results is free. Generation result reads attach up to four bounded, protocol-native ImageContent preview blocks when available. Each block is labeled as a display preview or low-resolution fallback; it is not the original result. When the host surfaces those blocks, use them directly and do not re-embed preview_url or other remote URLs as Markdown. preview_url remains the structured display-link fallback for clients that do not surface native image content; it deterministically selects display_url before thumbnail_url. url/download_url are the original result links. For Video results, the native block and poster_url/thumbnail_url are posters while url/download_url are the original video links. When checking generation progress, use get_generation_status and respect its status_guidance; status can remain Created while a job is queued or preparing, so avoid tight polling loops. Do not call get_brief with 0, placeholder IDs, or guessed IDs; get_brief is only for a real persisted brief ID supplied by the user or returned by propose_brief/update_brief, and only to reload an unchanged brief. When the host supports the MCP app picker, do not call list_garments, list_avatars, list_outfits, get_generation_results, or mcp_list_files merely to show a picker before request_user_context.
Known tools 77
search_uwear_libraryUniversal hybrid retrieval across the user's visible Uwear library: garments, avatars/models, locations, ArtDirections, uploaded files, and generation results.
Inferred read-onlylist_garmentsList user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search.
Inferred read-onlyupload_garment_from_public_urlBatch upload garments from public HTTP(S) image URLs.
Potential side effectslist_avatarsList the user's avatars: the reusable people who wear the garments, called 'models' or 'mannequins' in fashion terms (not the AI engines — for those, use list_models).
Inferred read-onlyupload_avatar_from_chat_fileBatch upload reusable avatars/models from person photos the user attached in chat.
Potential side effectsgenerate_avatarGenerate canonical reusable avatar/model design-sheet candidates from the provided person description.
Inferred read-onlysave_generated_avatarSave a completed generate_avatar image result as a reusable avatar/model in the user's library.
Inferred read-onlybuild_avatar_promptBuild a highly detailed prompt for generating a unique reusable avatar/model.
Inferred read-onlypropose_outfitsUse Uwear's outfit proposer to create styled outfit combinations from selected garments.
Potential side effectslist_locationsList reusable location/scene reference images by structured filters or query: IDs, tags, date range, and sort.
Inferred read-onlycreate_tagCreate a new tag for organizing assets (garments, models, outfits, files, results, locations).
Potential side effectsget_generation_resultsLook up generation results by exact IDs, filters, or hybrid image/name/SKU search.
Inferred read-onlyread_generation_result_qaRead official Uwear QA status, decision, and structured QA JSON for existing generation results.
Inferred read-onlydownload_generation_resultsBundle generation results into a ZIP and return a time-limited download URL.
Inferred read-onlyview_imageAnalyze any image using AI vision for manual inspection, debugging, visual description, or supplemental critique.
Inferred read-onlyupdate_preferencesUpdate durable user preferences, photoshoot processes, or add a prompt.
Potential side effectsrequest_user_contextFIRST tool to call for a new photoshoot only when the user has not supplied garment/outfit IDs or textual selectors such as tag names, saved ArtDirection names, location names, or outfit names.
Inferred read-onlysave_reference_file_from_chat_fileBatch save reference images from chat attachments into the Files library.
Inferred read-onlyupdate_briefReplace the visible Uwear BriefProposal with a complete canonical command list.
Potential side effectsconfirm_briefCall this to approve and idempotently execute a visible persisted Uwear brief.
Potential side effectslist_modelsList available AI generation models (image, video, edit, upscale engines) by type, with credit costs.
Potential side effectslist_art_directionsList selectable ArtDirections as compact summaries: visible system ArtDirections plus company ArtDirections.
Inferred read-onlyduplicate_art_directionDuplicate a system or company ArtDirection into an editable company copy.
Inferred read-onlyauthor_art_directionQueue the conversation for asynchronous ArtDirection authoring using Uwear's prompt system.
Inferred read-onlylist_templatesList canonical company templates, optionally filtered by kind, scope, or command use case.
Potential side effectssave_templateCreate a canonical company template, or replace one by passing template_id with expected_revision.
Potential side effectsprepare_local_garment_uploadFirst step for garment images on the host's local filesystem, such as files in ~/Downloads.
Inferred read-onlyfinish_local_garment_uploadSecond step only for local garment images already prepared with prepare_local_garment_upload and uploaded to every returned target.
Inferred read-onlymcp_clear_contextApp-only: clear all session context items, or only one context type.
Inferred read-onlymcp_list_filesApp-only: list uploaded files for the Uwear MCP workspace files tab.
Inferred read-onlymcp_save_retouchApp-only: save a user-edited image from the shared ImageDetail retouch editor as a child generation result.
Inferred read-onlymcp_export_montageApp-only: export the user-confirmed montage clips as a stitched video.
Inferred read-onlycreate_credit_checkout_sessionCreate a hosted Stripe Checkout URL for buying Uwear generation credits.
Potential side effectsmcp_create_credit_checkout_sessionApp-only: create a hosted Stripe Checkout URL for buying Uwear credits from the MCP workspace credit control.
Potential side effectsget_production_workflowRead one workflow with its version summaries and which version is live.
Inferred read-onlypublish_production_workflow_versionValidate a draft, freeze it, and make it the version triggers execute.
Potential side effectsstart_production_workflow_run_batchStart one run per selected object (multi-select / catalog backfill).
Inferred read-onlylist_production_workflow_runsList run history, newest first, filterable by workflow and status.
Inferred read-onlyget_production_workflow_runRead one run in full: stable accepted results, per-node status, media, errors, retries, and the credits it moved.
Inferred read-onlyget_production_workflow_controlRead the company kill switch — whether automation is stopped, and why.
Inferred read-onlyupdate_production_workflow_controlStop or resume ALL production automation for the company.
Inferred read-onlyCONNECT WITH APPROVAL
Client installation
Review this server and its permissions before adding it. Secret placeholders must be set locally.
Codex
~/.codex/config.toml
[mcp_servers.uwear]
url = "https://api.uwear.ai/mcp"
enabled = true
Claude Code
.mcp.json
{
"mcpServers": {
"uwear": {
"type": "http",
"url": "https://api.uwear.ai/mcp"
}
}
}
Claude Desktop
Settings → Connectors → Add custom connector
Name: uwear
Remote MCP URL: https://api.uwear.ai/mcp
Add this remote URL as a custom connector in Claude Desktop. Availability depends on the user plan and workspace policy.
Cursor
.cursor/mcp.json
{
"mcpServers": {
"uwear": {
"url": "https://api.uwear.ai/mcp"
}
}
}
Visual Studio Code
.vscode/mcp.json
Add to Visual Studio Code{
"servers": {
"uwear": {
"type": "http",
"url": "https://api.uwear.ai/mcp"
}
}
}
Generic MCP
Client-specific MCP configuration
{
"name": "uwear",
"transport": "streamable-http",
"url": "https://api.uwear.ai/mcp"
}
MCP Inspector
Run the official MCP Inspector locally and enter the indexed Streamable HTTP endpoint.
TRUST AND VERIFICATION EVIDENCE
Trust Data Available
BuiltWith Trust API v2 evidence for uwear.ai was fetched 2026-08-04T00:41:45.597Z.
uwear.ai is assessed as VerificationRecommended: Domain has affiliate links on record
Evidence is source-attributed and does not guarantee that a third-party server is safe. Risk labels are conservative metadata heuristics.