Search / ai.uwear/uwear
Uwear
R0· no sign-inAI photoshoot studio: garments, avatars, locations, and art direction
v1.0.0 · active · website · descriptor JSON · versions
Search / ai.uwear/uwear
R0· no sign-inAI photoshoot studio: garments, avatars, locations, and art direction
v1.0.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"uwear": {
"type": "http",
"url": "https://api.uwear.ai/mcp"
}
}
}claude mcp add --transport http uwear https://api.uwear.ai/mcp[mcp_servers.uwear]
url = "https://api.uwear.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"uwear": {
"type": "remote",
"url": "https://api.uwear.ai/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"uwear": {
"type": "http",
"url": "https://api.uwear.ai/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=uwear&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLnV3ZWFyLmFpL21jcCJ9"
}{
"servers": {
"uwear": {
"type": "http",
"url": "https://api.uwear.ai/mcp"
}
}
}{
"mcpServers": {
"uwear": {
"httpUrl": "https://api.uwear.ai/mcp"
}
}
}extensions:
"uwear":
enabled: true
name: "uwear"
type: streamable_http
uri: "https://api.uwear.ai/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltool list is cacheable (ttlMs 300000)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_length2 tools have descriptions over 1,024 characters, which crowds the contexttools.schemasevery tool has an object input schematools.annotations70 of 70 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 30,551 tokens to load every tool, a large share of an agent's contexttools.api_dumptools are not a one-to-one API dumpstability.changes94 tool changes in 30 daysstability.rug_pull10 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packagemcp_edit_briefchangedinput schemaupdate_briefchangedinput schemapropose_briefchangedinput schemaget_connection_identityremovedReturn the profile ID and active company ID used by this authenticated MCP connection. Use this before a paid operation when a release or audit must prove the connection is scoped to the intended Uwear account.
save_templateremovedCreate a canonical company template, or replace one by passing template_id with expected_revision. Send typed GenerationCommand objects; updates are complete replacements. This persists the template and does not generate images. Templates are single-generation presets. Use Production Workflows in the Automation workspace for reusable multi-step generation. Legacy batch Templates are read-only history and cannot be created, edited, or imported.
estimate_costremovedEstimate credit cost for an operation.
get_locationremovedGet a reusable location/scene reference by ID.
create_art_directionremovedCreate a company ArtDirection markdown document. Use author_art_direction first when the user provides rough creative text or reference images. Use this direct writer only for already-structured markdown that follows the Variation Controls parser contract.
create_avatar_from_referencesremovedCreate one reusable avatar/model from an ordered set of generated avatar views, owned workspace files, and public image URLs. Each reference fills one durable slot. Traits are optional user-provided facts and are never inferred.
copy_template_to_generate_node_configremovedCopy one generation-preset Template into a contract-typed, detached Production Workflow Generate-node config. The result does not update a Workflow and carries no live Template dependency; insert it through the canonical workflow version authoring tools.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% ~updated-80d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://api.uwear.ai/mcp streamable-http | none | yes | 100% | 280 ms | 2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26 | 2026-10-20 |
add_chat_photos_to_board | 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. |
confirm_briefdestructive | 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. |
create_location | Create a reusable location/scene reference from an image URL. If no description is supplied, the backend analyzes the image. Use the returned location_id in propose_brief/update_brief. |
create_tag | Create a new tag for organizing assets (garments, models, outfits, files, results, locations). Requires an active company workspace. |
get_art_directionread-only | Get a selectable ArtDirection by ID. |
get_brief | Read one of the account's Shoot Board briefs by brief_id: its looks, automations, credit quote and status. Changes nothing. |
get_generation_resultsread-only | 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'. |
get_generation_statusread-only | 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. |
get_user_creditsread-only | Get user's current credit balance. |
list_art_directionsread-only | 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. |
list_avatarsread-only | 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. |
list_garmentsread-only | 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. |
list_locationsread-only | 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. |
list_outfitsread-only | List user's outfits (saved garment combinations). Filter by garment IDs, active status, date range, or query against contained garments. |
list_tagsread-only | 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. |
list_templatesread-only | 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. |
mcp_add_context | Append items to the Uwear Shoot Board. |
mcp_add_garment_viewdestructive | 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. |
mcp_brief_listread-only | 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. |
mcp_brief_runsread-only | 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. |
mcp_clear_contextdestructive | Clear all Shoot Board items, or only one context type. |
mcp_commit_intake | 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). |
mcp_delete_generation_resultsdestructive | 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. |
mcp_edit_brief | 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. |
mcp_export_montagedestructive | 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. |
mcp_extract_video_frame | 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. |
mcp_generate_clipdestructive | 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. |
mcp_get_contextread-only | Read the Uwear Shoot Board. |
mcp_intake_filesread-only | 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. |
mcp_list_filesread-only | List uploaded (reference) files for the Uwear MCP workspace files tab and the Shoot Board's References tab. |
mcp_list_model_catalogread-only | The active AI models with their capabilities and pricing rules, as GET /models returns them, for the widget's model pickers. |
mcp_read_generationread-only | One generation with its results as GET /generation/{id} returns it (prompt, model, settings, inputs), for the result viewer's Info panel. |
mcp_read_generation_resultread-only | One generation result as GET /generation-result/{id} returns it (tags, review verdict, QA, prompt, model), for the widget's result viewer. |
mcp_recipe_copy | Copy an automation as a new automation for this shoot. |
mcp_recipe_historyread-only | 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. |
mcp_recipe_listread-only | The company's shoot automations (and other automations to copy). |
mcp_recipe_open | 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. |
mcp_recipe_preflightread-only | Validate and price the automation being edited. |
mcp_recipe_save_draftdestructive | Save the automation's draft. |
mcp_reclassify_board_itemdestructive | 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"). |
mcp_replace_contextdestructive | Replace the Uwear Shoot Board items. |
mcp_review_generation_resultsdestructive | 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. |
mcp_save_retouch | Save an edited image (image_base64) as a new child result of parent_generation_result_id. Changes no existing result. |
mcp_set_generation_result_tagsdestructive | 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. |
mcp_update_tagdestructive | Rename or recolor one of the company's tags, as PATCH /tag/{id}. The result viewer's tag tray. |
mcp_upload_intake_photo | 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. |
mcp_workflow_assetsread-only | The automation builder reads library items (Clothing, Models, Locations, ...) of one kind by id to show them on its cards. Read-only. |
mcp_workflow_camerasread-only | The camera views (front, side, back, crops) a shot or camera edit can use, for the automation builder. Read-only. |
mcp_workflow_contractread-only | The automation format (step kinds and their settings) the automation builder edits against. Read-only. |
mcp_workflow_galleryread-only | 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. |
mcp_workflow_garment_categoriesread-only | The garment categories, for the automation builder's category filters. Read-only. |
mcp_workflow_tagsread-only | The account's tags, for the automation builder's tag filters. Read-only. |
modify_shoot_boarddestructive | 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. |
propose_brief | 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. |
propose_montage | ONLY for video montage/stitching/export workflows. Use when the user explicitly asks to create a montage, stitch clips, make a reel, export a video sequence, make video clips from images, or combine images/videos into one final video. Never use this for a photoshoot, lookbook, product shoot, collection shoot, outfit shoot, garment shoot, or image-generation request; those must use request_user_context followed by propose_brief/update_brief. Do not call this merely because selected context contains images, generations, garments, or models. A photoshoot may later feed a montage, but the photoshoot itself must be proposed as a BriefProposal first. PROPOSES the montage for user review — user can edit clips, generate missing videos, then export. Supports: existing videos with optional trim (`target_duration` or `start_time`/`end_time`), images that need video generation (specify video_model + a bespoke per-image motion prompt, and optionally `target_duration` or `duration`), per-clip speed/mute, global aspect ratio. If the user asks for clips to be e.g. '3 seconds each', set `target_duration: 3` on every item, including image items. For image items, avoid generic repeated prompts: tailor each prompt to the specific image and any requested zoom, movement, energy, or camera direction. If motion is not specified, inspect the image first with view_image and then write a fitting motion prompt from the image content before proposing. The user reviews and confirms in the UI. Export is free (0 credits); video generation clips cost credits per their model. |
queue_generation_result_qadestructive | 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. |
read_generation_result_qaread-only | 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. |
read_shoot_boardread-only | 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. |
request_user_context | 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. |
save_art_direction | 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. |
save_reference_file_from_chat_file | Batch save reference images from chat attachments into the Files library. Keep file metadata in files[] and pass top-level image_file_1, image_file_2, etc. in the same order. No base64, no local paths. Use for mood boards, backgrounds, and other reference images that are not Clothing or Models. |
search_uwear_libraryread-only | 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. |
set_generation_result_favoritedestructive | 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. |
show_in_shoot_board | 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. |
update_brief | 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. |
update_montage_proposal | Patch the latest MontageProposal already shown in the UI. Use only for an existing video montage/reel/stitched sequence proposal; do not use this to modify a photoshoot brief. For photoshoot brief changes, call update_brief instead. Prefer `operations`, an ordered list of typed montage edits such as `clear_trim`, `remove`, `set_duration`, `set_trim_range`, `set_speed`, `set_muted`, `set_prompt`, `set_video_model`, `set_generate_audio`, `set_last_frame`, `set_aspect_ratio`, and `set_base_resolution`. Use `set_trim_range` for requests like 'use the second half', 'start at 3s', or 'trim from 3s to 6s'. Operations are applied in order to the current montage state. Legacy flat fields are still accepted as a compatibility shim. This updates the proposal only; it does not execute export or generation. |
upload_avatar_from_chat_file | 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. |
upload_garment_from_public_url | 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. |
uwear_settings_readread-only | Read the user's saved photoshoot defaults (aspect ratio, camera, resolution) with every allowed value. Backs the plugin settings page. |
uwear_settings_updatedestructive | Save changed photoshoot defaults (aspect ratio, camera, resolution). Send only the settings that changed; returns every current value. Defaults never authorize a paid generation. |
Schemas: list_tools.
{
"name": "ai.uwear/uwear",
"icons": [
{
"src": "https://uwear.ai/icon-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
}
],
"title": "Uwear",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://api.uwear.ai/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"websiteUrl": "https://uwear.ai/mcp",
"description": "AI photoshoot studio: garments, avatars, locations, and art direction"
}