Uwear
REMOTE · API.UWEAR.AI
AI photoshoot studio: garments, avatars, locations, and art direction
Available components
Last scanned (11 hours ago)
Scores higher than 89% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Design and Media
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
- The authorisation server supports Client ID Metadata Documents, the current MCP client-registration mechanism. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability75
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 16336 tokens (~152/item across 107 items; 93 tools + 14 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 Management45
- Stability check failed: schema churn in the 30 days we've observed: 32 tool removals, 8 breaking changes, 0 auth/transport breaks, 59 additions. See how to fix → Fail
Tool Coverage94
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 78% of tool parameters carry a description.Partial
- Structured output schemas are declared (2% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 95 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
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.
- 2 Nov 26 0
- New tool “edit_montage”, which the server declares destructive security
- New tool “generate_montage_clips”, which the server declares destructive security
- Tool “mcp_export_montage” rewrote its description, which is the text the model reads security
- Tool “mcp_generate_clip” rewrote its description, which is the text the model reads security
- Tool “propose_montage” rewrote its description, which is the text the model reads security
- Tool “update_montage_proposal” rewrote its description, which is the text the model reads security
- New resource “video-guide” functional
- New tool “create_montage” functional
- New tool “export_montage” functional
- New tool “get_montage_run” functional
- New tool “list_montages” functional
- New tool “quote_montage” functional
- New tool “read_montage” functional
- New tool “read_video_guide” functional
- “propose_montage” reworded the description of “base_resolution” cosmetic
- “update_montage_proposal” reworded the description of “base_resolution” cosmetic
- 25 Oct 26 0
- A breaking change shipped without a version bump: still 2.0.0 ▼ security
- Tool “create_automation” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “update_automation”, which the server declares destructive security
- Tool “add_chat_photos_to_board” rewrote its description, which is the text the model reads security
- Tool “confirm_brief” rewrote its description, which is the text the model reads security
- Tool “list_templates” rewrote its description, which is the text the model reads security
- Tool “set_garment_side” rewrote its description, which is the text the model reads security
- Tool “update_brief” rewrote its description, which is the text the model reads security
- Tool coverage: 87% → 81% ▼ functional
- New tool “get_automation” functional
- New tool “plan_shoot_background_removal” functional
- New tool “plan_shoot_camera_change” functional
- New tool “plan_shoot_edit” functional
- New tool “plan_shoot_image” functional
- New tool “plan_shoot_upscale” functional
- New tool “plan_shoot_video” functional
- New tool “remove_shoot_image” functional
- New tool “remove_shoot_step” functional
- New tool “save_automation” functional
- “add_chat_photos_to_board” added an optional parameter “back_of” cosmetic
- “list_templates” added an optional parameter “created_by_profile_id” cosmetic
- “list_templates” added an optional parameter “kind” cosmetic
- “list_templates” added an optional parameter “sort” cosmetic
- “set_garment_side” added an optional parameter “from_garment_id” cosmetic
- “update_brief” added an optional parameter “expected_brief_revision” cosmetic
- “propose_brief” reworded the description of “recipe_workflow_id” cosmetic
- “update_brief” reworded the description of “recipe_workflow_id” cosmetic
- 24 Oct 26 0
- A breaking change shipped without a version bump: still 2.0.0 ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “confirm_brief” rewrote its description, which is the text the model reads security
- Tool “propose_brief” rewrote its description, which is the text the model reads security
- Tool “update_brief” rewrote its description, which is the text the model reads security
- “confirm_brief” added a required parameter “runs”, so existing callers break ▼ functional
- “confirm_brief” made “expected_total_credits” required, so existing callers break ▼ functional
- New tool “create_automation” functional
- “confirm_brief” reworded the description of “expected_total_credits” cosmetic
- “propose_brief” reworded the description of “direction” cosmetic
- “propose_brief” reworded the description of “image_model” cosmetic
- “propose_brief” reworded the description of “recipe_workflow_id” cosmetic
- “propose_brief” reworded the description of “video_model” cosmetic
- “update_brief” reworded the description of “direction” cosmetic
- “update_brief” reworded the description of “image_model” cosmetic
- “update_brief” reworded the description of “recipe_look_keys” cosmetic
- “update_brief” reworded the description of “recipe_workflow_id” cosmetic
- “update_brief” reworded the description of “video_model” cosmetic
- “propose_brief” dropped the optional parameter “output” cosmetic
- “propose_brief” dropped the optional parameter “recipe” cosmetic
- “update_brief” dropped the optional parameter “output” cosmetic
- “update_brief” dropped the optional parameter “recipe” cosmetic
- 23 Oct 26 0
- A breaking change shipped without a version bump: still 2.0.0 ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- Tool “confirm_brief” rewrote its description, which is the text the model reads security
- Tool “mcp_brief_runs” rewrote its description, which is the text the model reads security
- Tool “propose_brief” rewrote its description, which is the text the model reads security
- Tool “queue_generation_result_qa” rewrote its description, which is the text the model reads security
- Tool “save_art_direction” rewrote its description, which is the text the model reads security
- Tool “update_brief” rewrote its description, which is the text the model reads security
- “propose_brief” made “direction” required, so existing callers break ▼ functional
- New tool “list_automations” functional
- New tool “list_briefs” functional
- “propose_brief” added an optional parameter “image_model” cosmetic
- “propose_brief” added an optional parameter “video_model” cosmetic
- “confirm_brief” reworded the description of “idempotency_key” cosmetic
- “propose_brief” reworded the description of “direction” cosmetic
- “propose_brief” reworded the description of “output” cosmetic
- “propose_brief” reworded the description of “recipe_workflow_id” cosmetic
- “queue_generation_result_qa” reworded the description of “generation_result_ids” cosmetic
- “update_brief” reworded the description of “direction” cosmetic
- “update_brief” reworded the description of “image_model” cosmetic
- “update_brief” reworded the description of “output” cosmetic
- “update_brief” reworded the description of “recipe_workflow_id” cosmetic
- “update_brief” reworded the description of “video_model” cosmetic
- “propose_brief” dropped the optional parameter “from_brief_id” cosmetic
- 22 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “add_chat_photos_to_board” rewrote its description, which is the text the model reads security
- Tool “confirm_brief” rewrote its description, which is the text the model reads security
- Tool “get_brief” rewrote its description, which is the text the model reads security
- Tool “get_generation_results” rewrote its description, which is the text the model reads security
- Tool “get_generation_status” rewrote its description, which is the text the model reads security
- Tool “mcp_brief_runs” rewrote its description, which is the text the model reads security
- Tool “propose_brief” rewrote its description, which is the text the model reads security
- Tool “update_brief” rewrote its description, which is the text the model reads security
- New tool “set_garment_side” functional
- “add_chat_photos_to_board” added an optional parameter “sides” cosmetic
- “propose_brief” added an optional parameter “from_brief_id” cosmetic
- “propose_brief” added an optional parameter “output” cosmetic
- “update_brief” added an optional parameter “output” cosmetic
- “add_chat_photos_to_board” reworded the description of “upload_handles” cosmetic
- “confirm_brief” reworded the description of “idempotency_key” cosmetic
- “propose_brief” reworded the description of “direction” cosmetic
- “propose_brief” made “direction” optional cosmetic
- Tool “get_generation_results” changed its title: Get Generation Results → Show Results cosmetic
- Tool “get_generation_status” changed its title: Get Generation Status → Generation Status cosmetic
- Tool “mcp_brief_runs” changed its title: Brief Runs → Follow Brief Runs cosmetic
- 12 Oct 26 −5
We did not load change detail this far back for this component, so this day may have recorded more than is shown.
- Tool “add_avatar_reference” was removed ▼ security
- Tool “apply_backdrop” was removed ▼ security
- Tool “author_art_direction” was removed ▼ security
- Tool “build_avatar_prompt” was removed ▼ security
- Tool “copy_template_to_generate_node_config” was removed ▼ security
- Tool “create_art_direction” was removed ▼ security
- Tool “create_avatar_from_references” was removed ▼ security
- Tool “create_outfit_from_garment_ids” was removed ▼ security
- Tool “delete_template” was removed ▼ security
- Tool “duplicate_art_direction” was removed ▼ security
- Tool “estimate_cost” was removed ▼ security
- Tool “finish_local_garment_upload” was removed ▼ security
- Tool “generate_avatar” was removed ▼ security
- Tool “get_art_direction_authoring_job” was removed ▼ security
- Tool “get_connection_identity” was removed ▼ security
- Tool “get_garment” was removed ▼ security
- Tool “get_items_by_tag” was removed ▼ security
- Tool “get_location” was removed ▼ security
- Tool “get_outfit” was removed ▼ security
- Tool “get_template” was removed ▼ security
- Tool “iterate_art_direction” was removed ▼ security
- Tool “list_models” was removed ▼ security
- Tool “prepare_local_garment_upload” was removed ▼ security
- Tool “propose_outfits” was removed ▼ security
- Tool “save_generated_avatar” was removed ▼ security
- Injection markers: fail → pass ▲ security
- Tool “confirm_brief” rewrote its description, which is the text the model reads security
- Tool “get_brief” rewrote its description, which is the text the model reads security
- Tool “get_generation_results” rewrote its description, which is the text the model reads security
- Tool “get_generation_status” rewrote its description, which is the text the model reads security
- Tool “list_avatars” rewrote its description, which is the text the model reads security
- Tool “list_garments” rewrote its description, which is the text the model reads security
- Tool “mcp_add_context” rewrote its description, which is the text the model reads security
- Tool “mcp_clear_context” rewrote its description, which is the text the model reads security
- Tool “mcp_export_montage” rewrote its description, which is the text the model reads security
- Tool “mcp_generate_clip” rewrote its description, which is the text the model reads security
- Tool “mcp_get_context” rewrote its description, which is the text the model reads security
- Tool “mcp_list_files” rewrote its description, which is the text the model reads security
- Tool “mcp_replace_context” rewrote its description, which is the text the model reads security
- Tool “mcp_save_retouch” rewrote its description, which is the text the model reads security
- Tool “propose_brief” rewrote its description, which is the text the model reads security
- Tool “request_user_context” rewrote its description, which is the text the model reads security
- Tool “propose_brief” no longer declares itself destructive security
- Tool coverage: 100% → 87% ▼ functional
- Tool coverage: 18% → 3% ▼ functional
- “confirm_brief” added a required parameter “board_id”, so existing callers break ▼ functional
- “confirm_brief” added a required parameter “expected_brief_revision”, so existing callers break ▼ functional
- “confirm_brief” added a required parameter “idempotency_key”, so existing callers break ▼ functional
- “get_brief” added a required parameter “board_id”, so existing callers break ▼ functional
- “mcp_add_context” added a required parameter “board_id”, so existing callers break ▼ functional
- “mcp_add_context” added a required parameter “expected_revision”, so existing callers break ▼ functional
- “mcp_clear_context” added a required parameter “board_id”, so existing callers break ▼ functional
- “mcp_clear_context” added a required parameter “expected_revision”, so existing callers break ▼ functional
- “mcp_get_context” added a required parameter “board_id”, so existing callers break ▼ functional
- “mcp_replace_context” added a required parameter “board_id”, so existing callers break ▼ functional
- “mcp_replace_context” added a required parameter “expected_revision”, so existing callers break ▼ functional
- “propose_brief” added a required parameter “board_id”, so existing callers break ▼ functional
- “propose_brief” added a required parameter “direction”, so existing callers break ▼ functional
- “propose_brief” added a required parameter “looks”, so existing callers break ▼ functional
- “propose_brief” dropped the required parameter “commands” ▼ functional
- Schema quality: 225 → 163 ▲ functional
- Schema quality: excellent → good functional
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- “confirm_brief” added an optional parameter “expected_total_credits” cosmetic
- “get_generation_results” added an optional parameter “include_snapshot” cosmetic
- “get_generation_status” added an optional parameter “include_snapshot” cosmetic
- “mcp_add_context” added an optional parameter “board_version” cosmetic
- “mcp_clear_context” added an optional parameter “board_version” cosmetic
- “mcp_get_context” added an optional parameter “board_version” cosmetic
- “mcp_list_files” added an optional parameter “query” cosmetic
- “mcp_list_files” added an optional parameter “tag_ids” cosmetic
- “mcp_replace_context” added an optional parameter “board_version” cosmetic
- “propose_brief” added an optional parameter “recipe” cosmetic
- “propose_brief” added an optional parameter “recipe_workflow_id” cosmetic
- “propose_brief” added an optional parameter “title” cosmetic
- “propose_montage” added an optional parameter “board_id” cosmetic
- “request_user_context” added an optional parameter “board_id” cosmetic
- “confirm_brief” reworded the description of “brief_id” cosmetic
- “get_brief” reworded the description of “brief_id” cosmetic
- “get_generation_status” reworded the description of “generation_id” cosmetic
- “list_garments” reworded the description of “include_uncategorized” cosmetic
- “confirm_brief” dropped the optional parameter “execute” cosmetic
- “propose_brief” dropped the optional parameter “creative_context” cosmetic
- “propose_brief” dropped the optional parameter “execute_immediately” cosmetic
- Tool “confirm_brief” changed its title: Approve and Run Brief → Generate Brief cosmetic
- Tool “get_brief” changed its title: Reopen Saved Brief → Read Brief cosmetic
- Tool “list_avatars” changed its title: List Avatars → List Models cosmetic
- Tool “propose_brief” changed its title: Create Brief for Approval → Propose Brief cosmetic
- Tool “request_user_context” changed its title: Ask User to Pick Assets → New Shoot Board cosmetic
- 2 Oct 26 89
First indexed and scored.
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 5 Nov 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. | DS published | 1814, 3799 | 8, 8 | Verified |
| uwear.ai. | No DS | 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 |
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 →
mcp_review_generation_results Review Results ~76
The result viewer's review rail. Sets the user's verdict on their own results to approved or rejected, or clears it (decision null), replacing any verdict they had; deletes nothing and spends no credits.
| Name | Type | Req | Description |
|---|---|---|---|
| decision | string|null | yes | – |
| generation_result_ids | array | yes | – |
| note | string|null | – | – |
No output schema declared.
No examples provided.
mcp_save_retouch Save Retouched Image ~130
Save an edited image (image_base64) as a new child result of parent_generation_result_id. Changes no existing result.
| Name | Type | Req | Description |
|---|---|---|---|
| file_name | string|null | – | Optional filename for the saved retouched image |
| image_base64 | string | yes | Retouched image encoded as base64 or an image data URL |
| mime_type | string|null | – | Optional image MIME type; inferred from a data URL or defaults to image/png |
| operations | – | – | Optional retouch operation metadata stored with the child result |
| parent_generation_result_id | integer | yes | Generation result ID of the original image |
No output schema declared.
No examples provided.
mcp_set_generation_result_tags Set Result Tags ~77
Replace a result's tags with tag_ids (empty removes all), as PUT /generation-result/{id}/tags. The result viewer's tag tray. A tag that starts one of the user's automations starts it, as on the platform.
| Name | Type | Req | Description |
|---|---|---|---|
| generation_result_id | integer | yes | – |
| tag_ids | array | yes | – |
No output schema declared.
No examples provided.
mcp_update_tag Edit Tag ~58
Rename or recolor one of the company's tags, as PATCH /tag/{id}. The result viewer's tag tray.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string|null | – | – |
| name | string|null | – | – |
| tag_id | integer | yes | – |
No output schema declared.
No examples provided.
mcp_upload_intake_photo Upload Dropped Photo ~196
Store one photo dropped on the Shoot Board, sent inline as base64, for a host that cannot upload files itself. Returns a receipt (sha256, size, stored, image_url, image_url_expires_at); pass image_url to mcp_intake_files and mcp_commit_intake. Without data, stores nothing and returns the receipt of the photo already stored under sha256 (a fresh image_url), or stored: false.
| Name | Type | Req | Description |
|---|---|---|---|
| content_type | string | – | Image MIME type of data (required with data) |
| data | string | – | The image bytes, standard base64, at most 4 MiB decoded (downscale larger photos). Omit it to ask for the receipt of a photo already stored |
| sha256 | string | yes | Hex SHA-256 of the dropped file as the user picked it (the intake tools take the same value), even when data is a downscaled copy |
No output schema declared.
No examples provided.
mcp_workflow_assets Workflow Assets ~78
The automation builder reads library items (Clothing, Models, Locations, ...) of one kind by id to show them on its cards. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| ids | array | yes | – |
| kind | string | yes | – |
No output schema declared.
No examples provided.
mcp_workflow_cameras Cameras ~63
The camera views (front, side, back, crops) a shot or camera edit can use, for the automation builder. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
No output schema declared.
No examples provided.
mcp_workflow_contract Workflow Contract ~61
The automation format (step kinds and their settings) the automation builder edits against. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| contract_version | string | – | – |
No output schema declared.
No examples provided.
mcp_workflow_gallery Workflow Gallery ~107
The automation builder's picker: one page of the user's library items of one kind, filtered by search text, tags or category. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| categories | array | – | – |
| kind | string | yes | – |
| page | integer | – | – |
| page_size | integer | – | – |
| query | string | – | – |
| tag_ids | array | – | – |
No output schema declared.
No examples provided.
mcp_workflow_garment_categories Garment Categories ~52
The garment categories, for the automation builder's category filters. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
No output schema declared.
No examples provided.
mcp_workflow_tags Workflow Tags ~50
The account's tags, for the automation builder's tag filters. Read-only.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
No output schema declared.
No examples provided.
modify_shoot_board Change Shoot Board ~479
Use this when the user asks in chat to change what is on the open Shoot Board. add puts items on it; set replaces the whole item list (to remove items, send the ones to keep); clear empties one type, or without type starts a new shoot on the same board (its brief is unlinked; photos stay in the library); add_as_view makes from_garment_id's photo the back, side or detail view of garment_id and takes from_garment_id off the board, only after the user agrees the two show one garment. Items are {type, id} from search_uwear_library or read_shoot_board. To reuse an automation, add {type: automations, id: a workflow_id from brief_inputs.automations}: the board pins one and the next brief runs every look through it. Pass expected_revision from read_shoot_board; on revision_conflict, apply the change to the returned board once.
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | add: put items on the board; set: replace all items; clear: remove one type, or without type everything and the board's brief (a new shoot on this board); add_as_view: from_garment_id's photo becomes… |
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| expected_revision | integer | yes | Board revision this write is based on; a stale revision returns a revision_conflict error with the current board instead of overwriting it |
| from_garment_id | integer | – | add_as_view: the board garment whose photo it is; it leaves the board |
| garment_id | integer | – | add_as_view: the board garment that gains the photo as a view |
| items | array | – | add / set: the items. An automations item (id: a workflow_id from brief_inputs.automations) pins the Automation every look of the brief runs through; a board pins one, a new one replaces it. A board… |
| type | string | – | clear: only this type; omit for a new shoot (the whole board and its brief) |
| view | string | – | add_as_view: back, side, or detail (a close-up) |
No output schema declared.
No examples provided.
plan_shoot_background_removal Plan Shoot Background Removal ~194
Append or replace one background removal. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| step_index | integer | – | One-based dependent step to replace; omit to append. Each tool accepts only its own operation's settings. |
No output schema declared.
No examples provided.
plan_shoot_camera_change Plan Shoot Camera Change ~206
Append or replace one camera-view edit. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| camera_edit_id | string | yes | Camera edit preset. |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| step_index | integer | – | One-based dependent step to replace; omit to append. Each tool accepts only its own operation's settings. |
No output schema declared.
No examples provided.
plan_shoot_edit Plan Shoot Edit ~201
Append or replace one prompt-based image edit. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| prompt | string | yes | – |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| step_index | integer | – | One-based dependent step to replace; omit to append. Each tool accepts only its own operation's settings. |
No output schema declared.
No examples provided.
plan_shoot_image Plan Shoot Image ~223
Add a base image shot or revise its camera. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Shared photo format for the whole shoot. |
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| camera | string | yes | – |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| resolution | string | – | Shared photo resolution for the whole shoot. |
| shot_index | integer | – | One-based shot to revise; omit to append a new shot. Revising its camera retains dependent steps. |
No output schema declared.
No examples provided.
plan_shoot_upscale Plan Shoot Upscale ~200
Append or replace one image upscale. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| factor | number | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| step_index | integer | – | One-based dependent step to replace; omit to append. Each tool accepts only its own operation's settings. |
No output schema declared.
No examples provided.
plan_shoot_video Plan Shoot Video ~216
Append or replace one image-to-video step. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| length_seconds | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| prompt | string | – | – |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| sound | boolean | – | – |
| step_index | integer | – | One-based dependent step to replace; omit to append. Each tool accepts only its own operation's settings. |
No output schema declared.
No examples provided.
propose_brief Propose Brief ~311
Saves a new brief and shows it on the board: the looks to shoot, their direction and the Automation they run through. The previous brief is kept (one that ran stays in Brief History). Returns the saved brief, or the problems to fix.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| direction | – | yes | Required: what every shot of every look follows, exactly what Generate runs: prompt, art_direction_id (a saved art direction), or both. Write one direction for every look from what the user wants (se… |
| image_model | string | – | The shoot's image model: a slug from brief_inputs.ai_models (omit: kept). |
| looks | array | yes | The looks to shoot, each one outfit worn in the shoot, with ids from read_shoot_board. |
| recipe_workflow_id | string | – | The Automation every look runs through, as it is saved: a workflow_id from brief_inputs.automations or save_automation. Omitted while the board pins one (brief_inputs.pinned_automation): every look r… |
| title | string | – | The shoot's name, only in the user's own words; otherwise leave it out. |
| video_model | string | – | The shoot's video model: a slug from brief_inputs.ai_models (omit: kept). |
No output schema declared.
No examples provided.
propose_montage Create Video Montage ~473
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. Prefer create_montage / edit_montage for a saved montage the user can open in Uwear.
| Name | Type | Req | Description |
|---|---|---|---|
| aspect_ratio | string | – | Output aspect ratio (e.g. '9:16', '16:9', '1:1') |
| base_resolution | integer | – | Long edge of the output in pixels; 1920 for a 1080x1920 reel. |
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| items | array | yes | Ordered list of montage items. Each is either an existing video or an image needing video generation. Min 1, max 10. |
No output schema declared.
No examples provided.
queue_generation_result_qa Run QA on Results ~205
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. QA is free. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| generation_result_ids | array | yes | Generation result IDs to QA. QA is free. |
| max_qa_retries | integer | – | Maximum QA-triggered retry generations to allow. Retry generations can cost additional generation credits. |
No output schema declared.
No examples provided.
quote_montage Quote Montage ~52
Quote selected clip IDs, or omit clip_ids for every clip still to generate. Show the clips and total credits to the user before generating.
| Name | Type | Req | Description |
|---|---|---|---|
| clip_ids | – | – | – |
| montage_id | string | yes | – |
No output schema declared.
No examples provided.
read_generation_result_qa Read QA Results ~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.
| Name | Type | Req | Description |
|---|---|---|---|
| generation_result_ids | array | yes | Generation result IDs to read QA for |
No output schema declared.
No examples provided.
read_montage Read Montage ~44
Read a saved montage, clip IDs, revision and current quote. Use montage.revision as base_revision for edit_montage.
| Name | Type | Req | Description |
|---|---|---|---|
| montage_id | string | yes | – |
No output schema declared.
No examples provided.
read_shoot_board Read Shoot Board ~125
Use this before modify_shoot_board, propose_brief or update_brief: the user changes the board in the widget at any time. Returns the board's items (Clothing, Models, Outfits, Locations, art directions, files, results) with ids and names, its revision, its linked brief_id, and brief_inputs: the guide, asset facts, automations, cameras, AI models and limits a brief is written from. Changes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
No output schema declared.
No examples provided.
read_video_guide Read Video Guide ~64
Read the shared video guide and current model advice, capabilities and prices. Call it in each turn that plans clips or changes how a clip is made. Pass kind to select that section, or omit it for all kinds. Changes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| kind | string | – | – |
No output schema declared.
No examples provided.
remove_shoot_image Remove Shoot Image ~166
Remove one base shot and its dependent steps. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
No output schema declared.
No examples provided.
remove_shoot_step Remove Shoot Step ~174
Remove one dependent step and reconnect its successor. Revises the selected looks using the named brief flow (default: all its looks); requires the current brief revision. Photo format is shared across the shoot. Returns a new brief and quote. No media generation, credit charge or library change. Read the returned recipe_key before the next edit.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| look_keys | array | – | Affected looks using this flow; omit for every look using it. Other looks retain their flow. |
| recipe_key | string | yes | Flow from the current brief. |
| shot_index | integer | yes | – |
| step_index | integer | yes | – |
No output schema declared.
No examples provided.
request_user_context New Shoot Board ~218
Use this when the user wants a photoshoot and you have no board_id yet. Creates a new, empty Uwear Shoot Board and returns its board_id, which every other Shoot Board tool takes. This client shows no widget: build the shoot with tools (search_uwear_library, modify_shoot_board, propose_brief) and tell the user what is on the board. prompt: one line describing the shoot; expected_types: what it needs.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| expected_types | array | yes | Accepted item types (match panel tabs): 'clothing', 'models', 'outfits', 'generations', 'files'. Legacy 'file' is accepted as an alias for 'files'. |
| min_items | integer | – | Minimum number of items the user must provide |
| prompt | string | yes | Instruction 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_art_direction Save Art Direction ~443
Use this when the user asks to create, write or save an art direction, or the board's New art direction asks for one: write it from their words, the chat and the board, and save it in the same turn. Saves it to the library and makes it the board's one art direction, replacing the previous one (which stays in the library). Fill every section with concrete, photographable choices. It applies to every look, so it names no garment, outfit, Model or Location (text naming a board item is refused). If the board has a brief, apply it with update_brief direction.art_direction_id. If the result lists problems, fix them all and call again.
| Name | Type | Req | Description |
|---|---|---|---|
| avoid | array | – | What never appears, one per line. |
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| camera | string | yes | Framing, angle, lens feel and distance (e.g. eye-level 50mm, full body with headroom). |
| light | string | yes | Direction, softness, colour temperature and shadows (e.g. low warm sun from the left, long soft shadows). |
| mood | string | yes | The feeling and the pose language: energy, expression, how the model moves. |
| must_keep | array | – | Rules every photo keeps, one per line (the user's own must-haves). |
| name | string | yes | Its title, 2-6 words, the one you used in chat (never Untitled or Art direction). |
| overview | string | yes | What the photos should feel like overall, in 1-2 sentences. |
| palette | string | yes | The colours of set, light and styling (e.g. terracotta, sand, washed olive). |
| setting | string | yes | Where it is shot: studio backdrop or place, surfaces, props. |
| styling | string | yes | How the clothes are worn, hair, makeup, accessories, footwear. |
| variations | array | – | Only when the user wants variety across photos: each a name (Pose, Backdrop) and 2-6 complete alternatives Uwear rotates through. |
No output schema declared.
No examples provided.
save_automation Save Reusable Automation ~119
Save one flow from a reviewed brief as a new reusable library Automation, with its current shots, dependent steps and settings. Does not modify the brief, generate media or charge credits.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| name | string | yes | Name of the reusable library Automation to save. |
| recipe_key | string | yes | The flow's key in the brief's recipes list. |
No output schema declared.
No examples provided.
save_reference_file_from_chat_file Save Reference Images ~619
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 Clothing or Models.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| file_name | string | – | Single recovered display name |
| files | array | – | Reference file metadata in the same order as image_file_1, image_file_2, etc. No base64. |
| image_file_1 | object | – | Host-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_10 | object | – | Host-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_2 | object | – | Host-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_3 | object | – | Host-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_4 | object | – | Host-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_5 | object | – | Host-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_6 | object | – | Host-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_7 | object | – | Host-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_8 | object | – | Host-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_9 | object | – | Host-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_url | string | – | Single resolved download URL used by automatic opaque-file recovery. |
| mime_type | string | – | Single recovered MIME/content type, e.g. image/png |
No output schema declared.
No examples provided.
search_uwear_library Search Library ~254
Use this when the user names Clothing, Models, Locations, art directions, files or past results in chat and you need their ids. Takes a short keyword query (2-5 words, or an exact name, SKU or id) and returns typed ids, names and thumbnails. It finds items; it does not recommend them. Changes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| exclude_clothing_item_ids | array | – | Exclude these garment IDs after ranking and before the result limit; other item types are unaffected. |
| item_types | array | – | Optional item types to search. Omit to search clothing, avatars/models, locations, art directions, uploaded files, and generation results. |
| limit | integer | – | Maximum number of hybrid matches to return |
| query | string | yes | Short keyword query: 2 to 5 words, one concept per call, or an exact name/SKU/ID. Every word must match for lexical results, so long sentences can return no lexical matches. Describing a garment find… |
| refresh_index | boolean | – | Deprecated compatibility input. No index refresh is performed, even when true. Search uses the maintained index and current lexical metadata. Leave false. |
No output schema declared.
No examples provided.
set_garment_side Set Garment Side ~277
Use this when a garment's photo shows its back but Uwear has it as the front (or the other way round): you saw the photo in this chat, or the user says so. side back makes the photo the garment's back, so back shots run from it; front undoes that. When the board holds the same garment twice, front and back photos as two garments, pass garment_id (the front) with side back and from_garment_id (the back): one garment with both photos. Call it yourself and continue (confirm_brief if the user asked to run): never ask the user to relabel a photo on the board. The board's brief is saved again with its new quote. Deletes nothing.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| from_garment_id | integer | – | side back only: a board garment whose photo is garment_id's back (the same garment added twice). Its photo becomes garment_id's back; it leaves the board, kept in the library |
| garment_id | integer | yes | the garment (clothing id on the board, or worn by a look of its brief) |
| side | string | yes | what its photo shows: back makes it the garment's back photo |
No output schema declared.
No examples provided.
set_generation_result_favorite Favorite Result ~76
The result viewer's star. Marks one of the user's own generation results as a favorite (favorite true) or removes the mark (false); deletes nothing and spends no credits.
| Name | Type | Req | Description |
|---|---|---|---|
| generation_result_id | integer | yes | The generation result ID |
| is_favorite | boolean | yes | True to favorite, false to unfavorite |
No output schema declared.
No examples provided.
show_in_shoot_board Show in Shoot Board ~203
Moves a Shoot Board that is open in a widget to a view (board, brief, automation, results, brief_history). This client shows no widget, so it changes nothing the user sees: read the board, brief or results with read_shoot_board, get_brief or get_generation_results and tell the user.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| look_key | string | – | brief / results: the look to bring forward (a key of the brief's looks) |
| view | string | yes | board: the board's photos (Clothing, Models, Locations, references, the pinned Automation); brief: the brief's looks beside its automation (once it ran, each look with its photos and videos); automat… |
No output schema declared.
No examples provided.
update_automation Update Reusable Automation ~152
Publish the reviewed flow identified by brief_id, revision and recipe_key as a new version of an existing reusable Automation. Requires its current definition hash. Accepts no operation definitions. Existing shoot snapshots remain unchanged. No media generation or charge.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | – |
| expected_brief_revision | integer | yes | – |
| expected_definition_hash | string | yes | Current library hash; stale edits are refused. |
| recipe_key | string | yes | The flow's key in the brief's recipes list. |
| workflow_id | string | yes | Reusable Automation to version using the reviewed brief flow named here. |
No output schema declared.
No examples provided.
update_brief Revise Brief ~358
Revise shoot looks, direction or model settings, or assign a saved Automation by ID. Accepts no operation definitions; use the separately published plan_shoot tools to change individual steps. Returns the revised plan and quote. No media generation, credit charge or reusable-library write.
| Name | Type | Req | Description |
|---|---|---|---|
| board_id | string | yes | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| brief_id | integer | yes | The brief being revised: the board's brief_id from read_shoot_board. |
| direction | – | – | A new Direction for the whole shoot, replacing the brief's (omit: kept): prompt, art_direction_id (a saved art direction), or both. Write one direction for every look from what the user wants (settin… |
| expected_brief_revision | integer | – | – |
| image_model | string | – | The shoot's image model: a slug from brief_inputs.ai_models (omit: kept). |
| looks | array | yes | The complete new look list (not a diff); an unchanged look keeps its key. |
| recipe_look_keys | array | – | The looks (keys you send) that move to recipe_workflow_id; omit for every look. |
| recipe_workflow_id | string | – | The Automation the looks below move to, run as it is saved: a workflow_id from brief_inputs.automations or save_automation. |
| title | string | – | A new name for the shoot, only the user's own words (omit: kept). |
| video_model | string | – | The shoot's video model: a slug from brief_inputs.ai_models (omit: kept). |
No output schema declared.
No examples provided.
update_montage_proposal Update Video Montage ~559
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. Prefer create_montage / edit_montage for a saved montage the user can open in Uwear.
| Name | Type | Req | Description |
|---|---|---|---|
| apply_to_all | boolean | – | Apply changes to every clip in the current montage proposal. |
| aspect_ratio | string | – | Update the montage output aspect ratio. |
| base_resolution | integer | – | Update the long edge of the montage output in pixels; 1920 for a 1080x1920 reel. |
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| clear_trim | boolean | – | For video clips, remove trim bounds and restore the full clip length in the proposal. |
| clip_number | integer | – | 1-based clip number to update. Omit when apply_to_all=true. |
| clip_numbers | array | – | Optional list of 1-based clip numbers to update together. |
| end_time | number | – | Trim end time in seconds for legacy trim-range updates. |
| generate_audio | boolean | – | Enable or disable generated audio for image-to-video montage items. |
| last_frame_url | string | – | Optional last-frame URL for image-to-video montage items. |
| muted | boolean | – | Mute or unmute the selected clip(s). |
| operations | array | – | Ordered montage patch operations. Preferred over the legacy flat fields below. |
| prompt | string | – | Update the motion prompt for image-to-video montage items. |
| remove | boolean | – | Remove the selected clip(s) from the proposal. |
| speed | number | – | Playback speed multiplier. |
| start_time | number | – | Trim start time in seconds for legacy trim-range updates. |
| target_duration | number | – | Desired final clip length in seconds. |
| video_model | string | – | Update the video model for image-to-video montage items. |
No output schema declared.
No examples provided.
upload_avatar_from_chat_file Upload Models from Chat ~724
Batch upload reusable 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 only when the user explicitly wants a specific or consistent person.
| Name | Type | Req | Description |
|---|---|---|---|
| age_range | string | – | Optional concrete age or age range. Never inferred. |
| avatars | array | – | Avatar/model metadata in the same order as image_file_1, image_file_2, etc. No base64. |
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| build | string | – | Optional concrete physical build. Never inferred. |
| description | object | – | Single recovered avatar metadata |
| file_name | string | – | Single recovered original file name |
| height_cm | integer | – | Optional height in centimeters. Never inferred. |
| image_file_1 | object | – | Host-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_10 | object | – | Host-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_2 | object | – | Host-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_3 | object | – | Host-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_4 | object | – | Host-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_5 | object | – | Host-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_6 | object | – | Host-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_7 | object | – | Host-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_8 | object | – | Host-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_9 | object | – | Host-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_url | string | – | Single resolved download URL used by automatic opaque-file recovery. |
| mime_type | string | – | Single recovered MIME/content type, e.g. image/png |
| name | string | – | Single recovered avatar/model name |
No output schema declared.
No examples provided.
upload_garment_from_public_url Upload Clothing from URL ~389
Upload Clothing from public HTTP(S) image URLs. Queues a recoverable batch upload and returns an operation immediately; retry with the exact same arguments to read its state (a retry creates no second upload). Photos are stored as uploaded, without background removal; processing_mode is ignored. 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. No base64, chat file objects, or local paths.
| Name | Type | Req | Description |
|---|---|---|---|
| assets | array | – | Single 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_url | string | – | Single optional public HTTP(S) back image URL |
| board_id | string | – | The open Shoot Board's board_id, from Open Shoot Board or your context. |
| description | string | – | Single item-level garment description hint |
| detail_image_urls | array | – | Single optional public HTTP(S) detail image URLs |
| file_name | string | – | Single original file name |
| garments | array | – | Garments to upload from public HTTP(S) URLs. No chat file objects and no base64. |
| gender | string | – | Single garment gender: male, female, unisex |
| image_url | string | – | Single public HTTP(S) front image URL |
| mime_type | string | – | Single MIME/content type, e.g. image/png |
| name | string | – | Single garment name |
| processing_mode | string | – | Optional image processing. 'background_removal' removes the background (the platform upload default); 'none' stores the image as-is. Omit to use background removal. |
| side_image_url | string | – | Single optional public HTTP(S) side image URL |
No output schema declared.
No examples provided.
uwear_settings_read Read Photoshoot Settings ~37
Read the user's saved photoshoot defaults (aspect ratio, camera, resolution) with every allowed value. Backs the plugin settings page.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| layout | array | – | – |
| schema | object | yes | – |
| values | object | yes | – |
No examples provided.
uwear_settings_update Update Photoshoot Settings ~49
Save changed photoshoot defaults (aspect ratio, camera, resolution). Send only the settings that changed; returns every current value. Defaults never authorize a paid generation.
| Name | Type | Req | Description |
|---|---|---|---|
| set | object | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| values | object | yes | – |
No examples provided.
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
claude mcp add --transport http ai-uwear-uwear 'https://api.uwear.ai/mcp'
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 84 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 93 tools: request_user_context, read_shoot_board, search_uwear_library, modify_shoot_board, show_in_shoot_board, and 88 more. Their descriptions and schemas cost roughly 15,978 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 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the Uwear MCP server?
VerifyMCP ran 13 checks on Uwear, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.