Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Uwear

REMOTE · API.UWEAR.AI · SCANNED SEP 20

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

Available components

−1 this week 89 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security92
Transport & Reachability100
Schema Quality & AI Usability77
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 17052 tokens (~221/item across 77 items; 66 tools + 11 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability check failed: schema churn in the 30 days we've observed: 2 tool removals, 0 breaking changes, 0 auth/transport breaks, 4 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety50
  • Injection-marker check failed: the description of tool "request_user_context" contains an instruction to conceal the call from the user, the text "Do not tell the user", at byte 493 of that field. See how to fix → Fail
  • All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 68 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
  • Supports UI / widget rendering.Pass
Install

How do I install the Uwear MCP server?

Uwear is a hosted endpoint at https://api.uwear.ai/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.uwear.ai

# add to Claude Code
claude mcp add --transport http ai-uwear-uwear 'https://api.uwear.ai/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-uwear-uwear": {
      "url": "https://api.uwear.ai/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-uwear-uwear": {
      "type": "http",
      "url": "https://api.uwear.ai/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.ai-uwear-uwear]
url = "https://api.uwear.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-uwear-uwear": {
      "type": "remote",
      "url": "https://api.uwear.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-uwear-uwear --url 'https://api.uwear.ai/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-uwear-uwear:
    url: "https://api.uwear.ai/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-uwear-uwear": {
      "Transport": "http",
      "Url": "https://api.uwear.ai/mcp"
    }
  }
}
# add to Vellum
assistant mcp add ai-uwear-uwear -t streamable-http -u 'https://api.uwear.ai/mcp'
// mcp.json
{
  "mcpServers": {
    "ai-uwear-uwear": {
      "type": "http",
      "url": "https://api.uwear.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Sept 26 −1
    • Stability: pass → fail security
    • A breaking change shipped without a version bump: still 1.0.0 security
    • Tool “create_credit_checkout_session” was removed security
    • Tool “mcp_create_credit_checkout_session” was removed security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “create_avatar_from_references” no longer declares itself destructive security
    • Tool “iterate_art_direction” is now declared destructive security
    • “mcp_generate_clip” reworded the description of “generate_audio” cosmetic
  • 9 Sept 26 0
    • Tool “save_template” rewrote its description, which is the text the model reads security
    • “list_templates” reworded the description of “template_kind” cosmetic
    • “save_template” reworded the description of “template_kind” cosmetic
  • 7 Sept 26 +1
    • Stability: fail → pass security
    • Tool “list_models” rewrote its description, which is the text the model reads security
    • Tool “upload_garment_from_public_url” rewrote its description, which is the text the model reads security
    • New resource “model-guidance” functional
    • New tool “copy_template_to_generate_node_config” functional
    • “generate_avatar” added an optional parameter “expression” cosmetic
  • 3 Sept 26 +2

    No change was recorded against any check on this day. Stability & Change Management went from 78 to 98.

  • 31 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 74 to 78.

  • 30 Aug 26 0
    • Tool “get_generation_status” rewrote its description, which is the text the model reads security
    • New tool “apply_backdrop” functional
    • New tool “get_connection_identity” functional
    • New tool “get_outfit” functional
    • “list_garments” added an optional parameter “category” cosmetic
    • “list_outfits” added an optional parameter “source” cosmetic
    • “update_garment” added an optional parameter “category” cosmetic
    • “list_outfits” reworded the description of “sort” cosmetic
  • 29 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 68 to 71.

  • 27 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 61 to 64.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://api.uwear.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.uwear.ai CN=Amazon RSA 2048 M04,O=Amazon,C=US 20 Jun 2026 3 Jan 2027 RSA 2048 SHA256-RSA 7972aca3b35635c62a4a2f54fc31faa
SANs: api.uwear.ai
CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 773124f2a952e3ed18a58bdb85d1bc0ce5f27
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.uwear.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
uwear.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://api.uwear.ai/.well-known/oauth-protected-resource/mcp", scope="mcp"

Bearer resource_metadata="https://api.uwear.ai/.well-known/oauth-protected-resource/mcp", scope="mcp"

Protected resource metadata

Document https://api.uwear.ai/.well-known/oauth-protected-resource/mcp
Retrieved Yes
Resource https://api.uwear.ai/mcp
Authorisation server https://api.uwear.ai

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.uwear.ai/mcp Verified 200
http (plaintext) http://api.uwear.ai/mcp HTTPS enforced
MCP tools · 66 exposed · ~13,666 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
read_generation_result_qa ~81

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.

NameTypeReqDescription
generation_result_idsarrayyesGeneration result IDs to read QA for

No output schema declared.

No examples provided.

request_user_context ~336

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.

NameTypeReqDescription
expected_typesarrayyesAccepted item types (match panel tabs): 'clothing', 'models', 'outfits', 'generations', 'files'. Legacy 'file' is accepted as an alias for 'files'.
min_itemsintegerMinimum number of items the user must provide
promptstringyesInstruction shown to the user, e.g. 'Select the clothing items you want to use and add them to the Shoot Board'

No output schema declared.

No examples provided.

save_generated_avatar ~151

Save completed generate_avatar image results as one reusable avatar/model. Pass the identity-anchor result as generation_result_id and optional view results as additional_result_ids; each result fills the slot recorded in its avatar_creator.view metadata. Use only after generation finishes and the user chooses the candidates. Normal text-to-image results are not eligible.

NameTypeReqDescription
additional_result_idsarrayOther completed generate_avatar result IDs to save into their own avatar_creator.view slots in the same avatar.
generation_result_idintegeryesCompleted image result ID returned by generate_avatar. Normal text-to-image results are not eligible because they do not contain reopenable avatar-creator inputs.
namestringyesName for the saved avatar/model

No output schema declared.

No examples provided.

save_reference_file_from_chat_file ~576

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.

NameTypeReqDescription
file_namestringSingle recovered display name
filesarrayReference file metadata in the same order as image_file_1, image_file_2, etc. No base64.
image_file_1Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_10Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_2Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_3Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_4Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_5Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_6Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_7Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_8Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_9Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_urlstringSingle resolved download URL used by automatic opaque-file recovery.
mime_typestringSingle recovered MIME/content type, e.g. image/png

No output schema declared.

No examples provided.

save_template ~188

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. Templates are single-generation presets. Use Production Workflows in the Automation workspace for reusable multi-step generation. Legacy batch Templates are read-only history and cannot be created, edited, or imported.

NameTypeReqDescription
catalog_scopeTemplate catalog scope: library or owner_only
descriptionstringOptional sentence explaining when to use the template
expected_revisionintegerCurrent revision when replacing an existing template; omit for create
namestringyesTemplate name
payloadyesVersioned template payload containing canonical generation commands
template_idintegerTemplate ID when replacing an existing template
template_kindyesTemplate kind: generation_preset. Legacy batch_workflow writes are retired.

No output schema declared.

No examples provided.

search_uwear_library ~276

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.

NameTypeReqDescription
item_typesarrayOptional item types to search. Omit to search clothing, avatars/models, locations, art directions, uploaded files, and generation results.
limitintegerMaximum number of hybrid matches to return
querystringyesHybrid retrieval query. Handles exact names/SKUs/IDs and natural-language visual or attribute intent.
refresh_indexbooleanForce-refresh missing or stale index rows for currently visible library items before searching. Leave false for normal MCP use; search refreshes once automatically only when no accessible match is fo…

No output schema declared.

No examples provided.

submit_uwear_feedback ~232

Submit a bug report or feature request to Uwear and return a private receipt. This creates a support record and can notify Uwear staff. Call it only when the user explicitly asks to submit, send, or report feedback, or after they confirm the exact summary. Never submit automatically because an error occurred, and never include the full conversation, credentials, secrets, raw provider payloads, or private URLs.

NameTypeReqDescription
feedback_typestringyesUse bug_report for broken behavior or feature_request for an idea or improvement.
messagestringyesThe report the user explicitly approved. Include useful reproduction details, but never add secrets, credentials, full conversation history, raw provider payloads, or private URLs.
related_generation_idintegerOptional Uwear generation ID directly related to the report.
related_generation_result_idintegerOptional Uwear generation-result ID directly related to the report.
request_idstringyesStable unique ID for this submission. Reuse the same value only when retrying the same report.
subjectstringShort summary of the confirmed report.

No output schema declared.

No examples provided.

update_art_direction ~169

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.

NameTypeReqDescription
art_direction_idintegeryesThe ArtDirection ID to update
content_markdownstringUpdated complete ArtDirection markdown. If editing directly, every reusable alternative that should rotate across generations must live under `## Variation Controls` as `###` controls with `A. Option…
namestringUpdated ArtDirection name
reference_image_attachmentsarrayReplacement authoring reference image attachments. These are for iterating the markdown only, not generation-time references.

No output schema declared.

No examples provided.

update_brief ~424

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.

NameTypeReqDescription
commandsarrayyesCanonical generation commands. Each command contains the MCP-safe GenerationIntent fields and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lig…
creative_contextstringRequired for photoshoot proposals and brief rewrites. Summarize the shoot-level creative approach that guided garment combos, avatars, prompts, and pipeline steps. By default prefer one cohesive art…

No output schema declared.

No examples provided.

update_garment ~571

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.

NameTypeReqDescription
assetsarrayAsset patch for garment product photos. A provided full front/back/side replaces that unique view; provided detail assets are added. Omitted existing assets are preserved.
categorystringUpdated canonical garment category
clothing_item_idintegeryesThe garment ID to update
descriptionstringUpdated item-level garment description, or a hint to use when patching images
genderstringUpdated target gender: male, female, or unisex
image_file_1Generic top-level MCP file object for assets[].image_file references
image_file_10Generic top-level MCP file object for assets[].image_file references
image_file_11Generic top-level MCP file object for assets[].image_file references
image_file_12Generic top-level MCP file object for assets[].image_file references
image_file_13Generic top-level MCP file object for assets[].image_file references
image_file_14Generic top-level MCP file object for assets[].image_file references
image_file_15Generic top-level MCP file object for assets[].image_file references
image_file_16Generic top-level MCP file object for assets[].image_file references
image_file_17Generic top-level MCP file object for assets[].image_file references
image_file_18Generic top-level MCP file object for assets[].image_file references
image_file_19Generic top-level MCP file object for assets[].image_file references
image_file_2Generic top-level MCP file object for assets[].image_file references
image_file_20Generic top-level MCP file object for assets[].image_file references
image_file_3Generic top-level MCP file object for assets[].image_file references
image_file_4Generic top-level MCP file object for assets[].image_file references
image_file_5Generic top-level MCP file object for assets[].image_file references
image_file_6Generic top-level MCP file object for assets[].image_file references
image_file_7Generic top-level MCP file object for assets[].image_file references
image_file_8Generic top-level MCP file object for assets[].image_file references
image_file_9Generic top-level MCP file object for assets[].image_file references
namestringUpdated garment name

No output schema declared.

No examples provided.

update_montage_proposal ~497

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.

NameTypeReqDescription
apply_to_allbooleanApply changes to every clip in the current montage proposal.
aspect_ratiostringUpdate the montage output aspect ratio.
base_resolutionintegerUpdate the montage output resolution height.
clear_trimbooleanFor video clips, remove trim bounds and restore the full clip length in the proposal.
clip_numberinteger1-based clip number to update. Omit when apply_to_all=true.
clip_numbersarrayOptional list of 1-based clip numbers to update together.
end_timenumberTrim end time in seconds for legacy trim-range updates.
generate_audiobooleanEnable or disable generated audio for image-to-video montage items.
last_frame_urlstringOptional last-frame URL for image-to-video montage items.
mutedbooleanMute or unmute the selected clip(s).
operationsarrayOrdered montage patch operations. Preferred over the legacy flat fields below.
promptstringUpdate the motion prompt for image-to-video montage items.
removebooleanRemove the selected clip(s) from the proposal.
speednumberPlayback speed multiplier.
start_timenumberTrim start time in seconds for legacy trim-range updates.
target_durationnumberDesired final clip length in seconds.
video_modelstringUpdate the video model for image-to-video montage items.

No output schema declared.

No examples provided.

update_preferences ~268

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.

NameTypeReqDescription
add_promptobjectPrompt to save: {text, category, is_favorite}
preferencesobjectPreference key-value updates. Model fields (default_model, default_edit_model, default_upscale_model, default_video_model, and process-level model) are explicit pins only; leave them unset for backen…

No output schema declared.

No examples provided.

upload_avatar_from_chat_file ~696

Batch upload reusable avatars/models from person photos the user attached in chat. Each photo becomes the upper_body_front identity anchor. Keep names and optional user-given age_range, build, and height_cm in avatars[], then pass top-level image_file_1, image_file_2, etc. in the same order. Traits are never guessed. No base64, no local paths. Do not use ordinary text-to-image results 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.

NameTypeReqDescription
age_rangestringOptional concrete age or age range. Never inferred.
avatarsarrayAvatar/model metadata in the same order as image_file_1, image_file_2, etc. No base64.
buildstringOptional concrete physical build. Never inferred.
descriptionobjectSingle recovered avatar metadata
file_namestringSingle recovered original file name
height_cmintegerOptional height in centimeters. Never inferred.
image_file_1Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_10Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_2Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_3Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_4Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_5Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_6Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_7Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_8Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_file_9Host-provided uploaded file reference for the matching item index when it has no image_url. Use the file object supplied by the host, not a bare file_... ID.
image_urlstringSingle resolved download URL used by automatic opaque-file recovery.
mime_typestringSingle recovered MIME/content type, e.g. image/png
namestringSingle recovered avatar/model name

No output schema declared.

No examples provided.

upload_garment_from_chat_file ~1,126

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.

NameTypeReqDescription
garmentsarrayyesGarment metadata. Put files in top-level image_file_1..image_file_20 and reference those exact field names inside each garment. No base64.
image_file_1Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_10Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_11Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_12Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_13Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_14Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_15Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_16Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_17Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_18Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_19Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_2Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_20Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_3Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_4Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_5Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_6Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_7Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_8Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.
image_file_9Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order.

No output schema declared.

No examples provided.

upload_garment_from_public_url ~396

Queue a recoverable batch upload from public HTTP(S) image URLs and return an operation immediately. Retry with the exact same arguments to read the stable operation state; retries do not create another upload. 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.

NameTypeReqDescription
assetsarraySingle garment full asset set. Use asset_kind/asset_view. Exactly one full front is required; full views are unique and detail views can repeat.
back_image_urlstringSingle optional public HTTP(S) back image URL
descriptionstringSingle item-level garment description hint
detail_image_urlsarraySingle optional public HTTP(S) detail image URLs
file_namestringSingle original file name
garmentsarrayGarments to upload from public HTTP(S) URLs. No chat file objects and no base64.
genderstringSingle garment gender: male, female, unisex
image_urlstringSingle public HTTP(S) front image URL
mime_typestringSingle MIME/content type, e.g. image/png
namestringSingle garment name
processing_modestringOptional image processing. 'background_removal' removes the background (the platform upload default); 'none' stores the image as-is. Omit to use background removal.
side_image_urlstringSingle optional public HTTP(S) side image URL

No output schema declared.

No examples provided.

view_image ~257

Analyze any image using AI vision for manual inspection, debugging, visual description, or supplemental critique. Provide exactly one source: generation_result_id for a Shoot Board generation, uploaded_file_id for a Files item, or image_url for a public HTTPS image. 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.

NameTypeReqDescription
generation_result_idintegerID of an existing generation result to analyze. Preferred for Shoot Board generation items because the server resolves the HTTPS image URL.
image_urlstringPublic HTTPS image URL to analyze. Optional if generation_result_id or uploaded_file_id is provided.
questionstringyesWhat to analyze: e.g. 'Is this a flat lay or worn on a model?', 'Does this need background removal?', 'Describe the garment details'. Do not use this as the primary tool for generation-result QA; use…
uploaded_file_idintegerID of an uploaded file to analyze. Use for items from the Files library.

No output schema declared.

No examples provided.

Common questions

What is the Uwear MCP server?

Uwear is an MCP server listed in the public MCP registry as ai.uwear/uwear. AI photoshoot studio: garments, avatars, locations, and art direction. This page covers its hosted endpoint (https://api.uwear.ai/mcp).

Is the Uwear MCP server safe to use?

Uwear scores 89 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Uwear MCP server expose?

Uwear exposes 66 tools: search_uwear_library, list_garments, get_garment, upload_garment_from_chat_file, upload_garment_from_public_url, and 61 more. Their descriptions and schemas cost roughly 13,666 tokens of context every time the server is loaded.

Does the Uwear MCP server require authentication?

Yes. Uwear asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the Uwear MCP server still maintained?

Uwear is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.