Uwear
by uwear.ai · remote · no sign-in to list tools · v1.0.0 · published by ai.uwear
AI photoshoot studio: garments, avatars, locations, and art direction
70 tools: 16 can delete or cancel things, 31 change things and 23 only read.
Scanned Oct 21, 2026
- Deletes or cancels16Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things31Claude Code: ask: see these tools
- Only reads23Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http uwear https://api.uwear.ai/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnget_brief
The server marks "get_brief" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_brief" says "get": a word for reading.
- Warnmcp_brief_runs
The server marks "mcp_brief_runs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "mcp_brief_runs" says "run": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
70 tools
Deletes or cancels 16Claude Code: deny
confirm_briefGenerate a Shoot Board brief: publishes its automation drafts, then starts one workflow run per look, charged per run.No findings
Why it is in this group
- The description's first verb is "generate": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Generate a Shoot Board brief: publishes its automation drafts, then starts one workflow run per look, charged per run. Spends credits: call it only after the user has seen the brief's looks and credit quote (get_brief) and agreed in chat. Pass the board's brief_revision (read_shoot_board) as expected_brief_revision and a fresh idempotency_key; the same idempotency_key never publishes, runs or charges twice. Follow the runs with mcp_brief_runs.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Generate Brief
mcp_add_garment_viewA Clothing card dropped on another.No findings
Why it is in this group
- The name "mcp_add_garment_view" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it A Clothing card dropped on another. The photo of from_garment_id becomes the back, side or detail view of garment_id, and from_garment_id leaves the board (deleted only when it is a fresh drop nothing else uses). Or a photo put in the brief's missing-photo slot: image_url instead of from_garment_id, nothing leaves the board. The board's draft brief is saved again when the view changes it. Returns the board (and brief); asking again answers status unchanged.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
mcp_clear_contextClear all Shoot Board items, or only one context type.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Clear all Shoot Board items, or only one context type.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mcp_delete_generation_resultsDelete the user's results and their stored images, as the platform's Delete.No findings
Why it is in this group
- The name "mcp_delete_generation_results" says "delete": a word for removing or ending something.
- The description says "Cannot be undone".
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Delete the user's results and their stored images, as the platform's Delete. Cannot be undone: call it only after the user confirmed in chat which results to delete.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Delete Results
mcp_export_montageExport montage clips as one stitched video.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Export montage clips as one stitched video. Spends credits: call it only after the user confirmed the clips and their order in chat. Returns the generation_id to poll with get_generation_status.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- title: Export Montage Video
mcp_generate_clipQueue an image-to-video generation for one montage clip.No findings
Why it is in this group
- The name "mcp_generate_clip" says "generate": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Queue an image-to-video generation for one montage clip. Spends credits: call it only after the user agreed in chat. Returns the generation_id to poll with get_generation_status.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: true
- title: Generate Montage Clip
mcp_recipe_save_draftSave the automation's draft.No findings
Why it is in this group
- The name "mcp_recipe_save_draft" says "save": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Save the automation's draft.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
mcp_reclassify_board_itemMove a Shoot Board photo between the Clothing, Models and Locations piles.No findings
Why it is in this group
- The description's first verb is "move": a word for a change.
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Move a Shoot Board photo between the Clothing, Models and Locations piles. Saves the same image as the new kind and swaps it on the board; the old asset is deleted only if intake saved it in the last 24 hours and nothing uses it, otherwise it stays in the library. Asking for a move that already happened changes nothing and returns the board (status "unchanged").
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mcp_replace_contextReplace the Uwear Shoot Board items.No findings
Why it is in this group
- The name "mcp_replace_context" says "replace": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Replace the Uwear Shoot Board items.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mcp_review_generation_resultsThe result viewer's review rail.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mcp_set_generation_result_tagsReplace a result's tags with tag_ids (empty removes all), as PUT /generation-result/{id}/tags.No findings
Why it is in this group
- The name "mcp_set_generation_result_tags" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
mcp_update_tagRename or recolor one of the company's tags, as PATCH /tag/{id}.No findings
Why it is in this group
- The name "mcp_update_tag" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Rename or recolor one of the company's tags, as PATCH /tag/{id}. The result viewer's tag tray.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
modify_shoot_boardUse this when the user asks in chat to change what is on the open Shoot Board.No findings
Why it is in this group
- The name "modify_shoot_board" says "modify": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- title: Change Shoot Board
queue_generation_result_qaDefault tool for generation-result QA.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Default tool for generation-result QA. Use this whenever the user asks to QA, quality check, validate, review, inspect for defects, approve/reject, or assess already-created generation results. Do not substitute view_image for QA unless the user explicitly asks for a manual visual critique instead of the official Uwear QA pipeline. First identify the numeric generation_result_ids, then call this tool, then call read_generation_result_qa for the same IDs. Queued or requeued QA costs 1 credit per generation result; already-completed QA rows are not charged again. QA is built for scale — validating large batches (hundreds or thousands of results). When the user is iterating on a handful of results one by one, do not queue QA on your own initiative; run it when the user asks for it or when operating at batch scale.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: false
- openWorldHint: false
- title: Run QA on Results
set_generation_result_favoriteThe result viewer's star.No findings
Why it is in this group
- The name "set_generation_result_favorite" says "set": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
- title: Favorite Result
uwear_settings_updateSave changed photoshoot defaults (aspect ratio, camera, resolution).No findings
Why it is in this group
- The name "uwear_settings_update" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Save changed photoshoot defaults (aspect ratio, camera, resolution). Send only the settings that changed; returns every current value. Defaults never authorize a paid generation.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: false
Changes things 31Claude Code: ask
add_chat_photos_to_boardUse this when the user attaches images in this chat and wants them in Uwear, on the Shoot Board or in a shoot: clothing, a Model, a Location or a reference.No findings
Why it is in this group
- The name "add_chat_photos_to_board" says "add": a word for a change.
Description, as the server wrote it Use this when the user attaches images in this chat and wants them in Uwear, on the Shoot Board or in a shoot: clothing, a Model, a Location or a reference. Put each attachment in its own field, image_file_1, image_file_2, ... in attachment order, as the chat provides it: ChatGPT passes the file itself, also when you see only a file name or path. Chat attachments only: a web address is refused (ask the user to attach that photo). kinds: {image_file_N: garment|avatar|location|reference} for photos whose kind the user said or is clear (avatar: a person to use as a Model); Uwear sorts the rest. Saves each photo to the library (a repeat is reused), adds it to the board and returns its pile and asset id for propose_brief / update_brief. A photo returned unsure lists two candidates: ask the user and call again with the same files and kinds.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Add Chat Photos to Board
create_locationCreate a reusable location/scene reference from an image URL.No findings
Why it is in this group
- The name "create_location" says "create": a word for a change.
Description, as the server wrote it Create a reusable location/scene reference from an image URL. If no description is supplied, the backend analyzes the image. Use the returned location_id in propose_brief/update_brief.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Create Location
create_tagCreate a new tag for organizing assets (garments, models, outfits, files, results, locations).No findings
Why it is in this group
- The name "create_tag" says "create": a word for a change.
Description, as the server wrote it Create a new tag for organizing assets (garments, models, outfits, files, results, locations). Requires an active company workspace.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Create Tag
get_briefRead one of the account's Shoot Board briefs by brief_id: its looks, automations, credit quote and status.1 finding
Why it is in this group
- The name "get_brief" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_brief" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_brief" says "get": a word for reading.
Description, as the server wrote it Read one of the account's Shoot Board briefs by brief_id: its looks, automations, credit quote and status. Changes nothing.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Read Brief
mcp_add_contextAppend items to the Uwear Shoot Board.No findings
Why it is in this group
- The name "mcp_add_context" says "add": a word for a change.
Description, as the server wrote it Append items to the Uwear Shoot Board.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
mcp_brief_runsEvery look's run of a generating brief (brief_id), or runs by id (workflow_run_ids, each with the look its cards held): status, results by step, credits.1 finding
Why it is in this group
- The name "mcp_brief_runs" says "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "mcp_brief_runs" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "mcp_brief_runs" says "run": a word for a change.
Description, as the server wrote it Every look's run of a generating brief (brief_id), or runs by id (workflow_run_ids, each with the look its cards held): status, results by step, credits.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_commit_intakeSave sorted Shoot Board photos to the library as garments, avatars, locations or reference files, skip ones already saved, and add them to the Shoot Board at expected_revision; a b…No findings
Why it is in this group
- The name "mcp_commit_intake" says "commit": a word for a change.
Description, as the server wrote it Save sorted Shoot Board photos to the library as garments, avatars, locations or reference files, skip ones already saved, and add them to the Shoot Board at expected_revision; a board that changed is refused before anything is saved (revision_conflict with the current board).
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
mcp_edit_briefEdit the Shoot Board's brief by hand: add, remove or change looks, or run looks through another automation.No findings
Why it is in this group
- The name "mcp_edit_brief" says "edit": a word for a change.
Description, as the server wrote it Edit the Shoot Board's brief by hand: add, remove or change looks, or run looks through another automation. Saves a new brief linked to the board and returns the board, the brief, its quote and the credit delta; dry_run only quotes.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
mcp_extract_video_frameSave a still frame of a video result as a new image result, as POST /generation-result/{id}/extract-frame.No findings
Why it is in this group
- The description's first verb is "save": a word for a change.
Description, as the server wrote it Save a still frame of a video result as a new image result, as POST /generation-result/{id}/extract-frame. The result viewer's Save frame.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
mcp_intake_filesSort photos dropped on the Shoot Board into garment, avatar, location or reference (or unsure with two candidates) and report duplicates within the drop and in the library.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Sort photos dropped on the Shoot Board into garment, avatar, location or reference (or unsure with two candidates) and report duplicates within the drop and in the library. Saves nothing. A photo the call had no time left for comes back with error deferred: send it again.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
mcp_recipe_copyCopy an automation as a new automation for this shoot.No findings
Why it is in this group
- The name "mcp_recipe_copy" says "copy": a word for a change.
Description, as the server wrote it Copy an automation as a new automation for this shoot.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
mcp_recipe_historyAn automation's past runs, newest first: one row per Shoot Board Generate (its looks) or per run started on Uwear, with when, how it went, credits and covers.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it An automation's past runs, newest first: one row per Shoot Board Generate (its looks) or per run started on Uwear, with when, how it went, credits and covers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_recipe_openOpen the brief's automation in the builder: its draft, or once Generate published it its live version (saving an edit of it makes a new automation); another automation opens read-o…No findings
Why it is in this group
- The name "mcp_recipe_open" says "open": a word for a change.
Description, as the server wrote it Open the brief's automation in the builder: its draft, or once Generate published it its live version (saving an edit of it makes a new automation); another automation opens read-only.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
mcp_save_retouchSave an edited image (image_base64) as a new child result of parent_generation_result_id.No findings
Why it is in this group
- The name "mcp_save_retouch" says "save": a word for a change.
Description, as the server wrote it Save an edited image (image_base64) as a new child result of parent_generation_result_id. Changes no existing result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Save Retouched Image
mcp_upload_intake_photoStore one photo dropped on the Shoot Board, sent inline as base64, for a host that cannot upload files itself.No findings
Why it is in this group
- The name "mcp_upload_intake_photo" says "upload": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_assetsThe automation builder reads library items (Clothing, Models, Locations, ...) of one kind by id to show them on its cards.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The automation builder reads library items (Clothing, Models, Locations, ...) of one kind by id to show them on its cards. Read-only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_camerasThe camera views (front, side, back, crops) a shot or camera edit can use, for the automation builder.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The camera views (front, side, back, crops) a shot or camera edit can use, for the automation builder. Read-only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_contractThe automation format (step kinds and their settings) the automation builder edits against.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The automation format (step kinds and their settings) the automation builder edits against. Read-only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_galleryThe automation builder's picker: one page of the user's library items of one kind, filtered by search text, tags or category.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_garment_categoriesThe garment categories, for the automation builder's category filters.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The garment categories, for the automation builder's category filters. Read-only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_workflow_tagsThe account's tags, for the automation builder's tag filters.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it The account's tags, for the automation builder's tag filters. Read-only.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
propose_briefUse this when the user describes a shoot.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Use this when the user describes a shoot. Saves a brief, the looks to shoot and the automation they run through, and links it to the board in place of the current one. Nothing runs or is charged: show the user the looks and the credit quote (get_brief), and generate with confirm_brief only after they agree. Read the board first with read_shoot_board and follow brief_inputs.guide. If the result lists problems, fix them all and call again.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Propose Brief
propose_montageONLY for video montage/stitching/export workflows.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Create Video Montage
request_user_contextUse this when the user wants a photoshoot and you have no board_id yet.No findings
Why it is in this group
- The name "request_user_context" says "request": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: New Shoot Board
save_art_directionUse 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…No findings
Why it is in this group
- The name "save_art_direction" says "save": a word for a change.
Description, as the server wrote it 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 art_direction_id. If the result lists problems, fix them all and call again.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Save Art Direction
save_reference_file_from_chat_fileBatch save reference images from chat attachments into the Files library.No findings
Why it is in this group
- The name "save_reference_file_from_chat_file" says "save": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Save Reference Images
show_in_shoot_boardMoves a Shoot Board that is open in a widget to a view (board, brief, automation, results, brief_history).No findings
Why it is in this group
- The name "show_in_shoot_board" says "show": a word for reading.
- The description's first verb is "move": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Show in Shoot Board
update_briefUse this when the user asks in chat to change the board's brief: its looks, Models, outfits, Locations, references, name, shots and steps, AI model or art direction.No findings
Why it is in this group
- The name "update_brief" says "update": a word for a change.
Description, as the server wrote it Use this when the user asks in chat to change the board's brief: its looks, Models, outfits, Locations, references, name, shots and steps, AI model or art direction. Send the complete replacement look list with the brief_id it replaces, keeping each unchanged look's key. Shots or steps: recipe with the complete new shot list (recipe_look_keys for some looks only) or recipe_workflow_id. AI model only: image_model / video_model. Art direction only: art_direction_id. Saves the revised brief on the board; nothing runs. If the result lists problems, fix them all and call again; on revision_conflict, read the board and revise its current brief.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Revise Brief
update_montage_proposalPatch the latest MontageProposal already shown in the UI.No findings
Why it is in this group
- The name "update_montage_proposal" says "update": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
- title: Update Video Montage
upload_avatar_from_chat_fileBatch upload reusable Models from person photos the user attached in chat.No findings
Why it is in this group
- The name "upload_avatar_from_chat_file" says "upload": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Upload Models from Chat
upload_garment_from_public_urlUpload Clothing from public HTTP(S) image URLs.No findings
Why it is in this group
- The name "upload_garment_from_public_url" says "upload": a word for a change.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- title: Upload Clothing from URL
Only reads 23Claude Code: allow
get_art_directionGet a selectable ArtDirection by ID.No findings
Why it is in this group
- The name "get_art_direction" says "get": a word for reading.
Description, as the server wrote it Get a selectable ArtDirection by ID.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get Art Direction
get_generation_resultsLook up generation results by exact IDs, filters, or hybrid image/name/SKU search.No findings
Why it is in this group
- The name "get_generation_results" says "get": a word for reading.
Description, as the server wrote it Look up generation results by exact IDs, filters, or hybrid image/name/SKU search. Returns labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Every result includes generation_result_id and the response includes generation_result_ids; use those exact integers for queue_generation_result_qa/read_generation_result_qa or as durable generation_result command.source values in canonical edit, upscale, and video commands. Confirmation-gated clients use propose_brief(commands=[...], execute_immediately=true) when the user asked to run now, update_brief for a complete command replacement, or confirm_brief(execute=true) for a visible brief. Pass generation_result_id to fetch one result or generation_id to list a job's results. Defaults to compact result metadata. Set include_snapshot=true to recover full settings, resource snapshots and prior prompts. Use start_date/end_date for requests like 'last week'.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get Generation Results
get_generation_statusCheck generation job status.No findings
Why it is in this group
- The name "get_generation_status" says "get": a word for reading.
Description, as the server wrote it Check generation job status. Completed results may include labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Returns compact status, parent/child generation IDs, camera, avatar_id, model_id, model_slug, use_case, net credits_charged, credits_refunded, estimated_processing_seconds, and status_guidance. Failed jobs also return a safe error_message and error_type (user, transient, or provider). Set include_snapshot=true to recover full settings, resource snapshots and prior prompts. Status can remain Created while queued/preparing; avoid tight polling loops. UI 'Gemini Pro' maps to model_slug nano-banana-pro or nano_banana_pro_clothing.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get Generation Status
get_user_creditsGet user's current credit balance.No findings
Why it is in this group
- The name "get_user_credits" says "get": a word for reading.
Description, as the server wrote it Get user's current credit balance.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Get Credit Balance
list_art_directionsList selectable ArtDirections as compact summaries: visible system ArtDirections plus company ArtDirections.No findings
Why it is in this group
- The name "list_art_directions" says "list": a word for reading.
Description, as the server wrote it List selectable ArtDirections as compact summaries: visible system ArtDirections plus company ArtDirections. Use query to match exact names and natural-language creative requests. Use this as the catalog step before choosing an art_direction_id for a brief; if there is no clear match, fall back to the user's phrase as prompt/creative_context. Use get_art_direction for the full markdown document before reusing one in a brief.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Art Directions
list_avatarsList the user's Models: the reusable people who wear the Clothing (not the AI models; for those, use mcp_list_model_catalog).No findings
Why it is in this group
- The name "list_avatars" says "list": a word for reading.
Description, as the server wrote it List the user's Models: the reusable people who wear the Clothing (not the AI models; for those, use mcp_list_model_catalog). Supports structured filters or query for hybrid name/metadata/image-attribute search. Set include_image_url=true when the Model's image itself is needed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Models
list_garmentsList user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search.No findings
Why it is in this group
- The name "list_garments" says "list": a word for reading.
Description, as the server wrote it List user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search. body_zone expands to categories and is ORed with category when both are given. With a category or body_zone filter and include_uncategorized=false, uncategorized_count reports garments hidden by the category filter within the same scope. If matches are short and uncategorized_count > 0, call again with include_uncategorized=true and inspect those garments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Garments
list_locationsList reusable location/scene reference images by structured filters or query: IDs, tags, date range, and sort.No findings
Why it is in this group
- The name "list_locations" says "list": a word for reading.
Description, as the server wrote it List reusable location/scene reference images by structured filters or query: IDs, tags, date range, and sort. Use when the user wants to pick a saved background/location reference for a generation.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Locations
list_outfitsList user's outfits (saved garment combinations).No findings
Why it is in this group
- The name "list_outfits" says "list": a word for reading.
Description, as the server wrote it List user's outfits (saved garment combinations). Filter by garment IDs, active status, date range, or query against contained garments.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Outfits
list_tagsList available tags for the user's company.No findings
Why it is in this group
- The name "list_tags" says "list": a word for reading.
Description, as the server wrote it List available tags for the user's company. Use this to resolve user-provided tag names like 'summer26' before selecting garments, outfits, models, files, generations, or locations. For no-UI MCP flows, find the tag ID here, then call get_items_by_tag or the relevant list_* tool with tag_ids.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Tags
list_templatesList canonical company templates, optionally filtered by kind, scope, command use case, or public t-xxxx share code.No findings
Why it is in this group
- The name "list_templates" says "list": a word for reading.
Description, as the server wrote it List canonical company templates, optionally filtered by kind, scope, command use case, or public t-xxxx share code. Templates persist canonical commands but do not execute generations. System templates named `Demo — …` are worked examples of the canonical command language; read one with `get_template` before authoring a first brief or workflow.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: List Templates
mcp_brief_listThe account's Shoot Board briefs, newest first: every brief that ran (on any Shoot Board) and this board's draft, each with its status, looks, automations, credits and covers.No findings
Why it is in this group
- The name "mcp_brief_list" says "list": a word for reading.
Description, as the server wrote it The account's Shoot Board briefs, newest first: every brief that ran (on any Shoot Board) and this board's draft, each with its status, looks, automations, credits and covers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_get_contextRead the Uwear Shoot Board.No findings
Why it is in this group
- The name "mcp_get_context" says "get": a word for reading.
Description, as the server wrote it Read the Uwear Shoot Board.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_list_filesList uploaded (reference) files for the Uwear MCP workspace files tab and the Shoot Board's References tab.No findings
Why it is in this group
- The name "mcp_list_files" says "list": a word for reading.
Description, as the server wrote it List uploaded (reference) files for the Uwear MCP workspace files tab and the Shoot Board's References tab.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_list_model_catalogThe active AI models with their capabilities and pricing rules, as GET /models returns them, for the widget's model pickers.No findings
Why it is in this group
- The name "mcp_list_model_catalog" says "list": a word for reading.
Description, as the server wrote it The active AI models with their capabilities and pricing rules, as GET /models returns them, for the widget's model pickers.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_read_generationOne generation with its results as GET /generation/{id} returns it (prompt, model, settings, inputs), for the result viewer's Info panel.No findings
Why it is in this group
- The name "mcp_read_generation" says "read": a word for reading.
Description, as the server wrote it One generation with its results as GET /generation/{id} returns it (prompt, model, settings, inputs), for the result viewer's Info panel.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_read_generation_resultOne generation result as GET /generation-result/{id} returns it (tags, review verdict, QA, prompt, model), for the widget's result viewer.No findings
Why it is in this group
- The name "mcp_read_generation_result" says "read": a word for reading.
Description, as the server wrote it One generation result as GET /generation-result/{id} returns it (tags, review verdict, QA, prompt, model), for the widget's result viewer.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_recipe_listThe company's shoot automations (and other automations to copy).No findings
Why it is in this group
- The name "mcp_recipe_list" says "list": a word for reading.
Description, as the server wrote it The company's shoot automations (and other automations to copy).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mcp_recipe_preflightValidate and price the automation being edited.No findings
Why it is in this group
- The description's first verb is "validate": a word for reading.
Description, as the server wrote it Validate and price the automation being edited.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
read_generation_result_qaRead official Uwear QA status, decision, and structured QA JSON for existing generation results.No findings
Why it is in this group
- The name "read_generation_result_qa" says "read": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Read QA Results
read_shoot_boardUse this before modify_shoot_board, propose_brief or update_brief: the user changes the board in the widget at any time.No findings
Why it is in this group
- The name "read_shoot_board" says "read": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Read Shoot Board
search_uwear_libraryUse this when the user names Clothing, Models, Locations, art directions, files or past results in chat and you need their ids.No findings
Why it is in this group
- The name "search_uwear_library" says "search": a word for reading.
Description, as the server wrote it 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.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
- title: Search Library
uwear_settings_readRead the user's saved photoshoot defaults (aspect ratio, camera, resolution) with every allowed value.No findings
Why it is in this group
- The name "uwear_settings_read" says "read": a word for reading.
Description, as the server wrote it Read the user's saved photoshoot defaults (aspect ratio, camera, resolution) with every allowed value. Backs the plugin settings page.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http uwear https://api.uwear.ai/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__uwear__read_shoot_board",
"mcp__uwear__search_uwear_library",
"mcp__uwear__list_garments",
"mcp__uwear__list_avatars",
"mcp__uwear__list_outfits",
"mcp__uwear__list_locations",
"mcp__uwear__get_generation_status",
"mcp__uwear__get_generation_results",
"mcp__uwear__read_generation_result_qa",
"mcp__uwear__get_user_credits",
"mcp__uwear__list_tags",
"mcp__uwear__list_art_directions",
"mcp__uwear__get_art_direction",
"mcp__uwear__list_templates",
"mcp__uwear__mcp_get_context",
"mcp__uwear__mcp_list_files",
"mcp__uwear__mcp_brief_list",
"mcp__uwear__mcp_recipe_list",
"mcp__uwear__mcp_recipe_preflight",
"mcp__uwear__mcp_read_generation_result",
"mcp__uwear__mcp_read_generation",
"mcp__uwear__mcp_list_model_catalog",
"mcp__uwear__uwear_settings_read"
],
"ask": [
"mcp__uwear__request_user_context",
"mcp__uwear__show_in_shoot_board",
"mcp__uwear__add_chat_photos_to_board",
"mcp__uwear__save_art_direction",
"mcp__uwear__propose_brief",
"mcp__uwear__update_brief",
"mcp__uwear__upload_garment_from_public_url",
"mcp__uwear__upload_avatar_from_chat_file",
"mcp__uwear__create_location",
"mcp__uwear__create_tag",
"mcp__uwear__propose_montage",
"mcp__uwear__update_montage_proposal",
"mcp__uwear__save_reference_file_from_chat_file",
"mcp__uwear__mcp_add_context",
"mcp__uwear__mcp_save_retouch",
"mcp__uwear__mcp_intake_files",
"mcp__uwear__mcp_commit_intake",
"mcp__uwear__mcp_upload_intake_photo",
"mcp__uwear__mcp_edit_brief",
"mcp__uwear__get_brief",
"mcp__uwear__mcp_brief_runs",
"mcp__uwear__mcp_recipe_history",
"mcp__uwear__mcp_recipe_open",
"mcp__uwear__mcp_recipe_copy",
"mcp__uwear__mcp_workflow_assets",
"mcp__uwear__mcp_workflow_gallery",
"mcp__uwear__mcp_workflow_tags",
"mcp__uwear__mcp_workflow_garment_categories",
"mcp__uwear__mcp_workflow_cameras",
"mcp__uwear__mcp_workflow_contract",
"mcp__uwear__mcp_extract_video_frame"
],
"deny": [
"mcp__uwear__modify_shoot_board",
"mcp__uwear__queue_generation_result_qa",
"mcp__uwear__set_generation_result_favorite",
"mcp__uwear__mcp_replace_context",
"mcp__uwear__mcp_clear_context",
"mcp__uwear__mcp_export_montage",
"mcp__uwear__mcp_generate_clip",
"mcp__uwear__mcp_reclassify_board_item",
"mcp__uwear__mcp_add_garment_view",
"mcp__uwear__confirm_brief",
"mcp__uwear__mcp_recipe_save_draft",
"mcp__uwear__mcp_review_generation_results",
"mcp__uwear__mcp_set_generation_result_tags",
"mcp__uwear__mcp_update_tag",
"mcp__uwear__mcp_delete_generation_results",
"mcp__uwear__uwear_settings_update"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as uwear. Review it before you use it.