# Uwear MCP server

AI photoshoot studio: garments, avatars, locations, and art direction

## Links
- Registry page: https://www.getdrio.com/mcp/ai-uwear-uwear
- Website: https://uwear.ai/mcp

## Install
- Endpoint: https://api.uwear.ai/mcp
- Auth: Not captured

## Setup notes
- Remote endpoint: https://api.uwear.ai/mcp

## Tools
- search_uwear_library (Search Library) - Universal hybrid retrieval across the user's visible Uwear library: garments, avatars/models, locations, ArtDirections, uploaded files, and generation results. Use this before opening the picker when the user describes assets or saved creative direction by exact name/SKU or natural language, e.g. 'SKU 42', 'urban art direction', 'summer denim', or 'studio model'. For saved outfits, retrieve matching garments first, then call list_outfits with clothing_item_ids or propose_outfits from the garment IDs. Returns stable typed IDs, ids_by_type, detail_tool/detail_arguments, and selection hints; for saved ArtDirections, use the returned art_direction_id in briefs. This combines indexed lexical matching with vector retrieval; do not run separate substring searches. Endpoint: https://api.uwear.ai/mcp
- list_garments (List Garments) - List user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search. Endpoint: https://api.uwear.ai/mcp
- get_garment (Get Garment) - Get a specific garment by ID. Endpoint: https://api.uwear.ai/mcp
- upload_garment_from_chat_file (Upload Garments from Chat) - Batch upload garments from ChatGPT attachments. Defaults to background removal; pass processing_mode='none' to store original images as-is. Pass actual file objects only in top-level image_file_1, image_file_2, etc. Prefer garments[].assets with {asset_kind: full|detail, asset_view: front|back|side, image_file: 'image_file_N'}; exactly one full front is required, every full view is unique, and detail views can repeat. Do not rely on array position to pair assets; every asset must reference its exact top-level field name. No image_url here; use upload_garment_from_public_url for URLs. For local filesystem files, use prepare_local_garment_upload instead. No base64 and no local paths. Endpoint: https://api.uwear.ai/mcp
- upload_garment_from_public_url (Upload Garments from URL) - Batch upload garments from public HTTP(S) image URLs. Defaults to background removal; pass processing_mode='none' to store original images as-is. Prefer assets with {asset_kind: full|detail, asset_view: front|back|side, asset_url}; exactly one full front is required, every full view is unique, and detail views can repeat. For ChatGPT attachments, use upload_garment_from_chat_file instead. For local filesystem files, use prepare_local_garment_upload instead. No base64, chat file objects, or local paths. Endpoint: https://api.uwear.ai/mcp
- list_avatars (List Avatars) - List 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). Supports structured filters or query for hybrid name/metadata/image-attribute search. Set include_image_url=true when the avatar image itself is needed. Endpoint: https://api.uwear.ai/mcp
- upload_avatar_from_chat_file (Upload Avatars from Chat) - Batch upload reusable avatars/models from person photos the user attached in chat. Keep avatar metadata in avatars[] and pass top-level image_file_1, image_file_2, etc. in the same order. No base64, no local paths. Do not use ordinary text-to-image results or generated multi-panel sheets as an upload fallback; use generate_avatar followed by save_generated_avatar for Uwear-created avatars. Use only when the user explicitly wants a specific or consistent person. Endpoint: https://api.uwear.ai/mcp
- generate_avatar (Generate Avatar Character Sheet) - Generate canonical reusable avatar/model design-sheet candidates from the provided person description. The result uses the same character-sheet template and creator path as the Uwear app. Use when the user has no saved avatars and explicitly asks Uwear to create a reusable model/avatar, especially for consistency across a shoot. Do not block a normal photoshoot on this; avatar/model is optional. If the user wants help inventing or enriching the person's description, call build_avatar_prompt first; if the user's prompt is already intentional and specific, pass it directly here. Pass model when the user requests a specific image model; otherwise the backend uses the cheapest active image generation model available to the account. After results complete, call save_generated_avatar on the chosen result to save it to the avatar library. Endpoint: https://api.uwear.ai/mcp
- save_generated_avatar (Save Generated Avatar) - Save a completed generate_avatar image result as a reusable avatar/model in the user's library. Use only after generate_avatar finishes and the user chooses a candidate. Normal text-to-image results are not eligible because they do not contain the avatar creator's reopenable inputs. Endpoint: https://api.uwear.ai/mcp
- list_outfits (List Outfits) - List user's outfits (saved garment combinations). Filter by garment IDs, active status, date range, or query against contained garments. Endpoint: https://api.uwear.ai/mcp
- create_outfit_from_garment_ids (Create Outfit) - Create an outfit from existing garment IDs. Pairs saved garments together into a saved outfit without uploading new images. Endpoint: https://api.uwear.ai/mcp
- build_avatar_prompt (Build Avatar Prompt) - Build a highly detailed prompt for generating a unique reusable avatar/model. Use this when the user wants help describing a person before image generation. If the user's prompt is already intentional and specific, Uwear can skip this and pass the user's wording directly to generate_avatar. Endpoint: https://api.uwear.ai/mcp
- propose_outfits (Propose Outfits) - Use Uwear's outfit proposer to create styled outfit combinations from selected garments. Returns candidate titles, clothing_item_ids, and short rationales; call create_outfit_from_garment_ids only after the user chooses a proposal to save. Endpoint: https://api.uwear.ai/mcp
- list_locations (List Locations) - List reusable location/scene reference images by structured filters or query: IDs, tags, date range, and sort. Use when the user wants to pick a saved background/location reference for a generation. Endpoint: https://api.uwear.ai/mcp
- get_location (Get Location) - Get a reusable location/scene reference by ID. Endpoint: https://api.uwear.ai/mcp
- create_location (Create Location) - Create a reusable location/scene reference from an image URL. If no description is supplied, the backend analyzes the image. Use the returned location_id in propose_brief/update_brief. Endpoint: https://api.uwear.ai/mcp
- update_garment (Update Garment) - Update a garment's metadata or patch its product photos. Send image changes through assets[] with front/back/side/detail roles. Provided front/back assets replace those singleton roles; provided side/detail assets are added. Omitted existing assets are preserved. Endpoint: https://api.uwear.ai/mcp
- create_tag (Create Tag) - Create a new tag for organizing assets (garments, models, outfits, files, results, locations). Requires an active company workspace. Endpoint: https://api.uwear.ai/mcp
- get_generation_status (Get Generation Status) - Check generation job status. Completed results may include labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Returns status, raw payload, settings, avatar_id, model_id, model_slug, use_case, credits_charged, estimated_processing_seconds, and status_guidance. Status can remain Created while queued/preparing; avoid tight polling loops. UI 'Gemini Pro' maps to model_slug nano-banana-pro or nano_banana_pro_clothing. Endpoint: https://api.uwear.ai/mcp
- get_generation_results (Get Generation Results) - Look up generation results by exact IDs, filters, or hybrid image/name/SKU search. Returns labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Every result includes generation_result_id and the response includes generation_result_ids; use those exact integers for queue_generation_result_qa/read_generation_result_qa or as durable generation_result command.source values in canonical edit, upscale, and video commands. Confirmation-gated clients use propose_brief(commands=[...], execute_immediately=true) when the user asked to run now, update_brief for a complete command replacement, or confirm_brief(execute=true) for a visible brief. Pass generation_result_id to fetch one result or generation_id to list a job's results. Returns raw payload when available so prior prompts can be recovered. Use start_date/end_date for requests like 'last week'. Endpoint: https://api.uwear.ai/mcp
- queue_generation_result_qa (Run QA on Results) - Default tool for generation-result QA. Use this whenever the user asks to QA, quality check, validate, review, inspect for defects, approve/reject, or assess already-created generation results. Do not substitute view_image for QA unless the user explicitly asks for a manual visual critique instead of the official Uwear QA pipeline. First identify the numeric generation_result_ids, then call this tool, then call read_generation_result_qa for the same IDs. Queued or requeued QA costs 1 credit per generation result; already-completed QA rows are not charged again. QA is built for scale — validating large batches (hundreds or thousands of results). When the user is iterating on a handful of results one by one, do not queue QA on your own initiative; run it when the user asks for it or when operating at batch scale. Endpoint: https://api.uwear.ai/mcp
- read_generation_result_qa (Read QA Results) - Read official Uwear QA status, decision, and structured QA JSON for existing generation results. Call this after queue_generation_result_qa when the user asks to QA/check/validate/review generated outputs; summarize the structured decision and issues, not a manual view_image opinion. Endpoint: https://api.uwear.ai/mcp
- download_generation_results (Export Results as ZIP) - Bundle generation results into a ZIP and return a time-limited download URL. Use when the user wants to download or export their generated images/videos. Endpoint: https://api.uwear.ai/mcp
- view_image (Analyze Image) - Analyze any image using AI vision for manual inspection, debugging, visual description, or supplemental critique. Do not use this as the primary QA mechanism when the user asks to QA, quality-check, validate, review, approve/reject, or assess generated results; for QA requests use queue_generation_result_qa first, then read_generation_result_qa. Prefer generation_result_id for Shoot Board generation items, uploaded_file_id for Files items, or pass a public HTTPS image URL directly. Endpoint: https://api.uwear.ai/mcp
- propose_montage (Create Video Montage) - ONLY for video montage/stitching/export workflows. Use when the user explicitly asks to create a montage, stitch clips, make a reel, export a video sequence, make video clips from images, or combine images/videos into one final video. Never use this for a photoshoot, lookbook, product shoot, collection shoot, outfit shoot, garment shoot, or image-generation request; those must use request_user_context followed by propose_brief/update_brief. Do not call this merely because selected context contains images, generations, garments, or models. A photoshoot may later feed a montage, but the photoshoot itself must be proposed as a BriefProposal first. PROPOSES the montage for user review — user can edit clips, generate missing videos, then export. Supports: existing videos with optional trim (`target_duration` or `start_time`/`end_time`), images that need video generation (specify video_model + a bespoke per-image motion prompt, and optionally `target_duration` or `duration`), per-clip speed/mute, global aspect ratio. If the user asks for clips to be e.g. '3 seconds each', set `target_duration: 3` on every item, including image items. For image items, avoid generic repeated prompts: tailor each prompt to the specific image and any requested zoom, movement, energy, or camera direction. If motion is not specified, inspect the image first with view_image and then write a fitting motion prompt from the image content before proposing. The user reviews and confirms in the UI. Export is free (0 credits); video generation clips cost credits per their model. Endpoint: https://api.uwear.ai/mcp
- update_montage_proposal (Update Video Montage) - Patch the latest MontageProposal already shown in the UI. Use only for an existing video montage/reel/stitched sequence proposal; do not use this to modify a photoshoot brief. For photoshoot brief changes, call update_brief instead. Prefer `operations`, an ordered list of typed montage edits such as `clear_trim`, `remove`, `set_duration`, `set_trim_range`, `set_speed`, `set_muted`, `set_prompt`, `set_video_model`, `set_generate_audio`, `set_last_frame`, `set_aspect_ratio`, and `set_base_resolution`. Use `set_trim_range` for requests like 'use the second half', 'start at 3s', or 'trim from 3s to 6s'. Operations are applied in order to the current montage state. Legacy flat fields are still accepted as a compatibility shim. This updates the proposal only; it does not execute export or generation. Endpoint: https://api.uwear.ai/mcp
- estimate_cost (Estimate Credit Cost) - Estimate credit cost for an operation. Endpoint: https://api.uwear.ai/mcp
- get_user_credits (Get Credit Balance) - Get user's current credit balance. Endpoint: https://api.uwear.ai/mcp
- update_preferences (Update Preferences) - Update durable user preferences, photoshoot processes, or add a prompt. Treat all model fields as explicit model pins: leave model fields unset for normal backend defaults unless the user deliberately selected a specific model. The preferred way to save how a user generates is a template (save_template): a generation-preset template for reusable concrete single-shoot settings, a batch-workflow template for an ordered repeatable multi-shot flow — see the `Demo — …` system templates for worked examples. Use preferences for durable raw-text guidance that is not a concrete shoot setup. Endpoint: https://api.uwear.ai/mcp
- list_tags (List Tags) - List available tags for the user's company. Use this to resolve user-provided tag names like 'summer26' before selecting garments, outfits, models, files, generations, or locations. For no-UI MCP flows, find the tag ID here, then call get_items_by_tag or the relevant list_* tool with tag_ids. Endpoint: https://api.uwear.ai/mcp
- get_items_by_tag (Get Items by Tag) - Get all item IDs tagged with a specific tag, grouped by type. Use after list_tags for no-UI MCP requests like 'use my clothes tagged summer26'; then pass the resulting clothing_item IDs as garment_ids to propose_brief instead of opening request_user_context. Endpoint: https://api.uwear.ai/mcp
- request_user_context (Ask User to Pick Assets) - FIRST 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. Opens the MCP app/gallery so the user can choose assets, add them to the Shoot Board, and press Confirm context. BLOCKS until the user confirms their selection. Do not use this when a no-UI path can resolve the request with list_tags/get_items_by_tag/list_garments or the ArtDirection lookup tools. Do not tell the user to drag assets into chat. If the user has no garments/outfits, ask them to attach garment/product images and use upload_garment_from_chat_file, upload_garment_from_public_url, or create_outfit_from_garment_ids before trying to create a brief. Do not request models when inventory shows avatars=0. Avatar/model is optional; only ask for one when the user wants a specific or consistent person. If they want a model and have none, ask for a person photo and use upload_avatar_from_chat_file, or use generate_avatar if they want Uwear to create a reusable model. Endpoint: https://api.uwear.ai/mcp
- save_reference_file_from_chat_file (Save Reference Images) - Batch save reference images from chat attachments into the Files library. Keep file metadata in files[] and pass top-level image_file_1, image_file_2, etc. in the same order. No base64, no local paths. Use for mood boards, backgrounds, and other reference images that are not garments or avatars. Endpoint: https://api.uwear.ai/mcp
- propose_brief (Create Brief for Approval) - Create a Uwear BriefProposal from canonical generation commands. Every commands[].input is the MCP-safe GenerationIntent fields; commands and immutable plans are persisted without translation. Supply a concrete model_slug for generate, edit, upscale, and video. Use durable command.source IDs for uploaded files or generation results, and reference_attachments for additional references. For video, attach available full back or side garment assets that the camera may reveal when capacity permits; having the asset uploaded is not enough. If the response contains video_garment_view_not_attached, explain its exact assets, node, and capacity, then follow its remediation. Never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity. Set execute_immediately=true only when the user explicitly asks to run now. Include creative_context for photoshoots and explain the art direction after proposing. For changes to a visible brief, call update_brief with the complete replacement command list. Webhook callback configuration is API-only. Endpoint: https://api.uwear.ai/mcp
- update_brief (Revise Brief) - Replace the visible Uwear BriefProposal with a complete canonical command list. Edit commands[].input directly using the MCP-safe GenerationIntent fields and preserve every unchanged field and durable source. This is replacement state, not a partial diff. For video_garment_view_not_attached warnings, follow the capacity-aware remediation: never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity. Include updated creative_context for photoshoot rewrites and explain the changed art direction. Webhook callback configuration is API-only. Endpoint: https://api.uwear.ai/mcp
- confirm_brief (Approve and Run Brief) - Call this to approve and idempotently execute a visible persisted Uwear brief. In MCP, a one-word 'Confirm' or phrases like 'looks good', 'run it', 'start', or 'generate' mean execute=true unless the user explicitly says to approve without starting. Use the visible/latest BriefProposal brief_id. Repeated calls return or resume the same durable execution. Endpoint: https://api.uwear.ai/mcp
- get_brief (Reopen Saved Brief) - Load an existing persisted brief unchanged by a real positive brief_id. Only use when the user supplied that brief_id or after propose_brief/update_brief returned it and the user wants to re-open the same brief. Never use brief_id=0, a placeholder, or a guessed ID. Never use this to start a new photoshoot. When the user asks to modify, rewrite, add steps to, or show an adjusted brief, call update_brief with the complete updated brief instead of looping on get_brief. Endpoint: https://api.uwear.ai/mcp
- list_models (List AI Models) - List available AI generation models (image, video, edit, upscale engines) by type, with credit costs. These are the AI models that render photoshoots — not the human models/avatars; for those, use list_avatars. Endpoint: https://api.uwear.ai/mcp
- list_art_directions (List Art Directions) - List selectable ArtDirections as compact summaries: visible system ArtDirections plus company ArtDirections. Use query to match exact names and natural-language creative requests. Use this as the catalog step before choosing an art_direction_id for a brief; if there is no clear match, fall back to the user's phrase as prompt/creative_context. Use get_art_direction for the full markdown document before reusing one in a brief. Endpoint: https://api.uwear.ai/mcp
- get_art_direction (Get Art Direction) - Get a selectable ArtDirection by ID. Endpoint: https://api.uwear.ai/mcp
- create_art_direction (Write Art Direction Markdown (Advanced)) - Create a company ArtDirection markdown document. Use author_art_direction first when the user provides rough creative text or reference images. Use this direct writer only for already-structured markdown that follows the Variation Controls parser contract. Endpoint: https://api.uwear.ai/mcp
- update_art_direction (Update Art Direction) - Update a company ArtDirection. System ArtDirections are read-only. When changing markdown directly, preserve the Variation Controls parser contract: reusable alternatives must be under `## Variation Controls`, not only in prose. Endpoint: https://api.uwear.ai/mcp
- duplicate_art_direction (Duplicate Art Direction) - Duplicate a system or company ArtDirection into an editable company copy. Endpoint: https://api.uwear.ai/mcp
- author_art_direction (Create Art Direction) - Queue the conversation for asynchronous ArtDirection authoring using Uwear's prompt system. Use save=true when the user wants to create, build, or save a reusable ArtDirection. Use save=false when the user explicitly wants an unsaved draft or brainstorming pass. This returns a job ID; call get_art_direction_authoring_job until status is done or failed. Endpoint: https://api.uwear.ai/mcp
- get_art_direction_authoring_job (Get Art Direction Draft Status) - Read an asynchronous ArtDirection authoring job. Poll the job ID returned by author_art_direction until status is done or failed. A done job includes the authored markdown and, when save=true, the saved art_direction_id. Endpoint: https://api.uwear.ai/mcp
- list_templates (List Templates) - List canonical company templates, optionally filtered by kind, scope, or command use case. Templates persist canonical commands but do not execute generations. System templates named `Demo — …` are worked examples of the canonical command language; read one with `get_template` before authoring a first brief or workflow. Endpoint: https://api.uwear.ai/mcp
- get_template (Get Template) - Load one canonical company template by ID. Pass expected_template_kind when the caller requires a generation_preset or batch_workflow. Endpoint: https://api.uwear.ai/mcp
- save_template (Save Template) - Create a canonical company template, or replace one by passing template_id with expected_revision. Send typed GenerationCommand objects; updates are complete replacements. This persists the template and does not generate images. If a generation_preset create fails structurally, or legacy keys appear (camera_quantities, step2_operations, operations, fixed_context, variable_context, input_policy, cameraQuantities, step2Operations, fixedContext, variableContext, inputPolicy, or their camelCase forms), these describe a batch workflow — use `template_kind=batch_workflow`. front + back is one batch workflow: Step 1 front generation, Step 2 back camera edit. Endpoint: https://api.uwear.ai/mcp
- delete_template (Delete Template) - Permanently delete a library template. Owner-only templates must be deleted through their owning resource. Endpoint: https://api.uwear.ai/mcp
- prepare_local_garment_upload (Prepare Local Garment Upload) - First step for garment images on the host's local filesystem, such as files in ~/Downloads. Use only when the host can read those local files and perform the returned direct multipart HTTP uploads, such as Codex. Include every returned form field and send the file bytes under the returned file_field. Never send a local path to Uwear. Do not use this for ChatGPT attachments or existing public URLs. After every upload succeeds, call finish_local_garment_upload with the returned upload handles. Endpoint: https://api.uwear.ai/mcp
- finish_local_garment_upload (Finish Local Garment Upload) - Second step only for local garment images already prepared with prepare_local_garment_upload and uploaded to every returned target. Classify each upload_handle as a full/detail front/back/side asset. Do not use this for ChatGPT attachments or arbitrary public URLs. Endpoint: https://api.uwear.ai/mcp
- mcp_get_context (Get Shoot Board) - App-only: hydrate the session-scoped Uwear Shoot Board. Endpoint: https://api.uwear.ai/mcp
- mcp_replace_context (Replace Shoot Board) - App-only: replace the session-scoped Uwear Shoot Board items. Endpoint: https://api.uwear.ai/mcp
- mcp_add_context (Add to Shoot Board) - App-only: append items to the session-scoped Uwear Shoot Board. Endpoint: https://api.uwear.ai/mcp
- mcp_clear_context (Clear Shoot Board) - App-only: clear all session context items, or only one context type. Endpoint: https://api.uwear.ai/mcp
- mcp_list_files (List Files) - App-only: list uploaded files for the Uwear MCP workspace files tab. Endpoint: https://api.uwear.ai/mcp
- mcp_save_retouch (Save Retouched Image) - App-only: save a user-edited image from the shared ImageDetail retouch editor as a child generation result. Hidden from host LLMs; the MCP iframe calls this after the user presses Save. Endpoint: https://api.uwear.ai/mcp
- mcp_export_montage (Export Montage Video) - App-only: export the user-confirmed montage clips as a stitched video. Spends credits, so it is hidden from host LLMs; the MCP iframe calls this after the user presses Export on the MontageProposal card. Returns the generation_id to poll via get_generation_status. Endpoint: https://api.uwear.ai/mcp
- mcp_generate_clip (Generate Montage Clip) - App-only: queue an image-to-video generation for a montage clip. Spends credits, so it is hidden from host LLMs; the montage editor calls this when the user presses Generate on a draft clip. Returns the generation_id to poll via get_generation_status. Endpoint: https://api.uwear.ai/mcp
- create_credit_checkout_session (Buy Credits) - Create a hosted Stripe Checkout URL for buying Uwear generation credits. Use only when the user explicitly asks to buy, add, top up, or purchase credits, or when they ask how to continue after insufficient credits. Do not call during photoshoot planning unless the user requested checkout. The tool only creates a payment link; the user must open and complete payment in Stripe. Endpoint: https://api.uwear.ai/mcp
- mcp_create_credit_checkout_session (Buy Credits (Workspace)) - App-only: create a hosted Stripe Checkout URL for buying Uwear credits from the MCP workspace credit control. Hidden from the host LLM so photoshoot planning does not drift into billing unless the user presses the plus button. Endpoint: https://api.uwear.ai/mcp

## Resources
- uwear://skills/avatars - uWear skill resource: avatars MIME type: text/markdown
- uwear://skills/clothing - uWear skill resource: clothing MIME type: text/markdown
- uwear://skills/creative - uWear skill resource: creative MIME type: text/markdown
- uwear://skills/photoshoot - uWear skill resource: photoshoot MIME type: text/markdown
- uwear://contracts/generation - Canonical REST, Agent, MCP, and BriefProposal generation contract MIME type: application/json
- uwear://contracts/template - Canonical unified template payload, binding, and version contract MIME type: application/json
- AssetResultGrid - Uwear MCP component: AssetResultGrid MIME type: text/html;profile=mcp-app
- BriefProposal - Uwear MCP component: BriefProposal MIME type: text/html;profile=mcp-app
- ContextRequest - Uwear MCP component: ContextRequest MIME type: text/html;profile=mcp-app
- MontageProposal - Uwear MCP component: MontageProposal MIME type: text/html;profile=mcp-app

## Prompts
Not captured

## Metadata
- Owner: ai.uwear
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: Aug 1, 2026
- Source: https://registry.modelcontextprotocol.io
