servers / uwear

Uwear MCP server

communitystreamable_httpremotedestructive capablehealthy

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


01Tools · 77

How to read this: tool names here are observed from a live tools/list handshake. The Risk label is a heuristic inferred from the tool name (write/destructive verbs), not from executing the tool — a conservative guess, not a verified capability. We never escalate risk from a description. Found one that's wrong? Tell us — we fix on report.

ToolRiskSide effectsApproval
list_garments
List user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search.
readfalseunknown
search_uwear_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.
readfalseunknown
get_garment
Get a specific garment by ID.
readfalseunknown
upload_garment_from_chat_file
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.
writetrueunknown
upload_garment_from_public_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.
writetrueunknown
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.
readfalseunknown
upload_avatar_from_chat_file
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.
writetrueunknown
generate_avatar
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.
unknownunknownunknown
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.
unknownunknownunknown
list_outfits
List user's outfits (saved garment combinations). Filter by garment IDs, active status, date range, or query against contained garments.
readfalseunknown
create_outfit_from_garment_ids
Create an outfit from existing garment IDs. Pairs saved garments together into a saved outfit without uploading new images.
writetrueunknown
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.
unknownunknownunknown
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.
readfalseunknown
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.
readfalseunknown
get_location
Get a reusable location/scene reference by ID.
readfalseunknown
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.
writetrueunknown
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.
writetrueunknown
create_tag
Create a new tag for organizing assets (garments, models, outfits, files, results, locations). Requires an active company workspace.
writetrueunknown
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.
readfalseunknown
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'.
readfalseunknown
queue_generation_result_qa
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.
readfalseunknown
read_generation_result_qa
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.
readfalseunknown
download_generation_results
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.
unknownunknownunknown
view_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.
readfalseunknown
propose_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.
readfalseunknown
update_montage_proposal
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.
writetrueunknown
estimate_cost
Estimate credit cost for an operation.
unknownunknownunknown
get_user_credits
Get user's current credit balance.
readfalseunknown
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.
writetrueunknown
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.
readfalseunknown
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.
readfalseunknown
request_user_context
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.
readfalseunknown
save_reference_file_from_chat_file
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.
unknownunknownunknown
propose_brief
Create a Uwear BriefProposal from canonical generation commands. Every commands[].input is the exact REST GenerationIntent contract; 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.
readfalseunknown
update_brief
Replace the visible Uwear BriefProposal with a complete canonical command list. Edit commands[].input directly using the exact REST 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.
writetrueunknown
confirm_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.
unknownunknownunknown
get_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.
readfalseunknown
list_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.
readfalseunknown
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.
readfalseunknown
get_art_direction
Get a selectable ArtDirection by ID.
readfalseunknown
create_art_direction
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.
writetrueunknown
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.
writetrueunknown
duplicate_art_direction
Duplicate a system or company ArtDirection into an editable company copy.
unknownunknownunknown
author_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.
readfalseunknown
get_art_direction_authoring_job
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.
readfalseunknown
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.
readfalseunknown
get_template
Load one canonical company template by ID. Pass expected_template_kind when the caller requires a generation_preset or batch_workflow.
readfalseunknown
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.
readfalseunknown
delete_template
Permanently delete a library template. Owner-only templates must be deleted through their owning resource.
destructivetruetrue
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.
writetrueunknown
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.
writetrueunknown
mcp_get_context
App-only: hydrate the session-scoped Uwear Shoot Board.
readfalseunknown
mcp_replace_context
App-only: replace the session-scoped Uwear Shoot Board items.
unknownunknownunknown
mcp_add_context
App-only: append items to the session-scoped Uwear Shoot Board.
writetrueunknown
mcp_clear_context
App-only: clear all session context items, or only one context type.
unknownunknownunknown
mcp_list_files
App-only: list uploaded files for the Uwear MCP workspace files tab.
readfalseunknown
mcp_save_retouch
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.
unknownunknownunknown
mcp_export_montage
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.
readfalseunknown
mcp_generate_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.
readfalseunknown
create_credit_checkout_session
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.
writetrueunknown
mcp_create_credit_checkout_session
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.
writetrueunknown
create_production_workflow
Create a workflow. It has no graph until a version is created, and it runs nothing until a version is published.
writetrueunknown
list_production_workflows
List this company's workflows.
readfalseunknown
get_production_workflow
Read one workflow with its version summaries and which version is live.
readfalseunknown
update_production_workflow
Rename a workflow, or enable/disable it. Disabling stops new runs from being admitted; runs already in flight finish.
writetrueunknown
archive_production_workflow
Archive a workflow and disable it. Reversible with update_production_workflow.
destructivetruetrue
create_production_workflow_version
Open a new draft version holding the graph. Drafts are editable and never execute. See uwear://contracts/production-workflow for typed node configs and worked examples.
writetrueunknown
list_production_workflow_versions
List a workflow's versions and their state.
readfalseunknown
get_production_workflow_version
Read one version's full graph. See uwear://contracts/production-workflow for typed node configs and worked examples.
readfalseunknown
update_production_workflow_version
Replace a draft's graph. Published versions are immutable — branch a new draft instead. See uwear://contracts/production-workflow for typed node configs and worked examples.
writetrueunknown
publish_production_workflow_version
Validate a draft, freeze it, and make it the version triggers execute. Rejects an invalid graph and returns the reason. See uwear://contracts/production-workflow for typed node configs and worked examples.
writetrueunknown
start_production_workflow_run
Start one run of a workflow's published version. Requires an idempotency_key: the same key never starts a second run.
writetrueunknown
start_production_workflow_run_batch
Start one run per selected object (multi-select / catalog backfill). Each object is admitted independently; failures do not sink the rest.
writetrueunknown
list_production_workflow_runs
List run history, newest first, filterable by workflow and status.
readfalseunknown
get_production_workflow_run
Read one run in full: stable accepted results, per-node status, media, errors, retries, and the credits it moved.
writetrueunknown
get_production_workflow_control
Read the company kill switch — whether automation is stopped, and why.
readfalseunknown
update_production_workflow_control
Stop or resume ALL production automation for the company. Stopping requires a reason and is audited.
writetrueunknown

02Install & source
https://api.uwear.ai/mcp
remote_url

03Access granted
Generate images · writeProcess payments · writeWorkflow automation · write

The access this server can exercise, inferred from its verified tools — not a declared OAuth scope.


05Provenance & freshness
sourcesOfficial MCP Registry [p1]
last_checked2026-08-01 17:00Z
next_check2026-08-03 17:00Z
cadenceevery 48h
verifiedtools_list:passed handshake:passed metadata:passed
index_statusindex5 unique facts >= 5

06Badge

Add the “as seen on MCPExplorer” badge to your README. Uwear MCP — as seen on mcpexplorer.com

[![Uwear MCP — as seen on mcpexplorer.com](https://mcpexplorer.com/badge/uwear.svg)](https://mcpexplorer.com/servers/uwear)

Next step

This is one server. A loadout combines the right servers, governance, and proven plays for a whole job — assembled deliberately, not tool-dumped.

Explore loadouts →