Uwear
Server Details
AI photoshoot studio: garments, avatars, locations, and art direction
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 72 of 77 tools scored. Lowest: 2.4/5.
Each tool has a clearly distinct purpose, and descriptions explicitly disambiguate overlapping concepts (e.g., list_avatars vs list_models, view_image vs QA tools). Even similar-sounding tools like get_generation_results vs get_generation_status are cleanly separated by their descriptions and parameters.
All tool names follow a consistent verb_noun snake_case pattern with predictable verbs (list, get, create, update, upload, delete, etc.). The mcp_* prefixed tools also maintain this convention, so there is no mixing of styles or chaotic naming.
With 77 tools, the count is far beyond even the upper bound of a well-scoped set (typically 3-15). While the server covers a broad domain, many tools (especially the mcp_* app-only ones) appear internal or redundant, making this an extreme mismatch.
Core workflows are covered: garment upload, avatar generation, briefs, generation results, QA, and production workflows with full lifecycle. However, several entities lack update/delete operations (e.g., garments, avatars, locations, outfits, tags, art directions have no delete; locations and avatars lack update), leaving notable gaps in lifecycle coverage.
Available Tools
77 toolsarchive_production_workflowArchive WorkflowADestructiveInspect
Archive a workflow and disable it. Reversible with update_production_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| enabled | Yes | |
| archived | Yes | |
| company_id | Yes | |
| created_at | Yes | |
| updated_at | Yes | |
| enabled_version_id | Yes | |
| run_time_slot_kinds | No | |
| created_by_profile_id | Yes | |
| updated_by_profile_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and readOnlyHint=false. The description adds that the operation is reversible via update_production_workflow, a non-obvious behavioral detail beyond the schema. It clarifies the specific state change (archive+disable), adding context beyond the safety flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the action and includes the crucial reversibility note. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, clear annotations, output schema present), the description covers the essential behavior and reversal path. The lack of detailed edge cases is acceptable for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage for the single workflow_id parameter, documenting it as a UUID. The description does not add additional parameter constraints or context, so it meets the baseline for schema-driven clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Archive a workflow and disable it') with a clear resource (workflow). It also references the reversal tool, distinguishing it from other workflow-related tools. This gives strong purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description succinctly conveys when to use the tool (to archive/disable a workflow) and points to update_production_workflow for reversal, showing awareness of an alternative. It does not explicitly enumerate exclusions, but the context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
author_art_directionCreate Art DirectionAInspect
Queue the conversation for asynchronous ArtDirection authoring using Uwear's prompt system. Use save=true when the user wants to create, build, or save a reusable ArtDirection. Use save=false when the user explicitly wants an unsaved draft or brainstorming pass. This returns a job ID; call get_art_direction_authoring_job until status is done or failed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional requested ArtDirection name | |
| save | No | Set true when the user wants to create, build, or save a reusable ArtDirection. Set false when the user explicitly wants an unsaved draft or brainstorming pass. | |
| user_text | No | Conversation text to compile into ArtDirection markdown | |
| image_urls | No | Draft-only reference image URLs to analyze into the ArtDirection. For saved ArtDirections, first save/select assets and pass reference_image_attachments. | |
| reference_image_attachments | No | Persistent authoring references as asset IDs. Use for save=true so the user can iterate the ArtDirection later. These are not generation-time references. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the sparse annotations, the description discloses that the operation is asynchronous, returns a job ID, and requires polling until status is done or failed. It also explains the save flag's behavioral impact. It does not cover edge cases like failure handling or permissions, but the workflow is well communicated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core action ('Queue the conversation for asynchronous ArtDirection authoring'), followed by parameter guidance and polling instruction. Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description tells the agent what to expect (job ID) and what to do next (poll get_art_direction_authoring_job). It is complete for an async tool with 5 parameters and no output schema, though it could benefit from an explicit contrast with the synchronous create_art_direction sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description reiterates the save=true/false semantics already present in the schema, but adds no new meaning for other parameters. It does not compensate beyond the schema's existing clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queues the conversation for asynchronous ArtDirection authoring using Uwear's prompt system. It distinguishes itself from siblings by emphasizing the asynchronous job model and the need to poll for completion. The save=true/false distinction further clarifies its purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use save=true vs save=false and instructs to call get_art_direction_authoring_job until done or failed. However, it does not explicitly name an alternative tool (e.g., create_art_direction) or state when not to use this tool, so it misses a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_avatar_promptBuild Avatar PromptARead-onlyIdempotentInspect
Build a highly detailed prompt for generating a unique reusable avatar/model. Use this when the user wants help describing a person before image generation. If the user's prompt is already intentional and specific, Uwear can skip this and pass the user's wording directly to generate_avatar.
| Name | Required | Description | Default |
|---|---|---|---|
| camera | No | Optional camera key for context, e.g. midshot | |
| user_text | No | User's rough description of the person/model. Leave empty when the user wants the backend to invent a unique avatar prompt. | |
| model_slug | No | Optional image model slug for context | |
| aspect_ratio | No | Optional aspect ratio for context, e.g. 9:16 | |
| camera_label | No | Optional human-readable camera label |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing this as a safe, read-only, idempotent operation. The description adds the context that it should be skipped when the input prompt is already specific, which is useful but not a major behavioral disclosure. Since annotations cover the safety profile, this is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences, front-loaded with the purpose and followed by usage guidance. No redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, side-effect-free tool with no required parameters and full schema coverage, the description covers the core purpose and the key decision of when to skip it. It doesn't explicitly state the return format, but the tool name and description imply a prompt string, and annotations cover safety. Complete enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 5 parameters are fully described in the schema (100% coverage), so the description doesn't need to repeat them. The description's mention of 'user's rough description' aligns with the user_text parameter, but the schema already documents each parameter thoroughly. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: building a highly detailed prompt for avatar/model generation. It distinguishes itself from the sibling generate_avatar by explicitly saying that if the user's prompt is already intentional, the system can skip this and pass wording directly to generate_avatar, making sibling differentiation clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit conditions for when to use this tool ('when the user wants help describing a person before image generation') and when to skip it in favor of an alternative ('if the user's prompt is already intentional and specific... pass directly to generate_avatar'). This directly addresses usage vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_briefApprove and Run BriefADestructiveIdempotentInspect
Call this to approve and idempotently execute a visible persisted Uwear brief. In MCP, a one-word 'Confirm' or phrases like 'looks good', 'run it', 'start', or 'generate' mean execute=true unless the user explicitly says to approve without starting. Use the visible/latest BriefProposal brief_id. Repeated calls return or resume the same durable execution.
| Name | Required | Description | Default |
|---|---|---|---|
| execute | No | Execute the brief immediately after confirming. Defaults true because MCP 'confirm the brief' means approve and run. Set false only when the user explicitly wants to save approval without starting generation. | |
| brief_id | Yes | ID of the persisted brief to confirm |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: it explains the idempotent execution behavior ('Repeated calls return or resume the same durable execution'), defines the default execute=true semantic in MCP context, and instructs to use the visible/latest brief_id. This complements the idempotentHint and destructiveHint annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place. The purpose is front-loaded, the idempotency and parameter semantics are efficiently explained, and the description is free of fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the description covers all essential aspects: what it does, idempotent behavior, the brief_id source, and the execute semantics. With no output schema, it still gives a sense of return behavior ('same durable execution'). It could mention potential errors, but the current coverage is sufficient for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents both parameters with 100% coverage, but the description enriches semantics by specifying that brief_id should be the 'visible/latest BriefProposal brief_id' and clarifies the execute parameter's default behavior and the exception for setting it false. This adds value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: approve and idempotently execute a visible persisted Uwear brief. It uses a specific verb ('approve and execute') and resource ('persisted Uwear brief'), and the emphasis on 'idempotently' distinguishes it from ordinary confirmation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance on when to call (upon user confirmation phrases like 'looks good' or 'run it') and when not to (if the user explicitly wants approval without execution, set execute=false). However, it does not name alternative sibling tools, but it does clarify the MCP meaning of 'confirm'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_art_directionWrite Art Direction Markdown (Advanced)AInspect
Create a company ArtDirection markdown document. Use author_art_direction first when the user provides rough creative text or reference images. Use this direct writer only for already-structured markdown that follows the Variation Controls parser contract.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the ArtDirection | |
| content_markdown | Yes | Complete ArtDirection markdown document. Prefer author_art_direction for rough briefs. If writing directly, every reusable alternative that should rotate across generations must live under `## Variation Controls` as `###` controls with `A. Option` lines; do not leave selectable worlds, pose families, or shot-role plans only in prose. | |
| reference_image_attachments | No | Authoring reference image attachments to keep with the ArtDirection. These are for iterating the markdown only, not generation-time references. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so no protective or destructive hints are present. The description adds the key nuance that this is a direct writer for already-structured markdown, but it does not disclose other behaviors such as validation, overwrite semantics, or return values. The parser contract is also repeated in the schema, so the marginal description value is moderate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the purpose and the second gives usage guidance. It is front-loaded, scannable, and contains no filler, making it an exemplar of concise yet informative writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a creation tool with no output schema and moderate complexity, the description covers the essential decision of when to use it and what input it expects. It could mention the result of the creation (e.g., saved entity) or any side effects, but the sibling tools and schema fill most gaps. A score of 4 reflects solid but not exhaustive completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed explanations for all three parameters. The description does not add extra parameter semantics beyond referencing the parser contract in content_markdown, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Create a company ArtDirection markdown document,' using a specific verb and resource. It immediately distinguishes the tool from its sibling author_art_direction by noting when to prefer that alternative. This makes the purpose clear and uniquely positioned among the tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states to use author_art_direction first for rough creative text or reference images, and to use this direct writer only for already-structured markdown that follows the Variation Controls parser contract. This provides clear when-to-use guidance and names the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_credit_checkout_sessionBuy CreditsAInspect
Create a hosted Stripe Checkout URL for buying Uwear generation credits. Use only when the user explicitly asks to buy, add, top up, or purchase credits, or when they ask how to continue after insufficient credits. Do not call during photoshoot planning unless the user requested checkout. The tool only creates a payment link; the user must open and complete payment in Stripe.
| Name | Required | Description | Default |
|---|---|---|---|
| credits | No | Number of Uwear credits to purchase | |
| user_agent | No | Optional client user-agent recorded with checkout metadata | |
| return_cancel_url | No | Optional checkout cancellation URL; defaults to the Uwear credits page | |
| return_success_url | No | Optional checkout completion URL; defaults to the Uwear frontend |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a mutating operation (readOnlyHint=false), and the description adds important behavioral context beyond that: 'The tool only creates a payment link; the user must open and complete payment in Stripe.' This clarifies that the tool does not finalize the purchase. However, it does not mention potential side effects like whether credits are reserved or any authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, each earning its place: purpose, usage, exclusion, and behavioral limitation. It is front-loaded with the core function and contains no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema, but the description implies the return is a Stripe Checkout URL and indicates user action is needed. This is sufficient for basic invocation. It lacks detail on the response format or any post-payment flow, but given the moderate complexity and strong annotations, completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with every parameter documented. The description adds overall context but does not elaborate on parameter-specific semantics beyond the schema. Baseline 3 is appropriate since the schema carries the full parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Create a hosted Stripe Checkout URL for buying Uwear generation credits.' This clearly distinguishes the tool from siblings like get_user_credits and estimate_cost. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage criteria are provided: 'Use only when the user explicitly asks to buy, add, top up, or purchase credits, or when they ask how to continue after insufficient credits.' It also states a clear exclusion: 'Do not call during photoshoot planning unless the user requested checkout.' This gives the agent strong decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_locationCreate LocationAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the reusable location/scene reference | |
| tag_ids | No | Optional tag IDs to assign after creating the location | |
| image_url | Yes | URL of the location/reference image | |
| description | No | Optional location description. If omitted, the system analyzes the image. | |
| thumbnail_url | No | Optional thumbnail URL | |
| source_metadata | No | Optional provenance metadata for the source image |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations only providing false hints for readOnly, openWorld, idempotent, and destructive, the description adds meaningful behavior: the backend analyzes the image if description is omitted, and the tool returns a location_id for reuse. This goes beyond the schema and annotations, though it doesn't disclose potential side effects or validation rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every clause earns its place. It efficiently conveys creation, the optional-description behavior, and the output usage without extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a create tool with 6 parameters and no output schema, the description covers the core workflow (image URL -> location reference), the optional-description behavior, and the required output hint (location_id). It stops short of describing full response structure or error cases, but the essential context for an agent to invoke it correctly is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides descriptions for all 6 parameters, including the optional description field and its image-analysis fallback. The tool description repeats this internal behavior but does not add new parameter-level meaning. Since schema coverage is 100%, the score is at baseline 3, with no significant value added by the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Create a reusable location/scene reference') and clearly differentiates from sibling tools like get_location and list_locations by focusing on creation. It also states the intended downstream use in propose_brief/update_brief, which solidifies its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs to use the returned location_id in propose_brief/update_brief, giving clear context for when this tool is appropriate. It does not list exclusions or alternatives, but the workflow reference implies the use case sufficiently.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_outfit_from_garment_idsCreate OutfitAInspect
Create an outfit from existing garment IDs. Pairs saved garments together into a saved outfit without uploading new images.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional human-readable outfit name | |
| is_active | No | Whether the outfit should be immediately active | |
| clothing_item_ids | Yes | IDs of clothing items to combine into an outfit |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate that the tool is mutating (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds minimal context by clarifying that it pairs existing garments without uploading new images, but it does not disclose additional side effects, permissions, or return behavior beyond what is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two concise sentences, with the primary purpose front-loaded and no redundant or extraneous information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create operation with full schema coverage and clear annotations, the description adequately explains the tool's functionality. The lack of an output schema is not a major gap given the straightforward nature of the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all three parameters, so the description does not need to add parameter-level details. The description implicitly references the purpose of clothing_item_ids but adds no new semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (outfit), and the source (existing garment IDs). It also distinguishes from upload-related tools by noting that no new images are uploaded, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when garment IDs already exist and an outfit needs to be composed, but it does not explicitly state when not to use the tool or mention alternatives like propose_outfits or upload_garment_from_chat_file. No exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_production_workflowCreate Production WorkflowAInspect
Create a workflow. It has no graph until a version is created, and it runs nothing until a version is published.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow name and initial state; enabled must be false until a version is published |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| enabled | Yes | |
| archived | Yes | |
| company_id | Yes | |
| created_at | Yes | |
| updated_at | Yes | |
| enabled_version_id | Yes | |
| run_time_slot_kinds | No | |
| created_by_profile_id | Yes | |
| updated_by_profile_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide no hints (all false), so the description carries the behavioral burden. It transparently discloses that the created workflow is inert until version creation and publication, which is vital side-effect information. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action. Every phrase earns its place: it states the function and the two life-cycle limitations that matter for usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set (one nested object), the output schema, and the presence of closely related sibling tools, the description fully explains the tool's role in the workflow lifecycle. No significant missing information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaning by explaining the lifecycle constraint behind the 'enabled' parameter: 'runs nothing until a version is published.' This complements the schema's note that enabled must be false until publication, providing rationale beyond field definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Create a workflow.' It also clarifies the initial state (no graph, not running), distinguishing it from creating a workflow version or publishing. This is specific and differentiates from siblings like create_production_workflow_version.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: creation is just the first step, and a version must be created and published before it runs. This implicitly tells the agent that create_production_workflow_version and publish_production_workflow_version are next steps. Clear context but no explicit alternative exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_production_workflow_versionCreate Draft VersionAInspect
Open a new draft version holding the graph. Drafts are editable and never execute. See uwear://contracts/production-workflow for typed node configs and worked examples.
| Name | Required | Description | Default |
|---|---|---|---|
| definition | Yes | Draft workflow graph, contract version, failure policy, and optional published base version | |
| workflow_id | Yes | Workflow ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses two key behavioral traits: drafts are editable and never execute. However, annotations are all false and thus provide no positive safety profile; the description does not cover return value, failure modes, or side effects such as whether calling this multiple times creates multiple drafts. More behavioral context would be needed for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences that front-load the purpose, then add behavioral context and a documentation reference. Every sentence earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (deeply nested schema, no output schema, all-false annotations), the description is partially complete: it states the action, key behavior, and points to docs. However, it does not mention the return value, prerequisites (e.g., workflow exists), or possible errors, which are important for a create operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema provides basic descriptions (e.g., 'Draft workflow graph...'). The description adds extra value by pointing to 'uwear://contracts/production-workflow for typed node configs and worked examples', which is especially helpful for the complex definition parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource, 'Open a new draft version holding the graph', and clearly distinguishes from siblings like publish_production_workflow_version and create_production_workflow. The phrase 'Drafts are editable and never execute' further clarifies the tool's role in the workflow lifecycle.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (whenever you need a new draft version) and clarifies that drafts never execute, but it does not explicitly name alternatives or exclusion criteria. It lacks a 'when to use this vs. update/publish' guidance, so usage context is only partially conveyed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tagCreate TagAInspect
Create a new tag for organizing assets (garments, models, outfits, files, results, locations). Requires an active company workspace.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tag name (unique within the company) | |
| color | No | Optional hex color, e.g. '#22C55E' |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds the workspace requirement but doesn't disclose uniqueness enforcement or idempotency-related behavior (e.g., what happens if a duplicate name is submitted). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that communicates the core functionality. The asset type list is slightly detailed but remains compact and useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple create tool with full schema coverage and no output schema, the description and schema together provide sufficient guidance. It could mention return values or duplicate-name behavior, but these are not critical for tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters fully described (name with uniqueness and maxLength; color with format example). The description adds no parameter-specific meaning beyond listing asset types, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create a new tag'), the resource ('for organizing assets'), and enumerates the asset types. This distinguishes it from sibling tools like list_tags and get_items_by_tag, which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear precondition ('Requires an active company workspace') and indicates a broad use case (organizing assets). It doesn't explicitly name alternatives or when-not-to-use scenarios, but the context is sufficient for a simple create tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_templateDelete TemplateADestructiveInspect
Permanently delete a library template. Owner-only templates must be deleted through their owning resource.
| Name | Required | Description | Default |
|---|---|---|---|
| template_id | Yes | Template ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds the behavioral trait of permanence ("Permanently delete") and an ownership constraint, which are not explicitly stated in annotations. This goes beyond the minimal annotation information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, clearly front-loaded with the action and resource. No redundant phrasing or filler. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description covers the essential context: permanent deletion and a key caveat about owner-only templates. It could mention error conditions or permissions, but given the tool's simplicity, it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers 100% of parameters with a single template_id and its description. The tool description does not add significant semantic detail beyond the schema, and the schema already describes the template as a 'company template.' The parameter is straightforward, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: "Permanently delete a library template." This uses a specific verb (delete) and resource (library template), which directly distinguishes it from sibling tools like get_template, save_template, and list_templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an important usage exclusion: "Owner-only templates must be deleted through their owning resource." This provides guidance on when NOT to use this tool, implying an alternative exists. It could be improved by explicitly stating the general use case (delete any library template) but the purpose makes it evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_generation_resultsExport Results as ZIPAInspect
Bundle generation results into a ZIP and return a time-limited download URL. Use when the user wants to download or export their generated images/videos.
| Name | Required | Description | Default |
|---|---|---|---|
| export_format | No | Optional export format conversion, e.g. 'png' or 'jpg' | |
| generation_result_ids | Yes | Generation result IDs to include in the ZIP |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the URL is time-limited, which is a behavioral trait not present in the annotations. It also implies the bundling action without claiming any destructive effect; this aligns with destructiveHint=false. However, it does not detail side effects (e.g., storage retention) beyond the essentials.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the tool's core function and closes with a clear usage directive. No redundant verbiage, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two parameters and no output schema, the description sufficiently covers what it does, what it returns (download URL), and a caveat (time-limited). It is complete for the complexity level, and the clear usage line covers the standalone context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with both parameters well-documented (export_format with examples, generation_result_ids with min/max). The description does not add parameter-level meaning beyond what the schema already provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific action ('Bundle generation results into a ZIP') and specifies the outcome ('return a time-limited download URL'). This clearly distinguishes it from sibling tools like get_generation_results, which retrieves results but does not package them for download.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage trigger: 'Use when the user wants to download or export their generated images/videos.' This is clear context but does not mention when not to use it or alternatives, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_art_directionDuplicate Art DirectionAInspect
Duplicate a system or company ArtDirection into an editable company copy.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional name for the copy | |
| art_direction_id | Yes | The ArtDirection ID to duplicate |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only, non-destructive mutation (readOnlyHint=false, destructiveHint=false). The description adds context that the copy is 'editable' and that the source can be system or company, but it does not disclose details like whether the original remains unchanged, permissions required, or potential side effects. With annotations providing baseline safety info, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is direct and complete. It conveys the core purpose without extraneous detail, making it easy to parse and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should at least hint at the return value, but it only says the result is an 'editable company copy' without specifying what is returned (e.g., the new copy's ID). It also omits whether the original is preserved, though that is implied by 'duplicate.' For a simple tool, this is minimally sufficient but leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters (art_direction_id and name) with descriptions, achieving 100% coverage. The description does not add any additional meaning about parameter usage beyond what the schema already provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (duplicate), the resource (system or company ArtDirection), and the outcome (an editable company copy). This distinguishes it from sibling tools like create_art_direction or update_art_direction by focusing on the duplication aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when you want an editable company copy of an existing ArtDirection) but does not explicitly mention alternatives or exclude other tools. It lacks direct guidance such as 'use instead of create_art_direction when you want a copy based on an existing system or company ArtDirection.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_costEstimate Credit CostBRead-onlyIdempotentInspect
Estimate credit cost for an operation.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Specific model to use | |
| duration | No | Video duration in seconds (video only, e.g. 4, 5, 6, 8, 10) | |
| num_items | No | Number of items/images | |
| operation | Yes | Operation: generate, edit, upscale, video | |
| resolution | No | Output resolution when supported by the selected image or video model | |
| generate_audio | No | Whether to generate audio (video only, doubles cost for most models) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the agent knows it is a safe calculation. The description adds no behavioral context beyond the name, such as whether the estimate is approximate or depends on current pricing. It does not contradict the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no extraneous words. It is front-loaded with the verb and object. While it is brief, this is not a flaw; it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having six parameters and no output schema, the description does not clarify what the tool returns (e.g., a numeric credit amount, a breakdown) or how the estimate is computed. The annotations cover safety but not functional expectations. This leaves the agent guessing about the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage of all six parameters with descriptive details (e.g., operation enum values, duration constraints, generate_audio doubling cost). The description adds no additional parameter semantics, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: estimating credit cost for an operation, using the specific verb 'estimate' and resource 'credit cost'. It is distinct from sibling tools like get_user_credits and create_credit_checkout_session, which deal with balance and purchase rather than cost estimation. However, it lacks detail on the range of operation types covered.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, such as having an operation in mind, or exclusions like needing to check actual credit balance. Sibling tools are not referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_local_garment_uploadFinish Local Garment UploadAInspect
Second step only for local garment images already prepared with prepare_local_garment_upload and uploaded to every returned target. Classify each upload_handle as a full/detail front/back/side asset. Do not use this for ChatGPT attachments or arbitrary public URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| garments | Yes | Garments assembled from owned upload handles returned by prepare_local_garment_upload |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false (readOnlyHint: false, destructiveHint: false), so the description carries the disclosure burden. It explains the prerequisite and classification action but does not reveal side effects like whether it finalizes the garment, consumes handles, or is idempotent. Some scope constraints are added, but deeper behavior remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the prerequisite ('Second step only'), and every sentence adds value: prerequisite, action, and exclusion. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description doesn't need to explain return values. It covers the two-step flow, the requirement for prepared/uploaded handles, the classification scope, and explicit non-uses. It could mention that it ultimately creates/updates garment records, but the schema's garments array implies this. Fairly complete for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with detailed field explanations (e.g., upload_handle description, asset_kind enum, processing_mode). The description only restates the classification concept (full/detail front/back/side) without adding new parameter-level semantics beyond what the schema already provides. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Second step only for local garment images already prepared with prepare_local_garment_upload' and 'Classify each upload_handle as a full/detail front/back/side asset.' It explicitly distinguishes itself from tools for ChatGPT attachments or public URLs, making it highly specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage conditions: 'Second step only' and 'uploaded to every returned target.' It also includes a clear exclusion: 'Do not use this for ChatGPT attachments or arbitrary public URLs.' This effectively tells the agent when to use it versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_avatarGenerate Avatar Character SheetADestructiveInspect
Generate canonical reusable avatar/model design-sheet candidates from the provided person description. The result uses the same character-sheet template and creator path as the Uwear app. Use when the user has no saved avatars and explicitly asks Uwear to create a reusable model/avatar, especially for consistency across a shoot. Do not block a normal photoshoot on this; avatar/model is optional. If the user wants help inventing or enriching the person's description, call build_avatar_prompt first; if the user's prompt is already intentional and specific, pass it directly here. Pass model when the user requests a specific image model; otherwise the backend uses the cheapest active image generation model available to the account. After results complete, call save_generated_avatar on the chosen result to save it to the avatar library.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional name to carry with the avatar generation | |
| build | No | Optional authoritative physical build for the avatar footer. When omitted, the canonical creator derives it from the resolved persona. Placeholder values and inference instructions are rejected. | |
| model | No | Optional image model slug or display name. Defaults to the cheapest active image generation model available to the account. | |
| prompt | Yes | Description of the person to render as a reusable avatar design sheet | |
| age_range | No | Optional concrete age or age range for the avatar footer. | |
| num_images | No | Number of avatar candidate images to generate |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal non-read-only/destructive behavior. The description adds meaningful context: the same template and creator path as Uwear, defaulting to the cheapest model, the need to explicitly call save_generated_avatar to persist results, and guidance not to block photoshoots. This goes beyond the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than average but every sentence carries essential workflow guidance: purpose, usage context, branch to build_avatar_prompt, model default, and follow-up save step. It is front-loaded with the core purpose and logically organized, with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and 6 parameters, the description provides a complete picture: when to invoke, how it fits with other tools, what to pass, and what happens after generation. It doesn't describe the exact response format, but the candidate/save workflow is sufficiently clear for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 6 parameters, so the baseline is 3. The description adds limited new param-specific detail, mostly repeating the model default that already exists in the schema. The guidance about passing prompts directly is more usage-related than parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate canonical reusable avatar/model design-sheet candidates from the provided person description,' which names the specific verb, resource, and source. It also distinguishes this tool from siblings by referencing the Uwear app template and the follow-up save_generated_avatar tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use when the user has no saved avatars and explicitly asks Uwear to create a reusable model/avatar...' and provides a direct alternative: 'If the user wants help inventing or enriching the person's description, call build_avatar_prompt first.' It also gives a clear exclusion: 'Do not block a normal photoshoot on this; avatar/model is optional.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_art_directionGet Art DirectionBRead-onlyIdempotentInspect
Get a selectable ArtDirection by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| art_direction_id | Yes | The ArtDirection ID to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the term 'selectable,' which suggests a filtering or state-related behavior not present in annotations, but it is vague. No additional details about not-found behavior or response format are provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence (7 words) that is immediately understandable. There is no fluff or redundant information, and the key information (get by ID) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID tool with one parameter and strong annotations, the description is largely sufficient. However, the term 'selectable' introduces ambiguity about whether non-selectable ArtDirections are excluded, and without an output schema, the description does not clarify the return structure beyond implying the ArtDirection object. This leaves some context missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already fully describes the single parameter (art_direction_id with type and description). The description's 'by ID' reinforces the parameter's purpose but adds no new semantic detail. Baseline of 3 applies due to 100% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Get) and the resource (ArtDirection) with a specific scope (by ID). It distinguishes from list_art_directions by implying single retrieval, though it doesn't explicitly differentiate from other get_* tools. The word 'selectable' adds a minor qualifier but the core purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like list_art_directions or get_art_direction_authoring_job. The description only states what it does, not the context or exclusions. There is no mention of prerequisites or when to prefer this over other retrieval methods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_art_direction_authoring_jobGet Art Direction Draft StatusARead-onlyIdempotentInspect
Read an asynchronous ArtDirection authoring job. Poll the job ID returned by author_art_direction until status is done or failed. A done job includes the authored markdown and, when save=true, the saved art_direction_id.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ArtDirection authoring job ID returned by author_art_direction |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the asynchronous polling behavior, the terminal statuses ('done or failed'), and the result contents ('authored markdown and, when save=true, the saved art_direction_id'). This adds meaningful behavioral context about what to expect, which is especially valuable given the lack of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence immediately stating the tool's purpose and the second providing the essential polling and return details. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter polling tool without an output schema, the description adequately covers the return value for a done job and the terminal statuses. It does not describe the failure response or what happens if the job is not found, but these omissions are likely acceptable for this simple read-only polling operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter job_id is fully described in the schema ('ArtDirection authoring job ID returned by author_art_direction'), and the description reinforces this by referencing the same source. With 100% schema coverage, the description does not need to add further parameter details; it stays at the baseline of relying on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with 'Read an asynchronous ArtDirection authoring job,' which is a specific verb-resource pairing that clearly identifies the tool's purpose. It also distinguishes itself from related tools like author_art_direction and get_art_direction by focusing on the polling/job aspect.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Poll the job ID returned by author_art_direction until status is done or failed.' This provides clear usage context and the source of the job_id. However, it does not explicitly mention alternatives or when not to use this tool, such as when a direct art direction fetch would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_briefReopen Saved BriefARead-onlyIdempotentInspect
Load an existing persisted brief unchanged by a real positive brief_id. Only use when the user supplied that brief_id or after propose_brief/update_brief returned it and the user wants to re-open the same brief. Never use brief_id=0, a placeholder, or a guessed ID. Never use this to start a new photoshoot. When the user asks to modify, rewrite, add steps to, or show an adjusted brief, call update_brief with the complete updated brief instead of looping on get_brief.
| Name | Required | Description | Default |
|---|---|---|---|
| brief_id | Yes | Real persisted brief ID to load unchanged. Do not use 0, guessed IDs, or this tool for editing a visible brief. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, but the description adds essential behavioral context: it loads 'unchanged,' rejects placeholder/guessed IDs, and is not for starting new shoots or editing. This goes beyond the annotation flags without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the core function, then usage rules, then exclusions. Every sentence adds necessary guidance with zero fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description fully covers the tool's purpose, constraints, and relationship to alternatives (update_brief). With one well-documented parameter and rich annotations, no critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema parameter description already provides semantics: 'Real persisted brief ID to load unchanged. Do not use 0, guessed IDs...' The description reiterates these constraints but does not add significant new meaning beyond usage context, which is already covered by guidelines. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Load an existing persisted brief unchanged by a real positive brief_id.' It clearly distinguishes from siblings by explicitly stating when to call update_brief instead of looping on get_brief.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use conditions ('Only use when the user supplied that brief_id or after propose_brief/update_brief returned it') and when-not-to-use ('Never use this to start a new photoshoot' and 'call update_brief instead' for modifications). It names the alternative tool update_brief directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_garmentGet GarmentARead-onlyIdempotentInspect
Get a specific garment by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| garment_id | Yes | The garment ID to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety profile is covered. The description adds no extra behavioral context (e.g., not-found behavior, return details), but with annotations present, the value added is limited. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short sentence that is front-loaded and earns its place. No wasted words or redundant restating of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple get-by-ID with one parameter and no output schema. Annotations cover the safety profile. The description plus schema is sufficient for an agent to invoke it correctly; no additional detail is essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single parameter garment_id is fully described as 'The garment ID to retrieve'. The description 'a specific garment by ID' adds no new semantic meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get a specific garment by ID' clearly states the verb (get), resource (garment), and singular scope (specific, by ID). It distinguishes this tool from siblings like list_garments, which retrieves multiple garments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need one garment by ID, but it does not explicitly state when to use this tool versus alternatives like list_garments or update_garment. No when-not-to-use or alternative names are provided, so it only meets the implied usage level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_generation_resultsGet Generation ResultsARead-onlyIdempotentInspect
Look up generation results by exact IDs, filters, or hybrid image/name/SKU search. Returns labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Every result includes generation_result_id and the response includes generation_result_ids; use those exact integers for queue_generation_result_qa/read_generation_result_qa or as durable generation_result command.source values in canonical edit, upscale, and video commands. Confirmation-gated clients use propose_brief(commands=[...], execute_immediately=true) when the user asked to run now, update_brief for a complete command replacement, or confirm_brief(execute=true) for a visible brief. Pass generation_result_id to fetch one result or generation_id to list a job's results. Returns raw payload when available so prior prompts can be recovered. Use start_date/end_date for requests like 'last week'.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Filter by type: 'Image', 'Edit', 'Upscale', 'Video' | |
| page | No | Page number for pagination | |
| limit | No | Number of items per page | |
| query | No | Hybrid search across generated image content, originating item names, and SKUs. | |
| tag_ids | No | Filter by tag IDs (results must have at least one) | |
| end_date | No | Filter results created on or before this ISO date/datetime, e.g. 2026-04-27. | |
| model_ids | No | Filter results to images generated with these AI models | |
| avatar_ids | No | Filter results to images generated with these avatars | |
| outfit_ids | No | Filter results to images generated with these outfits | |
| start_date | No | Filter results created on or after this ISO date/datetime, e.g. 2026-04-20. | |
| qa_decision | No | Filter by QA decision. true = accepted, false = rejected. | |
| qa_statuses | No | Filter by QA statuses, e.g. pending, processing, completed, error. | |
| location_ids | No | Filter results to images generated with these locations | |
| generation_id | No | Filter by parent generation ID (lists all result images from one generation job) | |
| art_direction_ids | No | Filter results to images generated with these art directions | |
| clothing_item_ids | No | Filter results to images generated with these clothing items | |
| generation_result_id | No | Look up a single result image by its generation_result_id (the exact integer ID required by QA/edit/upscale/video tools). Returns that one result directly. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false. The description adds valuable context: returned items are labeled native ImageContent previews, not originals, with detailed semantics for url/download_url/preview_url/poster_url, and that raw payloads are returned when available. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but information-rich. Every sentence contributes operational value: from preview usage and URL semantics to downstream command integration and date filters. It is front-loaded with the primary lookup purpose before adding deeper details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 17 parameters and no output schema, the description covers essential aspects: result type and preview/original distinction, ID durability for downstream tools, confirmation-gated client flows, date semantics, and raw payload recovery. This is more than sufficient for correct selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond schema by explaining the distinct roles of generation_result_id versus generation_id, demonstrating start_date/end_date usage for natural-language ranges, and describing hybrid search scope. Not all 17 params are discussed, but the schema handles them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool looks up generation results by exact IDs, filters, or hybrid image/name/SKU search. It distinguishes itself from siblings by explicitly explaining how its returned identifiers feed into queue_generation_result_qa/read_generation_result_qa and canonical edit/upscale/video commands.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: use generation_result_id for a single result, generation_id to list a job's results, and start_date/end_date for relative requests like 'last week'. It also directs confirmation-gated clients to propose_brief/update_brief/confirm_brief, and clarifies previews vs originals.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_generation_statusGet Generation StatusARead-onlyIdempotentInspect
Check generation job status. Completed results may include labeled native ImageContent previews; use them directly and never Markdown-embed result URLs. They are display previews, not originals: url/download_url are originals, preview_url is the fallback link, and poster_url/thumbnail_url is a video poster. Returns status, raw payload, settings, avatar_id, model_id, model_slug, use_case, credits_charged, estimated_processing_seconds, and status_guidance. Status can remain Created while queued/preparing; avoid tight polling loops. UI 'Gemini Pro' maps to model_slug nano-banana-pro or nano_banana_pro_clothing.
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes | The generation ID to check. Returns raw payload, generation_setting, avatar_id, model_id, model_slug, and use_case. UI 'Gemini Pro' maps to model_slug nano-banana-pro or nano_banana_pro_clothing. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and idempotent annotations, the description reveals important behavioral details: status may remain 'Created' while queued, previews are not originals (with url/download_url vs preview_url distinctions), and the mapping from UI 'Gemini Pro' to model_slug values. This adds significant transparency beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense and information-rich, front-loaded with the core purpose. It repeats a small amount of schema content (model_slug mapping) but otherwise every sentence provides actionable guidance. Slightly long but appropriately so given the critical warnings about preview URLs and polling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values and behavior. It lists key fields, explains preview vs original URLs, warns about polling, and provides model mapping. This is unusually complete for a single-parameter status tool, leaving little ambiguity for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully covers the only parameter (generation_id) with 100% description coverage, so the tool description does not need to add input semantics. It mentions returned fields and model_slug mapping, but these are output-related, not parameter-related. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Check generation job status' with a specific verb and resource. It distinguishes itself from siblings like get_generation_results and download_generation_results by focusing on status rather than results, and enumerates the returned fields, making the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it explains how to handle completed previews, warns against tight polling loops, and clarifies status semantics. However, it does not explicitly mention alternative tools for fetching actual results, so it stops short of fully explicit alternatives/exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_items_by_tagGet Items by TagARead-onlyIdempotentInspect
Get all item IDs tagged with a specific tag, grouped by type. Use after list_tags for no-UI MCP requests like 'use my clothes tagged summer26'; then pass the resulting clothing_item IDs as garment_ids to propose_brief instead of opening request_user_context.
| Name | Required | Description | Default |
|---|---|---|---|
| tag_id | Yes | Tag ID to look up | |
| item_types | No | Filter to specific types: 'clothing_item', 'avatar', 'outfit', 'generation_result', 'location'. Omit to get all. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the description only needs to add context. It does by noting 'grouped by type' and the no-UI workflow context, which informs expected behavior. It does not contradict annotations and adds some value beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two crisp sentences: the first states the core function, the second provides workflow context. No wasted words, information is front-loaded and immediately relevant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only lookup with two parameters and rich sibling context, the description covers the workflow and return type sufficiently. It could elaborate on the exact grouping structure, but the absence of an output schema is partially mitigated by the description's clarity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters, including allowed values for item_types. The description does not add significant meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb+resource ('Get all item IDs tagged with a specific tag, grouped by type'), clearly distinguishing it from sibling tools like list_tags or propose_brief. The workflow reference further clarifies its unique role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('Use after list_tags for no-UI MCP requests'), provides a concrete example ('use my clothes tagged summer26'), and names an alternative ('instead of opening request_user_context'), giving strong usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_locationGet LocationARead-onlyIdempotentInspect
Get a reusable location/scene reference by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| location_id | Yes | The location ID to retrieve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds the context that the location is 'reusable' and a 'scene reference', but does not disclose any additional behavioral traits such as error handling or response details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that communicates exactly what the tool does with no wasted words. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read operation with strong annotations, the description is nearly sufficient. It clearly identifies the resource and method, though a brief note about the return value would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter 'location_id' is clearly described in the schema. The description adds no new parameter information beyond 'by ID', so it does not elevate above the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' with a clear resource 'reusable location/scene reference' and method 'by ID', making its function unambiguous. It naturally distinguishes itself from sibling tools like list_locations and create_location by implying a single item lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (retrieve a location when you have its ID) but provides no explicit when-to-use guidance or mention of alternatives like list_locations for browsing. There is no guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_production_workflowGet Production WorkflowARead-onlyIdempotentInspect
Read one workflow with its version summaries and which version is live.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes | Workflow ID | |
| versions_page | No | Page number for the embedded workflow version list | |
| versions_items_per_page | No | Number of embedded workflow versions per page |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| enabled | Yes | |
| archived | Yes | |
| versions | No | |
| company_id | Yes | |
| created_at | Yes | |
| updated_at | Yes | |
| versions_page | No | |
| enabled_version_id | Yes | |
| run_time_slot_kinds | No | |
| versions_total_count | No | |
| created_by_profile_id | Yes | |
| updated_by_profile_id | Yes | |
| versions_items_per_page | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context that the tool returns version summaries and the live version indicator, which goes beyond annotations but does not disclose additional behavioral traits like pagination behavior (already in schema) or hidden effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the essential purpose without wasted words. It is front-loaded with the verb and resource, making it immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only tool with a rich output schema and full annotations. The description explains the core return value (version summaries and live version), while the schema covers all parameters and the output schema defines return structure. No significant missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all three parameters documented in the schema. The description adds no additional parameter-level semantics beyond what the schema provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Read') and a specific resource ('one workflow') with its key aspects ('version summaries and which version is live'). It distinguishes from sibling tools like get_production_workflow_control or list_production_workflows, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you need a single workflow's details, including its version summaries and the live version. It does not explicitly exclude alternatives or name specific siblings, but the context is clear enough given the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_production_workflow_controlGet Automation Kill SwitchARead-onlyIdempotentInspect
Read the company kill switch — whether automation is stopped, and why.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | |
| stopped | Yes | |
| changed_at | Yes | |
| company_id | Yes | |
| resource_type | No | |
| contract_version | No | |
| changed_by_profile_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds that this is a company-level 'kill switch' and that it returns status plus reason, giving useful behavioral context beyond structured annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, dense sentence communicates the action, target, and output. There is no wasted wording, and the key information is front-loaded ('Read the company kill switch').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters and an output schema present, the description is fully sufficient. It explains what the tool reads and what kind of information it returns (stopped/why), so an agent can decide to invoke it without further clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema fully covers parameters. Per the baseline for 0-parameter tools, a score of 4 is appropriate since there is no param information needed and the description does not misrepresent anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' and identifies a clear resource: 'the company kill switch' for automation. It explains the purpose: to check whether automation is stopped and why. This distinguishes it from siblings like get_production_workflow (which retrieves workflow details) and update_production_workflow_control (which writes the control).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: whenever you need to know if automation is globally halted and the reason behind it. It does not explicitly list exclusions or alternatives, but the context is sufficient for a simple read-only status check with no parameters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_production_workflow_runGet Workflow RunARead-onlyIdempotentInspect
Read one run in full: stable accepted results, per-node status, media, errors, retries, and the credits it moved.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_run_id | Yes | Workflow run ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| status | Yes | |
| billing | Yes | |
| is_test | Yes | |
| results | No | |
| node_runs | Yes | |
| created_at | Yes | |
| started_at | Yes | |
| finished_at | Yes | |
| workflow_id | Yes | |
| resource_type | No | |
| trigger_event | Yes | |
| definition_hash | Yes | |
| contract_version | Yes | |
| workflow_version_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds meaningful behavioral context beyond these: it specifies that results are 'stable accepted results' (implying final state, not transient), and it notes that credit movement is included, which is a side effect the caller should be aware of. It also details the data categories returned, providing insight into the response shape without being verbose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action ('Read one run in full') and then efficiently enumerates the contents in a list format. Every phrase contributes value, with no redundancy or filler. It is appropriately sized for a tool with one parameter and simple semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one parameter, read-only) and has an output schema available, so the description need not explain return values in depth. It lists the main data components included, which is sufficient. However, it does not explicitly disambiguate from closely named sibling tools like get_production_workflow or get_production_workflow_control, though the 'run' context helps. Overall, it is nearly complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one parameter, workflow_run_id, with a description 'Workflow run ID', giving 100% schema description coverage. The tool description does not add significant meaning beyond identifying the run to read; it equivalently suggests the parameter is the identifier of the run. With high schema coverage, a baseline score of 3 is appropriate, as the description neither enhances nor detracts from the schema's clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Read one run in full'. It enumerates the complete set of data returned (stable accepted results, per-node status, media, errors, retries, credits), which distinguishes it from sibling tools like list_production_workflow_runs (which lists runs) or get_production_workflow (which retrieves a workflow, not a run). The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need full details of a single workflow run, but it does not explicitly state when to use this tool over alternatives such as list_production_workflow_runs for browsing or get_production_workflow for workflow configuration. There is no mention of exclusions or alternative tools. The context is clear but not explicitly contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_production_workflow_versionGet Workflow VersionARead-onlyIdempotentInspect
Read one version's full graph. See uwear://contracts/production-workflow for typed node configs and worked examples.
| Name | Required | Description | Default |
|---|---|---|---|
| version_id | Yes | Workflow version ID | |
| workflow_id | Yes | Workflow ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| edges | Yes | |
| nodes | Yes | |
| version | Yes | |
| workflow | Yes | |
| resource_type | No | |
| failure_policy | Yes | |
| contract_version | Yes | |
| result_projection | Yes | |
| estimated_credit_units | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that the full graph is returned and points to a contract resource for typed node configs, which is useful beyond the annotations. No contradiction found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the core purpose, and the second provides a helpful reference to typed node configs and examples. No redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple two-parameter schema, full parameter documentation, output schema presence, and annotations, the description plus the contract link makes the tool self-contained for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers both parameters with descriptions (workflow_id and version_id) and 100% coverage. The description adds little semantic detail beyond implying both IDs are needed to identify a single version, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Read') and resource ('one version's full graph'), clearly distinguishing this from siblings like list_production_workflow_versions or get_production_workflow. The scope is precise: a single version, not a list or summary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this when you need the full graph of a specific workflow version. However, it does not explicitly mention alternatives or when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet TemplateARead-onlyIdempotentInspect
Load one canonical company template by ID. Pass expected_template_kind when the caller requires a generation_preset or batch_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| template_id | Yes | Template ID | |
| expected_template_kind | No | Optional expected kind. A mismatch returns both expected and actual kinds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already communicate readOnlyHint, idempotentHint, and destructiveHint. The description adds value by explaining that it loads a 'canonical company template' and by instructing when to pass expected_template_kind to require a specific kind. The mismatch behavior is described in the schema, and the description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary purpose, no filler. Each sentence earns its place: the first states what it does, the second clarifies when to use the optional parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only get tool, this description is complete. It identifies the input, the optional parameter's usage, and the tool's scope. There is no output schema, but 'load' implies the return of the template object, which is acceptable for a get tool. The annotations cover safety and idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already documented. The description enhances this by explaining the purpose of expected_template_kind ('when the caller requires a generation_preset or batch_workflow'), which adds usage context beyond the schema's 'Optional expected kind.' The template_id is adequately covered by 'by ID.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Load one canonical company template by ID.' This clearly distinguishes the tool from siblings like list_templates (which lists multiple), save_template (which writes), and delete_template (which removes). The phrase 'canonical company template' adds useful scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use this tool (when you have a template ID and need that specific template) and provides a conditional instruction for the optional expected_template_kind parameter. However, it does not explicitly mention alternatives like list_templates for browsing, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_creditsGet Credit BalanceARead-onlyIdempotentInspect
Get user's current credit balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the context that it retrieves the 'current' balance for the user, which is useful but minimal. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is immediately understandable and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with no parameters and rich annotations, the description sufficiently communicates the operation. It does not describe the return format, but given the low complexity, this is an acceptable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is trivially 100%, so the baseline is 4. The description adds no parameter details because there are none to describe.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Get') and resource ('user's current credit balance'), which distinguishes it from related tools such as create_credit_checkout_session and estimate_cost. It is slightly more specific than the title, though it does not explicitly mention alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description does not mention any exclusions or context for use, leaving the agent to infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_art_directionsList Art DirectionsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| limit | No | Number of compact ArtDirection summaries per page | |
| query | No | Hybrid search across saved ArtDirection names and creative content. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds behavioral context about the returned format (compact summaries), inclusion of system and company ArtDirections, and query behavior for natural-language requests, which is useful beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary function and using each sentence for distinct guidance: output scope, query usage, and follow-up action. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple list operation with optional parameters and no output schema, but the description covers what is returned (compact summaries), what is included, how to use it in the workflow, and where to go for full details. It is fully contextualized within its sibling set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents page, limit, and query. The description adds slight nuance by explaining query can match exact names and natural-language creative requests, but this largely mirrors the schema's 'hybrid search' description, so a baseline score is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists selectable ArtDirections as compact summaries, specifying the scope (visible system plus company ArtDirections). This distinguishes it from get_art_direction, which is referenced for full documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly positions the tool as the catalog step before choosing an art_direction_id for a brief and advises a fallback to the user's phrase if no match. It also directs users to get_art_direction for full markdown, providing clear when-to-use and alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_avatarsList AvatarsARead-onlyIdempotentInspect
List the user's avatars: the reusable people who wear the garments, called 'models' or 'mannequins' in fashion terms (not the AI engines — for those, use list_models). Supports structured filters or query for hybrid name/metadata/image-attribute search. Set include_image_url=true when the avatar image itself is needed.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort order: 'field:direction', e.g. 'created_at:desc'. Default: created_at:desc | |
| limit | No | Number of items per page | |
| query | No | Hybrid search across avatar/model names, metadata, and visual attributes. | |
| tag_ids | No | Filter to avatars with any of these tags | |
| end_date | No | Filter: created on or before this date (ISO format) | |
| avatar_ids | No | Filter to specific avatar IDs | |
| start_date | No | Filter: created on or after this date (ISO format) | |
| include_image_url | No | Set true when you need to inspect or reuse the avatar/model image URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the safety profile is covered. The description goes beyond by explaining the domain semantics (avatars vs. AI models) and the hybrid search behavior, adding useful context that annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences, each adding value: purpose, distinction from sibling, and key parameter guidance. No redundant phrasing or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 9 optional params and no output schema, the description covers the essential context: what avatars are, the alternative tool, and the critical include_image_url scenario. Pagination and date filters are left to the schema, which is sufficient given the tool's simplicity. It could mention return format, but that's not critical here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description echoes the query parameter's hybrid search behavior and the include_image_url usage, but these are already described in the schema. It adds minimal new information beyond what structured fields provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'List the user's avatars', a clear verb+resource statement. It further clarifies that avatars are the reusable people/models/mannequins in fashion terms, and explicitly distinguishes from list_models for AI engines, which differentiates it from a likely sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance: 'not the AI engines — for those, use list_models' directly names the alternative. It also gives a concrete usage trigger: 'Set include_image_url=true when the avatar image itself is needed.' This tells the agent when to use the tool and how to configure a key parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_garmentsList GarmentsARead-onlyIdempotentInspect
List user's garments with structured filters or query for hybrid name/SKU/metadata/image-attribute search.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort order: 'field:direction', e.g. 'created_at:desc', 'clothing_item_name:asc'. Default: created_at:desc | |
| limit | No | Number of items per page | |
| query | No | Hybrid search across garment names, SKUs, metadata, and visual attributes. | |
| tag_ids | No | Filter to garments with any of these tags | |
| end_date | No | Filter: created on or before this date (ISO format) | |
| start_date | No | Filter: created on or after this date (ISO format, e.g. '2025-06-01') | |
| clothing_item_ids | No | Filter to specific garment IDs | |
| include_image_url | No | Set true when the garment image itself is needed for visual display or reuse. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, giving the agent a safe read operation. The description adds meaningful context by highlighting the hybrid search across name/SKU/metadata/image-attributes, which is not fully captured by the annotations alone. It also clarifies the user-scoped nature ('user's garments'). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed sentence of 16 words, front-loaded with the primary action ('List user's garments'). Every phrase contributes meaning: the resource, the structured filter option, and the hybrid search scope. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (9 optional parameters, no output schema) and strong annotation coverage (read-only, idempotent), the description is largely sufficient. It communicates the core listing and search capabilities. It could be improved by explicitly noting pagination behavior or directing users to get_garment for retrieving a single known ID, but these are not critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for all 9 parameters, so the schema fully documents each parameter. The description adds only a high-level overview (structured filters vs. hybrid query), which is helpful but does not materially deepen parameter understanding beyond what the schema provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' with a clear resource ('user's garments') and explicitly distinguishes the tool's dual capability: structured filters and hybrid search. This sets it apart from siblings like get_garment (single garment retrieval) and upload tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage context: listing a user's garments, with either predefined filters or free-form hybrid search. It does not explicitly name alternatives such as get_garment for single-item lookups, but the distinction is inferable from the verb 'List' and the two-mode search behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_locationsList LocationsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort order: 'field:direction', e.g. 'created_at:desc', 'location_name:asc'. Default: created_at:desc | |
| limit | No | Number of items per page | |
| query | No | Hybrid search across location names, metadata, and visual attributes. | |
| tag_ids | No | Filter to locations with any of these tags | |
| end_date | No | Filter: created on or before this date (ISO format) | |
| start_date | No | Filter: created on or after this date (ISO format) | |
| location_ids | No | Filter to specific location IDs | |
| include_image_url | No | Set true when the location/reference image URL is needed for inspection or reuse. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only, idempotent, and non-destructive, so the safety profile is covered. The description adds useful context about the data being 'reusable location/scene reference images' and the user intent, but it does not disclose additional behavioral traits like return format, pagination behavior, or any edge cases beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no unnecessary words. The description front-loads the main action and resource, then provides filter details and a use case. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 9 optional parameters and no output schema, the description is adequate for a list tool: it names the resource, the filter dimensions, and the primary use case. The comprehensive schema covers parameter semantics. It could be slightly more complete by mentioning the return type (e.g., paginated list of location references), but the current coverage is solid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter having a detailed description. The description's summary of filters ('IDs, tags, date range, and sort') offers a high-level abstraction but does not add meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and the specific resource 'reusable location/scene reference images'. It enumerates filter types (IDs, tags, date range, sort) and gives a concrete use case ('pick a saved background/location reference'), which distinguishes it from sibling tools like get_location or create_location.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Use when the user wants to pick a saved background/location reference for a generation' provides clear context on when to invoke this tool. However, it does not explicitly mention when not to use it or name alternative tools, so it stops short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsList AI ModelsARead-onlyIdempotentInspect
List available AI generation models (image, video, edit, upscale engines) by type, with credit costs. These are the AI models that render photoshoots — not the human models/avatars; for those, use list_avatars.
| Name | Required | Description | Default |
|---|---|---|---|
| model_type | Yes | Type: generation, edit, upscale, video, backdrop |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. Description adds that results include credit costs and clarifies the domain (AI models that render photoshoots), but does not cover response shape, pagination, or rate limits. Moderate value beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, first is action-oriented and specific. Every phrase earns its place; disambiguation is woven in without bloat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with read-only annotations, the description fully covers what it lists, the type filter, cost info, and how it differs from list_avatars. No output schema exists, but this is acceptable for a straightforward listing operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single model_type parameter, which already lists allowed values. Description reinforces the 'by type' aspect but adds no new syntax or additional parameter meaning beyond a rough synonym (image/generation).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool lists AI generation models by type, with credit costs. It explicitly distinguishes from human models/avatars and names list_avatars as an alternative, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: use this for AI models, not human models/avatars, and direct users to list_avatars. Also implies usage by model type, aligning with the required model_type parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_outfitsList OutfitsARead-onlyIdempotentInspect
List user's outfits (saved garment combinations). Filter by garment IDs, active status, date range, or query against contained garments.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| sort | No | Sort: 'field:direction'. Default: created_at:desc | |
| limit | No | Number of items per page | |
| query | No | Search outfit names and contained garments. | |
| tag_ids | No | Filter to outfits with any of these tags | |
| end_date | No | Filter: created on or before this date (ISO format) | |
| is_active | No | Filter by status: 'true', 'false', or 'both' (default: both) | |
| outfit_ids | No | Filter to specific outfit IDs | |
| start_date | No | Filter: created on or after this date (ISO format) | |
| clothing_item_ids | No | Filter to outfits containing any of these garments |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as read-only, idempotent, and non-destructive, so the description's job is lighter. It adds the definition of outfits and the available filters, but does not disclose return format, pagination behavior, or any side effects. With annotations covering safety, this is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the core purpose and filter options. It is front-loaded with the action verb and avoids unnecessary details, earning full marks for conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives a clear high-level overview but does not mention return structure or pagination behavior. While the schema documents all 10 parameters, the missing output schema means some return expectations are left to the agent; however, for a list operation this is largely inferable, so it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the baseline is 3. The description's mention of filter types (garment IDs, active status, date range, query) mirrors the schema and adds no new meaning beyond what is already documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists the user's saved outfit combinations, using the specific verb 'List' and resource 'outfits'. It further distinguishes the tool by listing the filter capabilities, which sets it apart from sibling list tools like list_garments or list_avatars.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving outfits and supports filtering, which gives context on when to use it. However, it does not explicitly state when to prefer this over alternatives like propose_outfits or create_outfit_from_garment_ids.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_production_workflow_runsList Workflow RunsARead-onlyIdempotentInspect
List run history, newest first, filterable by workflow and status.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for workflow run results | |
| status | No | Filter to a workflow run status | |
| workflow_id | No | Filter to a specific workflow ID | |
| items_per_page | No | Number of workflow runs per page |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| page | Yes | |
| total_count | Yes | |
| items_per_page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the tool as read-only, idempotent, and non-destructive. The description adds behavioral traits beyond these—namely the sort order ('newest first') and filterable fields (workflow and status)—which are not visible in annotations or the name alone. No contradiction exists between description and annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, front-loaded with the verb and resource, and contains no filler. It efficiently conveys purpose, ordering, and filtering in one concise phrase.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and annotations that cover safety and idempotency, the description is sufficient for a straightforward list tool. It specifies the resource, ordering, and filters, leaving pagination details to the input schema and return details to the output schema. No additional context is needed for this simple, read-only operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters with descriptions. The description restates that it is filterable by workflow and status, which matches the workflow_id and status parameters, but adds no extra parameter-level semantics beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists run history with a specific verb ('List') and resource ('run history'), and includes sorting ('newest first') and filtering capabilities. This distinguishes it from sibling tools like list_production_workflows (which lists workflows) and get_production_workflow_run (which gets a single run).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this is for listing workflow run history, with filtering by workflow and status, which implies its primary use case. However, it does not explicitly name alternatives or exclusions, such as directing users to list_production_workflows for listing workflows, so it lacks explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_production_workflowsList Production WorkflowsCRead-onlyIdempotentInspect
List this company's workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for workflow results | |
| items_per_page | No | Number of workflows per page | |
| include_archived | No | Include archived workflows in the results |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| total_count | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which cover the safety profile. The description adds minimal behavioral context beyond that: it scopes results to 'this company's workflows.' However, it does not disclose pagination behavior, ordering, or that archived workflows are excluded by default (though the schema indicates include_archived default false).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundant words. It is efficiently front-loaded with the core action. However, it is almost overly sparse, leaving out useful context, but for conciseness it is well-formed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of sibling tools for workflow runs and versions, the description does not help the agent disambiguate when to call this tool. It also lacks any mention of pagination or filtering behavior, though the schema covers parameters. The presence of an output schema does not fully compensate for the missing usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides full descriptions for all three parameters (page, items_per_page, include_archived) with defaults and constraints, achieving 100% schema description coverage. The description itself adds no additional parameter semantics, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List this company's workflows.' The verb 'list' and resource 'workflows' are specific. It implicitly distinguishes from sibling tools by using the noun 'workflows' rather than 'runs' or 'versions,' but it doesn't explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like list_production_workflow_runs or list_production_workflow_versions, nor when not to use it. The description only states what it does, leaving the agent to infer usage context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_production_workflow_versionsList Workflow VersionsARead-onlyIdempotentInspect
List a workflow's versions and their state.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for workflow version results | |
| workflow_id | Yes | Workflow ID | |
| items_per_page | No | Number of workflow versions per page |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| page | Yes | |
| total_count | Yes | |
| items_per_page | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that the output includes state information, but it does not disclose pagination behavior or any other operational details. This is similar to the baseline case where annotations cover the safety profile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundancy. It is front-loaded with the main action and resource, making it immediately clear what the tool does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple list operation with a well-documented schema, output schema, and strong annotations. The description is sufficient for the agent to understand the core behavior, though it could optionally mention that it returns only versions (not workflow details) and that pagination is handled via page/items_per_page. Given the available structured context, it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for all three parameters (workflow_id, page, items_per_page) with 100% coverage. The description does not add any additional meaning or context to the parameters, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool lists a workflow's versions and their state, using a specific verb (list) and resource (workflow versions). It distinguishes from siblings like get_production_workflow_version (which retrieves a single version) and list_production_workflow_runs (which lists runs, not versions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It implies usage context (you need a workflow ID) but does not mention that get_production_workflow_version might be more appropriate for a single version.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tagsList TagsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is clear. The description adds behavioral context by outlining a typical workflow (resolving tag names to IDs) and directing to follow-up tools, which goes beyond annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, and immediately followed by actionable usage guidance. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description fully covers what the tool does, why it's useful (tag resolution), and how to use its output. No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is empty. The baseline for 0 params is 4 because there are no parameter semantics to explain. The description appropriately focuses on the tool's purpose and usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List available tags for the user's company.' This is a specific verb+resource+scope, and it distinguishes from siblings by explaining that this is the tag lookup tool used before other operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use guidance is provided: 'Use this to resolve user-provided tag names... before selecting garments, outfits, models, files, generations, or locations.' It also gives a concrete alternative: 'For no-UI MCP flows, find the tag ID here, then call get_items_by_tag or the relevant list_* tool with tag_ids.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesList TemplatesARead-onlyIdempotentInspect
List canonical company templates, optionally filtered by kind, scope, or command use case. Templates persist canonical commands but do not execute generations. System templates named Demo — … are worked examples of the canonical command language; read one with get_template before authoring a first brief or workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| use_case | No | Filter by a use_case present in any stored command | |
| catalog_scope | No | Filter by library or owner_only. Owner-only templates are hidden unless explicitly requested. | |
| template_kind | No | Filter by generation_preset or batch_workflow | |
| items_per_page | No | Number of templates per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds useful context by explaining that templates do not execute generations and that system templates named 'Demo — …' are worked examples. This goes beyond what annotations provide, without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and filters, followed by a domain clarification and a pointer to get_template. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no required parameters and no output schema, the description provides sufficient context about templates and their semantics. Pagination and filtering details are covered by the schema, so the description need not repeat them. Slightly more detail on return values could push it to 5, but this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well documented. The description's mention of 'kind, scope, or command use case' loosely maps to template_kind, catalog_scope, and use_case, but adds no new detail beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'List canonical company templates' and mentions optional filters by kind, scope, or use case. This clearly distinguishes it from related tools like get_template (read one), save_template (write), and delete_template (remove). The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: templates persist canonical commands and do not execute generations, and it advises reading a Demo template with get_template before authoring. This implies when to use this tool for browsing versus get_template for details, though it does not explicitly state when-not or list alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_add_contextAdd to Shoot BoardAInspect
App-only: append items to the session-scoped Uwear Shoot Board.
| Name | Required | Description | Default |
|---|---|---|---|
| context_items | Yes | Shoot Board items to append to the current list |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, non-idempotent, non-destructive mutation. The description adds useful context about app-only availability and session scoping, but does not disclose potential duplicate behavior or other side effects beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence that conveys all essential information without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter mutation tool with no output schema, the description provides key context (app-only, session-scoped, append behavior) and is sufficiently complete. It does not describe return values, but that is not required given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (the single parameter has a description), so baseline is 3. The description adds no extra meaning beyond 'append items' which merely restates the parameter name 'context_items'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('append'), the resource ('Uwear Shoot Board'), and the scope ('session-scoped'), which distinguishes it from sibling tools like mcp_replace_context (replace) and mcp_clear_context (clear).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The term 'append' implies adding to an existing board, subtly distinguishing from replace/clear siblings, but there is no explicit guidance about when to use this tool versus alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_clear_contextClear Shoot BoardADestructiveIdempotentInspect
App-only: clear all session context items, or only one context type.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Context type to remove; omit to clear the entire Shoot Board |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds behavioral value by explaining the all-or-one-type clearing behavior and the 'App-only' constraint. It does not contradict annotations and adds meaningful context beyond what the annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise—a single sentence that conveys the essential scope and behavior. Every word adds value, and it is front-loaded with the action and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter, no output schema, and strong annotations, the description is complete. It fully covers the tool's behavior (clear all or specific type) and the app-only constraint, leaving no significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%; the parameter 'type' is well-documented with an enum and description 'Context type to remove; omit to clear the entire Shoot Board.' The description's mention of 'one context type' adds no new meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'clear all session context items, or only one context type.' It uses a specific verb (clear) and resource (session context items/Shoot Board), and it distinguishes from sibling tools like mcp_add_context and mcp_replace_context by focusing on removal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: it's app-only and clears either all context items or a specific type. It implies when to use it (when clearing context is needed), but it does not explicitly mention alternatives or when-not-to-use scenarios. This is clear enough for the simple use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_create_credit_checkout_sessionBuy Credits (Workspace)AInspect
App-only: create a hosted Stripe Checkout URL for buying Uwear credits from the MCP workspace credit control. Hidden from the host LLM so photoshoot planning does not drift into billing unless the user presses the plus button.
| Name | Required | Description | Default |
|---|---|---|---|
| credits | No | Number of Uwear credits to purchase | |
| user_agent | No | Optional client user-agent recorded with checkout metadata | |
| return_cancel_url | No | Optional checkout cancellation URL; defaults to the Uwear credits page | |
| return_success_url | No | Optional checkout completion URL; defaults to the Uwear frontend |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds context about being app-only and user-initiated, but does not disclose the return format or detailed side effects beyond creating a checkout URL. Annotations already cover the safety profile (readOnlyHint false, destructiveHint false), so the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose, and the second sentence adds a usage constraint. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (4 optional params, no output schema). The description explains purpose and usage context well. It could explicitly state the return value (the checkout URL) but that is implied by 'create a hosted Stripe Checkout URL.'
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the tool description does not add meaning beyond what the schema already provides for the four optional parameters. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'create a hosted Stripe Checkout URL for buying Uwear credits.' It uses a specific verb ('create') and resource, and distinguishes it from sibling tools like get_user_credits and estimate_cost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage context: 'App-only' and 'Hidden from the host LLM so photoshoot planning does not drift into billing unless the user presses the plus button.' This gives a clear when-not-to-use condition. However, it does not name alternative tools for credit checking or estimation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_export_montageExport Montage VideoADestructiveInspect
App-only: export the user-confirmed montage clips as a stitched video. Spends credits, so it is hidden from host LLMs; the MCP iframe calls this after the user presses Export on the MontageProposal card. Returns the generation_id to poll via get_generation_status.
| Name | Required | Description | Default |
|---|---|---|---|
| clips | Yes | Ordered generation-result clips to stitch into the montage | |
| fit_mode | Yes | How each clip fits the output frame: contain or cover | |
| aspect_ratio | Yes | Output video aspect ratio in W:H format | |
| base_resolution | Yes | Output base resolution in pixels |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (destructiveHint=true), the description reveals that the tool 'spends credits' and is 'hidden from host LLMs,' adding cost and access context. It also discloses the return behavior: 'Returns the generation_id to poll via get_generation_status.' This complements the annotations without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the action, the credit/access constraint, and the return value. No redundant detail or padding. The most important operational fact (app-only) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains the return value (generation_id) and how to follow up (get_generation_status). The credit spend and app-only access are covered. All 4 required parameters are described in the schema, so the description is complete for this tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds little beyond the schema: it references 'user-confirmed montage clips' but does not elaborate on fit_mode, aspect_ratio, or base_resolution. The schema already documents these, so the description does not need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'export the user-confirmed montage clips as a stitched video.' It clearly distinguishes from siblings like propose_montage and update_montage_proposal by focusing on the final export action. The phrase 'stitched video' specifies the output type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it: 'App-only' and 'the MCP iframe calls this after the user presses Export on the MontageProposal card.' It also excludes host LLMs ('hidden from host LLMs') and mentions the credit cost, which is a key constraint. This effectively differentiates it from proposal-generation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_generate_clipGenerate Montage ClipADestructiveInspect
App-only: queue an image-to-video generation for a montage clip. Spends credits, so it is hidden from host LLMs; the montage editor calls this when the user presses Generate on a draft clip. Returns the generation_id to poll via get_generation_status.
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Video model slug or supported model name | |
| prompt | No | Optional motion prompt for the video clip | |
| duration | No | Video duration in seconds; defaults to 5 | |
| image_url | No | HTTPS source image URL; provide exactly one source | |
| resolution | No | Optional output resolution; defaults to 480p | |
| generate_audio | No | Whether to generate audio with the video | |
| last_frame_url | No | Optional final-frame image URL for supported video models | |
| uploaded_file_id | No | Uploaded file ID to use as the source image; provide exactly one source | |
| generation_result_id | No | Existing generation result ID to use as the source image; provide exactly one source |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavior beyond annotations: it spends credits, is app-only/hidden from host LLMs, queues the generation, and returns a generation_id to poll. This complements the destructiveHint annotation without contradicting it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no wasted words. The most important information is front-loaded, followed by the credit-spending caveat and the return value in a logically ordered way.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a queue-style tool with 9 schema-documented parameters, the description sufficiently explains purpose, usage restrictions, side effects, and how to follow up. The lack of an output schema is mitigated by explicitly mentioning the generation_id and the polling endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and each parameter already has descriptive text. The description adds no parameter-specific meaning beyond the general image-to-video context, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queues an image-to-video generation for a montage clip. It names the specific action ('queue'), the resource ('montage clip'), and scope ('App-only'), distinguishing it from sibling tools like propose_montage and mcp_export_montage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use it: the montage editor calls this when the user presses Generate on a draft clip, and it is hidden from host LLMs, providing a clear when-not. It does not name alternative tools, but the context is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_get_contextGet Shoot BoardBRead-onlyIdempotentInspect
App-only: hydrate the session-scoped Uwear Shoot Board.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior, so the description only needs to add extra context. It adds 'App-only' and 'session-scoped' constraints, which are useful, but 'hydrate' remains vague about whether the tool returns data, initializes the board, or both.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is arguably too terse. The term 'hydrate' could be replaced with more explicit language, yet the structure is clean and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey what the agent should expect. It does not explain what a 'Shoot Board' is or what 'hydrate' returns or does, leaving significant ambiguity about the tool's actual effect and return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is no parameter documentation burden. The baseline of 4 applies since the description doesn't need to compensate for schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The title 'Get Shoot Board' clarifies the retrieval intent, and the description identifies the resource ('Uwear Shoot Board') and scope ('session-scoped'). The verb 'hydrate' is somewhat non-standard but still conveys loading the board. It is distinguishable from mutation siblings like mcp_add_context, though 'hydrate' adds jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool vs alternatives such as request_user_context or other getters. The 'App-only' label is a constraint, not a usage trigger, and no exclusions or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_list_filesList FilesBRead-onlyIdempotentInspect
App-only: list uploaded files for the Uwear MCP workspace files tab.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for uploaded file results | |
| limit | No | Maximum number of uploaded files per page |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds context about the 'App-only' scope and the workspace files tab, but does not provide additional behavioral details like pagination behavior or return format. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is front-loaded with the core action and includes the necessary context ('App-only', 'workspace files tab'). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple read-only list tool with two optional parameters and no output schema. The description states what it lists but does not describe the return value structure or pagination defaults. Given the low complexity, a brief description is mostly sufficient, but a little more detail (e.g., what fields/objects are returned) would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both 'page' and 'limit' have descriptions). The tool description adds no additional meaning for the parameters, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'list' and the resource 'uploaded files', with a clear context ('Uwear MCP workspace files tab'). It distinguishes from sibling list tools by focusing on 'uploaded files' rather than garments, avatars, etc. However, it could be slightly more explicit about what constitutes a 'file'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions. The 'App-only' prefix is a constraint but not a usage guideline. It gives no indication of when to prefer this over other list_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_replace_contextReplace Shoot BoardADestructiveIdempotentInspect
App-only: replace the session-scoped Uwear Shoot Board items.
| Name | Required | Description | Default |
|---|---|---|---|
| context_items | No | Shoot Board items that replace the current list when context_state is omitted | |
| context_state | No | Complete Shoot Board state to sanitize and persist; takes precedence over context_items |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey destructive and idempotent behavior. The description adds 'session-scoped' and 'App-only', which narrow the scope and provide context beyond what annotations state. This is meaningful incremental value, though it does not detail side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action and includes key constraints. It contains no filler and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description, combined with the schema's parameter descriptions, provides sufficient clarity for an agent to understand the tool's purpose, scope, and parameter semantics. The only minor gap is the undefined meaning of 'App-only', but overall it is complete for a replace tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters have detailed descriptions, including the precedence relationship between context_items and context_state. The tool description adds no parameter-specific info, so the schema carries the burden, resulting in baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('replace') and the resource ('session-scoped Uwear Shoot Board items'). This distinguishes it from sibling tools like mcp_add_context and mcp_clear_context, which have different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies replacement semantics compared to add/clear but does not explicitly name alternatives or provide exclusion criteria. The 'App-only' hint offers some context but does not fully guide an agent on when to select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mcp_save_retouchSave Retouched ImageAInspect
App-only: save a user-edited image from the shared ImageDetail retouch editor as a child generation result. Hidden from host LLMs; the MCP iframe calls this after the user presses Save.
| Name | Required | Description | Default |
|---|---|---|---|
| file_name | No | Optional filename for the saved retouched image | |
| mime_type | No | Optional image MIME type; inferred from a data URL or defaults to image/png | |
| operations | No | Optional retouch operation metadata stored with the child result | |
| image_base64 | Yes | Retouched image encoded as base64 or an image data URL | |
| parent_generation_result_id | Yes | Generation result ID of the original image |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and idempotentHint=false, which align with the write behavior. The description adds context that saves a 'child generation result' and is 'App-only,' clarifying the data model and invocation scope. It could mention return behavior, but annotations cover safety traits adequately.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly worded sentences immediately establish the tool's restricted audience and purpose. No wasted words; every element contributes essential context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool intentionally hidden from host LLMs, the description provides sufficient context for an agent to recognize it as internal. Schema covers required parameters, and the description clarifies the triggering flow. Minor gap: no return value or error behavior described, but given the 'App-only' designation, this is less critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 5 parameters with descriptions, so baseline is 3. The description doesn't add new parameter-level information beyond what's in the schema, though it gives context for image_base64 and parent_generation_result_id through 'user-edited image' and 'child generation result.'
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'save a user-edited image from the shared ImageDetail retouch editor as a child generation result.' It uses a specific verb and resource, and the 'child generation result' distinguishes it from sibling save tools like save_generated_avatar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'after the user presses Save.' Also clearly excludes host LLMs with 'Hidden from host LLMs; the MCP iframe calls this,' providing strong context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_local_garment_uploadPrepare Local Garment UploadAInspect
First step for garment images on the host's local filesystem, such as files in ~/Downloads. Use only when the host can read those local files and perform the returned direct multipart HTTP uploads, such as Codex. Include every returned form field and send the file bytes under the returned file_field. Never send a local path to Uwear. Do not use this for ChatGPT attachments or existing public URLs. After every upload succeeds, call finish_local_garment_upload with the returned upload handles.
| Name | Required | Description | Default |
|---|---|---|---|
| files | Yes | Local image metadata in a stable order. The local paths never leave the client. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond the annotations: the returned form fields and file_field must be used, local paths must never be sent to Uwear, and a follow-up call is required. This adds essential context about the two-step protocol and response handling, compensating for the lack of an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence in the description serves a distinct purpose: scoping, prerequisites, execution details, security constraint, exclusions, and next-step instruction. It is dense yet efficient, with no redundant or filler content, and the key action is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (two-step upload process) and the absence of an output schema, the description is remarkably complete. It tells the agent exactly what to do with the response, what to avoid, and what to call next, covering all necessary context for successful invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides comprehensive descriptions for each parameter (file_name, content_type, content_length) with constraints like max length and MIME type enums. The description adds no new parameter-level meaning—it only restates the local path rule already embedded in the schema—so the baseline of 3 for high schema coverage is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's role as the first step for uploading garment images from the host's local filesystem, using specific verbs like 'prepare' and identifying the resource. It also differentiates from sibling upload tools by explicitly excluding ChatGPT attachments and public URLs, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit conditions for use: only when the host can read local files and perform direct multipart HTTP uploads. It also states exclusions ('Do not use this for ChatGPT attachments or existing public URLs') and directs the agent to call finish_local_garment_upload afterward, offering clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_briefCreate Brief for ApprovalADestructiveInspect
Create a Uwear BriefProposal from canonical generation commands. Every commands[].input is the exact REST GenerationIntent contract; commands and immutable plans are persisted without translation. Supply a concrete model_slug for generate, edit, upscale, and video. Use durable command.source IDs for uploaded files or generation results, and reference_attachments for additional references. For video, attach available full back or side garment assets that the camera may reveal when capacity permits; having the asset uploaded is not enough. If the response contains video_garment_view_not_attached, explain its exact assets, node, and capacity, then follow its remediation. Never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity. Set execute_immediately=true only when the user explicitly asks to run now. Include creative_context for photoshoots and explain the art direction after proposing. For changes to a visible brief, call update_brief with the complete replacement command list.
| Name | Required | Description | Default |
|---|---|---|---|
| commands | Yes | Canonical generation commands. Each command contains the exact REST GenerationIntent contract and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lighting, mood, camera, pose — for video, motion and camera movement); without art_direction_id the prompt is the entire creative direction, so give it the full scene. The attached garment/avatar/reference images carry product appearance, so never pad prompts with restated garment construction details, product-fidelity warnings, or negative 'do not' instruction blocks; styling intent (fit, tuck, drape) is fine. For video commands, attach available full back or side garment assets that the camera may reveal through input.reference_attachments when capacity permits. Do not combine reference_attachments with img_ref_urls; uploaded garment assets are not attached automatically. | |
| creative_context | No | Required for photoshoot proposals and brief rewrites. Summarize the shoot-level creative approach that guided garment combos, avatars, prompts, and pipeline steps. By default prefer one cohesive art direction across the photoshoot, e.g. 'urban summer editorial', 'standard grey e-commerce', or 'sporty studio catalog'. Per-look prompts may differ for garment details, pose, framing, or avatar, but should feel part of the same shoot unless the user explicitly asks for multiple art directions, split concepts, A/B routes, or varied campaign directions. The assistant should explain this art direction to the user after proposing the brief and ask if they want changes. | |
| execute_immediately | No | Set true only when the user explicitly asks to prepare/create/generate/run the photoshoot without another review step. When true, Uwear persists the brief, confirms it, and executes it directly if credits and validation allow; otherwise it falls back to the editable BriefProposal. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, etc.), the description discloses significant behavioral traits: commands and immutable plans are persisted without translation, video attachment requires full back/side assets beyond mere upload, and the specific remediation for the video_garment_view_not_attached response. There is no contradiction with the annotations; the description adds context about persistence, validation fallback, and error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph, but every sentence carries essential guidance. It is front-loaded with the core purpose, and while it could benefit from bullet points or clearer segmentation, the content is tightly packed and each clause earns its place given the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does partially cover return behavior by mentioning the BriefProposal creation and the video_garment_view_not_attached error remediation. It covers persistence, execution fallback, and required context. However, it does not fully describe the success return object's structure or other possible error cases, leaving some gap for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds valuable parameter semantics: it clarifies that model_slug is required for specific command types (generate, edit, upscale, video), explains the use of durable source IDs and reference_attachments, and qualifies when execute_immediately and creative_context should be set. This goes beyond the schema's already rich descriptions, so a score above the baseline of 3 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource statement: 'Create a Uwear BriefProposal from canonical generation commands.' It clearly distinguishes the tool from its sibling update_brief by explicitly stating 'For changes to a visible brief, call update_brief with the complete replacement command list.' The title 'Create Brief for Approval' reinforces the purpose without being a mere tautology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidance. It names the alternative tool update_brief for modifications, instructs when to set execute_immediately=true (only when the user explicitly asks to run now), and mandates creative_context for photoshoots. It also offers specific constraints like never mixing reference_attachments with img_ref_urls, giving the agent clear operational boundaries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_montageCreate Video MontageARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | Ordered list of montage items. Each is either an existing video or an image needing video generation. Min 1, max 10. | |
| aspect_ratio | No | Output aspect ratio (e.g. '9:16', '16:9', '1:1') | 9:16 |
| base_resolution | No | Output resolution height in pixels |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial behavioral context beyond the annotations: it clarifies that this tool only PROPOSES a montage for user review (not an actual export), that the user can edit/generate/export later, and that export is free while video generation costs credits. It also details how various parameters affect behavior (trim, generation, speed/mute). With annotations already declaring read-only and idempotent, the description enriches the agent's understanding of the propose-first workflow and cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence earns its place. It is front-loaded with the critical scoping statement ('ONLY for video montage...'), then systematically covers exclusions, the proposal workflow, per-item semantics, and cost behavior. The structure flows logically from when-to-use to how-to-invoke, and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (nested MontageItemInput with 13 sub-properties, mixed video/image handling), yet the description covers all major aspects: item types, required fields, trim semantics, duration handling for image vs video, audio generation, aspect ratio, resolution, credit costs, and the post-proposal flow. The absence of an output schema is compensated by explaining the proposal-review-confirm sequence. This is as complete as one could expect for such a tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 100%, the description adds meaningfully beyond the schema: it explains how to interpret user requests like '3 seconds each' into setting target_duration: 3 on every item, instructs to tailor per-image motion prompts and avoid generic repeated prompts, and advises inspecting the image with view_image when motion isn't specified. These are practical parameter-usage rules that go beyond the raw field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's sole purpose: video montage/stitching/export workflows, and that it PROPOSES a montage for user review. It explicitly differentiates from sibling tools like propose_brief and mcp_export_montage, and enumerates the exact trigger phrases ('create a montage', 'stitch clips', 'make a reel', etc.). This is a specific verb+resource with strong sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use guidance, including exact user request patterns, and equally explicit when-not-to-use exclusions (photoshoots, lookbooks, product shoots) with the correct alternative path ('request_user_context followed by propose_brief/update_brief'). It also warns against calling the tool merely because images exist in context, and clarifies that photoshoots must first be proposed as a BriefProposal. This is textbook usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_outfitsPropose OutfitsARead-onlyIdempotentInspect
Use Uwear's outfit proposer to create styled outfit combinations from selected garments. Returns candidate titles, clothing_item_ids, and short rationales; call create_outfit_from_garment_ids only after the user chooses a proposal to save.
| Name | Required | Description | Default |
|---|---|---|---|
| max_outfits | No | Maximum number of outfit proposals to return | |
| instructions | No | Optional styling brief, occasion, season, constraints, or vibe | |
| clothing_item_ids | Yes | Accessible clothing item IDs to combine into outfit proposals |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds behavioral value by disclosing return contents ('candidate titles, clothing_item_ids, and short rationales') and the correct follow-up action, which are not present in annotations. It doesn't contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no redundant phrases. The first sentence introduces the tool's core purpose, and the second provides return details and workflow. Every word contributes essential information, making it efficiently front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, return payload, and the necessary next step (calling create_outfit_from_garment_ids). Since there is no output schema, describing return contents is essential and handled well. It doesn't detail edge cases or advanced behaviors, but those are unlikely needed for a straightforward proposal tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with all three parameters (clothing_item_ids, max_outfits, instructions) already described in the input schema. The description adds no additional parameter-specific meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'use Uwear's outfit proposer to create styled outfit combinations from selected garments.' It identifies the specific resource (outfit proposals) and action (propose), and distinguishes itself from sibling tools like create_outfit_from_garment_ids by explicitly reserving that tool for a later saving step.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it tells the agent to call this tool to generate proposals and to call create_outfit_from_garment_ids only after the user chooses one. It doesn't explicitly list alternative tools or say when not to use it, but the workflow guidance is strong enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_production_workflow_versionPublish VersionADestructiveInspect
Validate a draft, freeze it, and make it the version triggers execute. Rejects an invalid graph and returns the reason. See uwear://contracts/production-workflow for typed node configs and worked examples.
| Name | Required | Description | Default |
|---|---|---|---|
| version_id | Yes | Workflow version ID | |
| workflow_id | Yes | Workflow ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| edges | Yes | |
| nodes | Yes | |
| version | Yes | |
| workflow | Yes | |
| resource_type | No | |
| failure_policy | Yes | |
| contract_version | Yes | |
| result_projection | Yes | |
| estimated_credit_units | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotency=false. The description adds behavioral context: validation, freezing, and making triggers execute, plus rejection of invalid graphs with a reason. This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, and a helpful pointer to a contract. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has only two simple UUID params and an output schema. The description explains the outcome (freeze/publish), condition (validated draft), and failure mode (rejects invalid). It is complete for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides full coverage of the two UUID parameters with descriptions. The description adds no additional parameter-specific meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Validate a draft, freeze it, and make it the version triggers execute.' This uses specific verbs and a resource, and distinguishes it from sibling tools like create/update/get version. The mention of rejection and returning a reason adds specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: it is for taking a draft version and making it the active/executed one, as opposed to creating or updating. It doesn't explicitly name alternatives but the context is clear and requires no exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queue_generation_result_qaRun QA on ResultsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| max_qa_retries | No | Maximum QA-triggered retry generations to allow. Retry generations can cost additional generation credits. | |
| generation_result_ids | Yes | Generation result IDs to QA. Queued or requeued QA costs 1 credit per result. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true, readOnlyHint=false, and idempotentHint=false. The description adds valuable context about credit costs (1 credit per result, no charge for already-completed rows) and that 'Retry generations can cost additional generation credits.' It also notes the tool is 'built for scale' and clarifies behavior for large batches. While it doesn't explicitly state destructive outcomes, the credit/retry details give additional transparency beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than typical but every sentence carries information: purpose, usage triggers, exclusions, workflow, costs, scale guidance. It is front-loaded with the core purpose and remains organized and scannable. A slight deduction for being a bit verbose, but it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description should hint at expected outcomes. It does this indirectly by directing the user to call read_generation_result_qa afterward, implying the tool queues QA rather than returning results. It also covers costs, retries, scale, and when to avoid auto-invocation. Missing an explicit statement of what the tool returns (e.g., queue status or IDs), but the follow-up instruction mitigates this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both generation_result_ids and max_qa_retries have descriptions that already mention credit costs and retry implications. The tool description repeats those cost mentions but does not add new semantic meaning beyond the schema. Since schema does the heavy lifting, baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is the 'Default tool for generation-result QA' with a specific verb (queue/run QA) and resource (generation results). It clearly distinguishes itself from view_image by explicitly forbidding substitution unless the user asks for manual visual critique. This is a specific verb+resource with sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use criteria ('whenever the user asks to QA, quality check, validate, review, inspect for defects, approve/reject, or assess already-created generation results'), a clear workflow ('First identify the numeric generation_result_ids, then call this tool, then call read_generation_result_qa'), and explicit exclusions ('do not substitute view_image', 'do not queue QA on your own initiative' for small batches). This fully addresses when and when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_generation_result_qaRead QA ResultsARead-onlyIdempotentInspect
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 | Required | Description | Default |
|---|---|---|---|
| generation_result_ids | Yes | Generation result IDs to read QA for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds value by explaining the tool returns structured QA decision and issues, and advising the agent to summarize rather than give a manual opinion. This extra context about output content and expected behavior goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the verb 'Read' and the resource. Every clause provides useful information: purpose, sequencing, and usage guidance. No waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter read-only tool, the description covers purpose, when to call, what to return, and how to handle the result. Annotations cover safety, and schema covers parameters. No output schema is needed because the description indicates structured data and summarization advice. Complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter generation_result_ids, with clear description. The tool description does not add significant parameter detail, but the schema already fully describes what the parameter means. Baseline 3 applies because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads official Uwear QA status, decision, and structured QA JSON for existing generation results. It distinguishes itself from siblings by emphasizing 'official' and 'structured' data, and explicitly contrasts with view_image, making the purpose specific and non-ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'Call this after queue_generation_result_qa when the user asks to QA/check/validate/review generated outputs' and instructs to 'summarize the structured decision and issues, not a manual view_image opinion.' This clearly tells when to use it and what not to do, differentiating it from alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_user_contextAsk User to Pick AssetsARead-onlyIdempotentInspect
FIRST tool to call for a new photoshoot only when the user has not supplied garment/outfit IDs or textual selectors such as tag names, saved ArtDirection names, location names, or outfit names. Opens the MCP app/gallery so the user can choose assets, add them to the Shoot Board, and press Confirm context. BLOCKS until the user confirms their selection. Do not use this when a no-UI path can resolve the request with list_tags/get_items_by_tag/list_garments or the ArtDirection lookup tools. Do not tell the user to drag assets into chat. If the user has no garments/outfits, ask them to attach garment/product images and use upload_garment_from_chat_file, upload_garment_from_public_url, or create_outfit_from_garment_ids before trying to create a brief. Do not request models when inventory shows avatars=0. Avatar/model is optional; only ask for one when the user wants a specific or consistent person. If they want a model and have none, ask for a person photo and use upload_avatar_from_chat_file, or use generate_avatar if they want Uwear to create a reusable model.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Instruction shown to the user, e.g. 'Select the clothing items you want to use and add them to the Shoot Board' | |
| min_items | No | Minimum number of items the user must provide | |
| expected_types | Yes | Accepted item types (match panel tabs): 'clothing', 'models', 'outfits', 'generations', 'files'. Legacy 'file' is accepted as an alias for 'files'. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, but the description adds crucial behavioral context: 'BLOCKS until the user confirms their selection.' It also warns against telling users to drag assets into chat and advises to skip model requests when avatars=0. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy but every sentence serves a purpose: condition, behavior, exclusions, alternatives, and special cases. It is front-loaded with the primary purpose and subsequent guidance is logically organized. It earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and the tool's complexity, the description is remarkably complete. It covers when to call, blocking behavior, no-UI alternatives, fallback upload procedures, and avatar handling. This is more than sufficient for an agent to decide and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds context about expected_types by explaining when to request models (optional, only if specific person is wanted) and mentions 'garment/outfit IDs or textual selectors' which indirectly relates to prompt construction. This goes slightly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states this is the 'FIRST tool to call for a new photoshoot' when the user hasn't supplied asset IDs or selectors. It specifies the action: 'Opens the MCP app/gallery so the user can choose assets, add them to the Shoot Board, and press Confirm context.' This distinguishes it from sibling tools by explicitly withholding it when a no-UI path can resolve the request.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit criteria for when to use this tool ('only when the user has not supplied garment/outfit IDs or textual selectors') and when not to use it ('Do not use this when a no-UI path can resolve the request'). It even names alternatives like list_tags/get_items_by_tag/list_garments and upload_garment_from_chat_file, plus avatar fallback options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_generated_avatarSave Generated AvatarAInspect
Save a completed generate_avatar image result as a reusable avatar/model in the user's library. Use only after generate_avatar finishes and the user chooses a candidate. Normal text-to-image results are not eligible because they do not contain the avatar creator's reopenable inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name for the saved avatar/model | |
| description | No | Optional avatar metadata. If omitted, the system can analyze the image. | |
| enhance_description | No | Analyze the image to create avatar metadata when description is omitted | |
| generation_result_id | Yes | Completed image result ID returned by generate_avatar. Normal text-to-image results are not eligible because they do not contain reopenable avatar-creator inputs. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (all hints false), so the description carries the burden. It adds useful context about eligibility and the reason (reopenable avatar-creator inputs), but it does not disclose side effects like duplicate saving, overwrite behavior, permission requirements, or what happens on success/failure. This is acceptable but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each earning its place. The first states the action and destination; the second gives critical usage context and exclusion. No filler or repetition of schema/annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward save operation with fully documented parameters and clear usage guidance, the description is complete enough. It lacks return-value info, but there is no output schema and the agent can infer typical save behavior. Given the clarity of eligibility and user-selection context, this is solid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a description. The tool description adds no parameter-specific detail beyond what the schema provides. Baseline 3 is appropriate; the description does not compensate further, but the schema fully documents the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Save a completed generate_avatar image result as a reusable avatar/model in the user's library.' It clearly distinguishes itself from sibling tools like generate_avatar and upload_avatar_from_chat_file by stating this applies only to completed generate_avatar results, not normal text-to-image outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use only after generate_avatar finishes and the user chooses a candidate.' It also gives a clear when-not scenario: normal text-to-image results are not eligible because they lack reopenable inputs. However, it does not explicitly name an alternative tool for those ineligible cases, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_reference_file_from_chat_fileSave Reference ImagesAInspect
Batch save reference images from chat attachments into the Files library. Keep file metadata in files[] and pass top-level image_file_1, image_file_2, etc. in the same order. No base64, no local paths. Use for mood boards, backgrounds, and other reference images that are not garments or avatars.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Reference file metadata in the same order as image_file_1, image_file_2, etc. No base64. | |
| file_name | No | Single recovered display name | |
| image_url | No | Single resolved download URL used by automatic opaque-file recovery. | |
| mime_type | No | Single recovered MIME/content type, e.g. image/png | |
| image_file_1 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false), so the description must carry behavioral weight. It adds input-order and format constraints ('Keep file metadata in files[] and pass top-level image_file_1... in the same order. No base64, no local paths'), but it does not disclose return values, overwrite behavior, or required permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two information-dense sentences: first states the core action, second gives ordering constraints and use-case exclusions. No redundant phrasing or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite high schema coverage, the description omits the single-file recovery path (file_name, image_url, mime_type) and does not mention return values. With 14 parameters and no output schema, these are meaningful gaps for an agent trying to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of parameters, but the description adds the critical relationship between files[] and image_file_N ordering, which is not explicit in the schema. The 'No base64, no local paths' rule also clarifies parameter value constraints beyond individual descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Batch save reference images from chat attachments into the Files library', providing a specific verb, resource, and destination. It explicitly differentiates from siblings by saying 'not garments or avatars', which distinguishes it from upload_garment_from_chat_file and upload_avatar_from_chat_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers clear usage context: 'Use for mood boards, backgrounds, and other reference images that are not garments or avatars.' This provides a when-to-use and a when-not-to-use, but it doesn't explicitly name alternative tools, so it stops short of the full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_templateSave TemplateADestructiveInspect
Create a canonical company template, or replace one by passing template_id with expected_revision. Send typed GenerationCommand objects; updates are complete replacements. This persists the template and does not generate images. If a generation_preset create fails structurally, or legacy keys appear (camera_quantities, step2_operations, operations, fixed_context, variable_context, input_policy, cameraQuantities, step2Operations, fixedContext, variableContext, inputPolicy, or their camelCase forms), these describe a batch workflow — use template_kind=batch_workflow. front + back is one batch workflow: Step 1 front generation, Step 2 back camera edit.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Template name | |
| payload | Yes | Versioned template payload containing canonical generation commands | |
| description | No | Optional sentence explaining when to use the template | |
| template_id | No | Template ID when replacing an existing template | |
| catalog_scope | No | Template catalog scope: library or owner_only | library |
| template_kind | Yes | Template kind: generation_preset or batch_workflow | |
| expected_revision | No | Current revision when replacing an existing template; omit for create |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits beyond the annotations: 'updates are complete replacements' (destructive semantics), 'persists the template and does not generate images' (side-effect scope), and the batch workflow step structure ('Step 1 front generation, Step 2 back camera edit'). It even explains the failure condition that triggers batch workflow. This goes far beyond the destructiveHint=true annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and information-dense, with the primary purpose front-loaded. The legacy key enumeration is long but directly serves error recovery; the batch workflow explanation is necessary. No filler sentences. It could be tightened by moving the legacy key details to a 'note,' but overall it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with nested GenerationCommand objects, two template kinds, and a destructive replacement mode, the description covers purpose, side effects, failure modes, legacy-key mapping, and batch workflow structure. With no output schema, it still orients the agent sufficiently to call correctly. The only gap is return-value behavior, but output schema is absent and the description is otherwise comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantics: it clarifies that payload must contain typed GenerationCommand objects, explains the meaning of template_id + expected_revision for replacement, and maps legacy keys to the template_kind parameter. This is more than the schema's field descriptions provide, especially for choosing batch_workflow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Create a canonical company template, or replace one by passing template_id with expected_revision.' It clearly distinguishes creates from replaces and separates template saving from generation ('does not generate images'). It also differentiates the two template kinds (generation_preset vs batch_workflow), making it distinct from sibling template/workflow tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: use batch_workflow when structural failures or legacy batch keys appear. It also states the tool 'does not generate images,' steering agents away from using it for generation. However, it does not explicitly name sibling alternatives or state when NOT to save a template (e.g., prefer update_production_workflow), so clear context but no formal exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_uwear_librarySearch LibraryARead-onlyIdempotentInspect
Universal hybrid retrieval across the user's visible Uwear library: garments, avatars/models, locations, ArtDirections, uploaded files, and generation results. Use this before opening the picker when the user describes assets or saved creative direction by exact name/SKU or natural language, e.g. 'SKU 42', 'urban art direction', 'summer denim', or 'studio model'. For saved outfits, retrieve matching garments first, then call list_outfits with clothing_item_ids or propose_outfits from the garment IDs. Returns stable typed IDs, ids_by_type, detail_tool/detail_arguments, and selection hints; for saved ArtDirections, use the returned art_direction_id in briefs. This combines indexed lexical matching with vector retrieval; do not run separate substring searches.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of hybrid matches to return | |
| query | Yes | Hybrid retrieval query. Handles exact names/SKUs/IDs and natural-language visual or attribute intent. | |
| item_types | No | Optional item types to search. Omit to search clothing, avatars/models, locations, art directions, uploaded files, and generation results. | |
| refresh_index | No | Force-refresh missing or stale index rows for currently visible library items before searching. Leave false for normal MCP use; search refreshes once automatically only when no accessible match is found. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (read-only, idempotent, non-destructive), the description discloses the retrieval mechanism ('indexed lexical matching with vector retrieval'), what is returned ('stable typed IDs, ids_by_type, detail_tool/detail_arguments, and selection hints'), and how to use ArtDirection results ('use the returned art_direction_id in briefs'). This adds substantial behavioral context not present in the structured data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, information-packed sentences that front-load the core purpose and scope, then provide usage guidance, return-value summary, and technical detail. Every sentence earns its place without redundancy, and the structure is logical: scope → when to use → workflow → return semantics → technical mechanism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple item types, hybrid retrieval, no output schema), the description is remarkably complete. It explains the return format, integration with list_outfits and propose_outfits, how to handle ArtDirections in briefs, and the internal retrieval methodology. Combined with the rich input schema and annotations, it provides all needed context for an AI agent to select and use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptive parameter names and explanations (e.g., 'Hybrid retrieval query. Handles exact names/SKUs/IDs and natural-language visual or attribute intent'). The description adds no additional parameter-level detail, but reinforces the query semantics with examples. Baselines at 3 given full schema coverage; no more credit warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs 'universal hybrid retrieval' across the user's visible Uwear library, naming specific resource types (garments, avatars/models, locations, ArtDirections, uploaded files, generation results). It distinguishes itself from sibling tools by specifying 'use this before opening the picker' and 'do not run separate substring searches', making its unique role and scope unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells when to use the tool (when user describes assets by exact name/SKU or natural language) and provides concrete examples. It also gives clear alternatives for specific scenarios, such as 'retrieve matching garments first, then call list_outfits with clothing_item_ids or propose_outfits from the garment IDs', and warns against redundant substring searches. This fully addresses usage versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_production_workflow_runStart Workflow RunADestructiveIdempotentInspect
Start one run of a workflow's published version. Requires an idempotency_key: the same key never starts a second run.
| Name | Required | Description | Default |
|---|---|---|---|
| run | No | Run request with an optional test version, trigger object identity, and payload | |
| workflow_id | Yes | Workflow ID | |
| idempotency_key | Yes | Unique key that makes retries return the same workflow run |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| status | Yes | |
| is_test | Yes | |
| replayed | No | |
| created_at | Yes | |
| started_at | Yes | |
| finished_at | Yes | |
| workflow_id | Yes | |
| resource_type | No | |
| definition_hash | Yes | |
| contract_version | Yes | |
| net_credit_units | Yes | |
| trigger_event_id | Yes | |
| workflow_version_id | Yes | |
| debited_credit_units | Yes | |
| refunded_credit_units | Yes | |
| estimated_credit_units | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as destructive and idempotent. The description adds valuable behavioral context: it requires an idempotency_key and guarantees the same key never starts a second run. This goes beyond the annotations by explaining the idempotency mechanism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, front-loaded with the action, and no filler. Every word earns its place: the first sentence states the core function, the second adds the critical idempotency requirement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema and high schema coverage, so the description need not explain return values or all parameters. It captures the essential selection and usage context. Minor gap: the description says 'published version' but the schema's 'run' object allows an optional version_id (possibly a test version); however, schema fills this gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so parameters are already well-documented. The description adds no new parameter-level detail beyond emphasizing idempotency_key, which the schema already explains. Baseline 3 is appropriate given high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Start one run of a workflow's published version') and clearly distinguishes from the batch sibling 'start_production_workflow_run_batch' by emphasizing 'one run'. This makes the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this tool starts a single run of a published workflow, implying use for individual runs rather than batch operations. It does not explicitly name alternatives like the batch tool, but the 'one run' wording effectively guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_production_workflow_run_batchStart Workflow Runs (Batch)ADestructiveIdempotentInspect
Start one run per selected object (multi-select / catalog backfill). Each object is admitted independently; failures do not sink the rest.
| Name | Required | Description | Default |
|---|---|---|---|
| batch | Yes | Batch request: one run per object_id, sharing object_type, payload and call-sheet slot_bindings | |
| workflow_id | Yes | Workflow ID | |
| idempotency_key | Yes | Base key for the batch; each run derives key:object_id so retries return the same runs |
Output Schema
| Name | Required | Description |
|---|---|---|
| runs | Yes | |
| failures | Yes | |
| resource_type | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a valuable behavioral trait: 'Each object is admitted independently; failures do not sink the rest' — indicating non-atomic, partial-failure behavior not already present in annotations. This aligns with readOnlyHint=false and destructiveHint=true, and no contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the main action front-loaded. The second sentence adds a pertinent caveat without any fluff or repetition of schema/annotation content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema and comprehensive annotations, the description covers the batch use case and failure behavior adequately. It doesn't need to explain return values or parameter syntax. Slightly incomplete because it omits the idempotency behavior, but that is already disclosed by the idempotentHint annotation and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description's phrase 'per selected object' adds slight context but does not meaningfully enhance understanding of parameters like `object_type` or `idempotency_key` beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Start') and resource ('one run per selected object'), clearly distinguishing this batch tool from the single-run sibling `start_production_workflow_run`. The parenthetical 'multi-select / catalog backfill' reinforces the exact use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through 'multi-select / catalog backfill' and the batch naming, which clearly signals when this tool should be used over the singular `start_production_workflow_run`. It lacks an explicit 'use this when...' formulation but is otherwise unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_art_directionUpdate Art DirectionADestructiveInspect
Update a company ArtDirection. System ArtDirections are read-only. When changing markdown directly, preserve the Variation Controls parser contract: reusable alternatives must be under ## Variation Controls, not only in prose.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Updated ArtDirection name | |
| art_direction_id | Yes | The ArtDirection ID to update | |
| content_markdown | No | Updated complete ArtDirection markdown. If editing directly, every reusable alternative that should rotate across generations must live under `## Variation Controls` as `###` controls with `A. Option` lines; do not leave selectable worlds, pose families, or shot-role plans only in prose. | |
| reference_image_attachments | No | Replacement authoring reference image attachments. These are for iterating the markdown only, not generation-time references. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, and the description adds valuable context beyond that: system ArtDirections are read-only, and the Variation Controls parser contract must be preserved when editing markdown. This enriches the behavioral profile without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each serving a distinct purpose: what the tool does, a critical usage constraint, and the parser-contract rule. No filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers key operational risks (system read-only, markdown parser) and important parameter semantics. However, it does not clarify whether partial updates are allowed (e.g., omitting name leaves it unchanged) or describe the response shape, which is a minor completeness gap given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already documents all parameters, so baseline is 3. The description adds meaningful semantics for content_markdown by specifying the exact structure required (## Variation Controls, ### controls, A. Option lines), which goes beyond the schema's general guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('Update') and the specific resource ('company ArtDirection'), immediately distinguishing it from create, get, list, or duplicate sibling tools. The additional note about System ArtDirections being read-only further clarifies its target scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear when-not: system ArtDirections are read-only, so this tool is only for company ArtDirections. It also provides context for when editing markdown directly, but does not explicitly name alternatives like create_art_direction or get_art_direction, so it lacks full alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_briefRevise BriefAInspect
Replace the visible Uwear BriefProposal with a complete canonical command list. Edit commands[].input directly using the exact REST GenerationIntent fields and preserve every unchanged field and durable source. This is replacement state, not a partial diff. For video_garment_view_not_attached warnings, follow the capacity-aware remediation: never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity. Include updated creative_context for photoshoot rewrites and explain the changed art direction.
| Name | Required | Description | Default |
|---|---|---|---|
| commands | Yes | Canonical generation commands. Each command contains the exact REST GenerationIntent contract and a durable source reference. Write each input.prompt as a compact positive scene description (setting, lighting, mood, camera, pose — for video, motion and camera movement); without art_direction_id the prompt is the entire creative direction, so give it the full scene. The attached garment/avatar/reference images carry product appearance, so never pad prompts with restated garment construction details, product-fidelity warnings, or negative 'do not' instruction blocks; styling intent (fit, tuck, drape) is fine. For video commands, attach available full back or side garment assets that the camera may reveal through input.reference_attachments when capacity permits. Do not combine reference_attachments with img_ref_urls; uploaded garment assets are not attached automatically. | |
| creative_context | No | Required for photoshoot proposals and brief rewrites. Summarize the shoot-level creative approach that guided garment combos, avatars, prompts, and pipeline steps. By default prefer one cohesive art direction across the photoshoot, e.g. 'urban summer editorial', 'standard grey e-commerce', or 'sporty studio catalog'. Per-look prompts may differ for garment details, pose, framing, or avatar, but should feel part of the same shoot unless the user explicitly asks for multiple art directions, split concepts, A/B routes, or varied campaign directions. The assistant should explain this art direction to the user after proposing the brief and ask if they want changes. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag readOnlyHint false and destructiveHint false, but the description adds critical behavioral detail: 'preserve every unchanged field and durable source' and 'This is replacement state, not a partial diff.' It also discloses the constraint 'never mix reference_attachments with img_ref_urls or append recommendations beyond remaining capacity,' which goes beyond the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only three sentences long, yet each sentence delivers essential information: the core replacement action, preservation semantics, and warning remediation plus creative_context. It front-loads the primary purpose and avoids redundant restatement of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description and the rich input schema together provide sufficient context for correct invocation: replacement semantics, preservation rules, warning remediation, and creative_context guidance are all covered. It does not mention that there is no immediate execution, but that is stated in the schema's top-level description, and no output schema exists so return behavior is not a gap. Overall, the definition is complete for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for commands and creative_context, so the baseline is 3. The description adds meaningful guidance: it instructs to 'Edit commands[].input directly using the exact REST GenerationIntent fields,' emphasizes preserving unchanged fields, and mandates creative_context for rewrites. It also adds the critical parameter rule about not combining reference_attachments with img_ref_urls, which is not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Replace the visible Uwear BriefProposal with a complete canonical command list,' which precisely states the verb and resource. It further distinguishes the tool from partial updates by stating 'This is replacement state, not a partial diff.' The mention of updating creative_context for photoshoot rewrites clarifies the scope even more.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage context for rewriting a visible brief and specifically instructs to 'Include updated creative_context for photoshoot rewrites.' It also provides scenario-specific guidance for handling 'video_garment_view_not_attached warnings' with capacity-aware remediation. It does not explicitly name alternative tools but implies full replacement semantics versus partial edits.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_garmentUpdate GarmentADestructiveInspect
Update a garment's metadata or patch its product photos. Send image changes through assets[] with front/back/side/detail roles. Provided front/back assets replace those singleton roles; provided side/detail assets are added. Omitted existing assets are preserved.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Updated garment name | |
| assets | No | Asset patch for garment product photos. A provided full front/back/side replaces that unique view; provided detail assets are added. Omitted existing assets are preserved. | |
| gender | No | Updated target gender: male, female, or unisex | |
| description | No | Updated item-level garment description, or a hint to use when patching images | |
| image_file_1 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_2 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_3 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_4 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_5 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_6 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_7 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_8 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_9 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_10 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_11 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_12 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_13 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_14 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_15 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_16 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_17 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_18 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_19 | No | Generic top-level MCP file object for assets[].image_file references | |
| image_file_20 | No | Generic top-level MCP file object for assets[].image_file references | |
| clothing_item_id | Yes | The garment ID to update |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, setting the safety context. The description adds valuable behavioral detail beyond annotations: front/back assets replace singleton roles, side/detail assets are added, and omitted existing assets are preserved. This clarifies the partial-update semantics and asset-handling behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the primary purpose, and each sentence adds essential behavior. No redundant or filler content. It is appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (25 parameters) and no output schema, the description covers the core update message and the nuanced asset patch behavior. It does not explain the linkage between top-level image_file_* params and assets[].image_file, but the schema already documents those fields. The essential context is sufficiently covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds some meaning by grouping metadata (name, gender, description) and explaining asset array semantics. However, the schema's assets property already states the same replacement/addition behavior, so the description adds limited extra value over the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Update') with a clear resource ('a garment's metadata or patch its product photos'). It distinguishes from sibling tools like upload_garment_from_chat_file and list_garments by focusing on modifying an existing garment. The verb+resource structure is precise.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for updating existing garments, including how to handle image patches. It does not explicitly name alternatives or exclusions (e.g., 'use upload_garment_from_chat_file to create'), but the intent is evident from 'Update' and the presence of upload/create siblings. The asset replacement rules also serve as usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_montage_proposalUpdate Video MontageARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| muted | No | Mute or unmute the selected clip(s). | |
| speed | No | Playback speed multiplier. | |
| prompt | No | Update the motion prompt for image-to-video montage items. | |
| remove | No | Remove the selected clip(s) from the proposal. | |
| end_time | No | Trim end time in seconds for legacy trim-range updates. | |
| clear_trim | No | For video clips, remove trim bounds and restore the full clip length in the proposal. | |
| operations | No | Ordered montage patch operations. Preferred over the legacy flat fields below. | |
| start_time | No | Trim start time in seconds for legacy trim-range updates. | |
| clip_number | No | 1-based clip number to update. Omit when apply_to_all=true. | |
| video_model | No | Update the video model for image-to-video montage items. | |
| apply_to_all | No | Apply changes to every clip in the current montage proposal. | |
| aspect_ratio | No | Update the montage output aspect ratio. | |
| clip_numbers | No | Optional list of 1-based clip numbers to update together. | |
| generate_audio | No | Enable or disable generated audio for image-to-video montage items. | |
| last_frame_url | No | Optional last-frame URL for image-to-video montage items. | |
| base_resolution | No | Update the montage output resolution height. | |
| target_duration | No | Desired final clip length in seconds. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool 'patches' and 'updates' the montage proposal, which clearly implies a mutable side effect. However, annotations declare readOnlyHint: true, which explicitly claims the operation is read-only and has no side effects. This direct contradiction makes the behavioral transparency unreliable, warranting the minimum score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: purpose, exclusions, operation preference, ordering semantics, legacy shim, and non-execution scope. It is front-loaded with the core action and avoids repeating schema field descriptions. Structure supports quick consumption despite the length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, many operation types), the description provides a complete mental model: what the resource is, when not to use it, how to express edits, ordering behavior, and what the tool does NOT do (export/generation). No output schema exists, so return values need not be described. The description is sufficiently complete for an agent to act on it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so baseline is 3. The description adds meaningful value by naming and grouping all supported operations, explaining that operations are applied in order, and providing natural-language examples for `set_trim_range`. It goes beyond the schema's per-field documentation, though it does not detail every parameter individually since the schema already does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Patch the latest MontageProposal already shown in the UI', which clearly specifies the verb (patch), resource (MontageProposal), and scope (already shown in the UI). It also explicitly contrasts with update_brief, distinguishing the tool from a likely sibling. This is a specific, well-differentiated purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance ('only for an existing video montage/reel/stitched sequence proposal'), exclusions ('do not use this to modify a photoshoot brief'), and alternatives ('call update_brief instead'). It also advises preferring `operations` over flat fields, with concrete examples for `set_trim_range`. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_preferencesUpdate PreferencesADestructiveInspect
Update durable user preferences, photoshoot processes, or add a prompt. Treat all model fields as explicit model pins: leave model fields unset for normal backend defaults unless the user deliberately selected a specific model. The preferred way to save how a user generates is a template (save_template): a generation-preset template for reusable concrete single-shoot settings, a batch-workflow template for an ordered repeatable multi-shot flow — see the Demo — … system templates for worked examples. Use preferences for durable raw-text guidance that is not a concrete shoot setup.
| Name | Required | Description | Default |
|---|---|---|---|
| add_prompt | No | Prompt to save: {text, category, is_favorite} | |
| preferences | No | Preference key-value updates. Model fields (default_model, default_edit_model, default_upscale_model, default_video_model, and process-level model) are explicit pins only; leave them unset for backend defaults. Prefer a generation-preset template for reproducible concrete shoot settings and a batch-workflow template for an ordered multi-shot flow. Other fields include default_aspect_ratio, preferred_camera, default_resolution, photoshoot_processes, etc. Processes format: [{name, model, camera, aspect_ratio, resolution, prompt, num_images, pipeline: [{type, editModel, editPrompt, ...}], is_default}] |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations include destructiveHint=true but the description adds valuable context: 'durable' implies persistence, and it explains the nuanced behavior of model fields ('explicit model pins: leave model fields unset for normal backend defaults'). This goes beyond the annotations by clarifying side effects and default handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but content-rich. It front-loads the core action, then explains model-field behavior, and finally gives template vs. preference guidance. Every sentence contributes meaningful information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and few parameters, but one parameter has a complex nested format. The description covers the key decision points (template vs. preference) and the pinning semantics, making it sufficient for most usage. It could mention overwrite behavior (since destructiveHint=true), but the annotation already signals this.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with descriptive parameter details (e.g., processes format, add_prompt structure). The description adds the high-level distinction between preferences and templates, but doesn't detail individual parameters beyond what the schema provides. Baseline 3 is appropriate given strong schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Update durable user preferences, photoshoot processes, or add a prompt.' It uses a specific verb ('update') and resource, and explicitly differentiates from the sibling tool save_template by describing preferences as durable raw-text guidance rather than concrete shoot setups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit guidance: 'The preferred way to save how a user generates is a template (save_template)... Use preferences for durable raw-text guidance that is not a concrete shoot setup.' It also instructs when to leave model fields unset, giving clear when-to-use versus when-not-to-use direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_production_workflowRename or Disable WorkflowBInspect
Rename a workflow, or enable/disable it. Disabling stops new runs from being admitted; runs already in flight finish.
| Name | Required | Description | Default |
|---|---|---|---|
| update | Yes | Workflow fields to update: name, enabled, or archived | |
| workflow_id | Yes | Workflow ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| enabled | Yes | |
| archived | Yes | |
| company_id | Yes | |
| created_at | Yes | |
| updated_at | Yes | |
| enabled_version_id | Yes | |
| run_time_slot_kinds | No | |
| created_by_profile_id | Yes | |
| updated_by_profile_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral consequence: disabling stops new runs but allows in-flight runs to finish. This goes beyond the annotations, which only indicate the tool is not read-only. However, it does not mention the behavior of the 'archived' parameter or any idempotency/permission aspects, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and followed by a concise behavioral note. Every word earns its place; there is no irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete because it omits the 'archived' field, which is part of the update schema and represents a valid operation. It also fails to clarify how this tool relates to archive_production_workflow, leaving a functional gap. While an output schema exists to explain return values, the missing parameter behavior makes the description insufficient for the tool's full scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for both parameters (workflow_id and update), so the baseline is 3. The description adds minimal value beyond the schema, only echoing that name and enabled can be changed. It does not elaborate on the 'archived' parameter, which is present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renames and enables/disables a workflow, with a specific verb and resource. It is distinct from sibling tools like update_production_workflow_control and archive_production_workflow, though it does not explicitly name them. The omission of the 'archived' field from the description slightly reduces clarity about the full scope of updates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as archive_production_workflow or update_production_workflow_control. The context for using it is only implied by the name and the description's mention of rename/enable, but there are no explicit when/when-not instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_production_workflow_controlStop or Resume All AutomationADestructiveInspect
Stop or resume ALL production automation for the company. Stopping requires a reason and is audited.
| Name | Required | Description | Default |
|---|---|---|---|
| control | Yes | Company-wide workflow execution stop or resume setting and optional reason |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | |
| stopped | Yes | |
| changed_at | Yes | |
| company_id | Yes | |
| resource_type | No | |
| contract_version | No | |
| changed_by_profile_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as destructive (destructiveHint: true) and not read-only. The description adds that 'Stopping requires a reason and is audited,' providing useful context about expected side effects and auditability. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that immediately states the core action and follows with the key constraint. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, annotations, and output schema present), the description provides essential information: global scope, action, and auditing requirement. It could be more explicit about resuming not requiring a reason, but overall it's sufficiently complete for the agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptive parameter ('Company-wide workflow execution stop or resume setting and optional reason'). The description adds semantic value by emphasizing that stopping requires a reason, which clarifies the role of the 'reason' parameter beyond the schema's optional flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Stop or resume ALL production automation for the company.' It uses a specific verb (stop/resume), identifies the resource (production automation), and specifies scope (ALL, company-wide). This distinguishes it from siblings like get_production_workflow_control (read-only) or update_production_workflow (per-workflow changes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use is for company-wide control but doesn't explicitly state when to use this over alternatives or any exclusions. There's no mention of get_production_workflow_control for checking current state or note that this is global vs per-workflow. Usage is inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_production_workflow_versionUpdate Draft VersionADestructiveInspect
Replace a draft's graph. Published versions are immutable — branch a new draft instead. See uwear://contracts/production-workflow for typed node configs and worked examples.
| Name | Required | Description | Default |
|---|---|---|---|
| update | Yes | Draft version fields to update: failure policy, nodes, or edges | |
| version_id | Yes | Workflow version ID | |
| workflow_id | Yes | Workflow ID |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set destructiveHint=true, and the description reinforces this with 'Replace a draft's graph.' It adds useful context beyond annotations by noting published versions are immutable, so the agent understands this operation only applies to drafts. No behavioral detail on validation or atomicity is given, but the core mutation and constraint are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, with the action front-loaded ('Replace a draft's graph'), followed by a critical constraint and a reference link. Every sentence earns its place; no redundant restatement of the schema or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex mutation with no output schema, the description covers the key behavioral constraint (drafts only, published immutable) and points to external contract for node configuration. However, it doesn't clarify whether the update is a full graph replacement or a partial field update, nor what success/failure responses look like. Given the schema's richness, this is adequate but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes the three top-level parameters and the update object's fields with 100% coverage, so the baseline is 3. The description adds value by naming the 'graph' as the target and pointing to uwear://contracts/production-workflow for typed node configs and worked examples, which helps with the complex nested nodes/edges. This elevates it slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses specific verb 'replace' and resource 'draft's graph,' clearly defining the action. It distinguishes from sibling tools by explicitly stating published versions are immutable and a new draft must be branched instead, differentiating it from publish/create/update version tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-not guidance: 'Published versions are immutable — branch a new draft instead.' This tells the agent not to use this tool on published versions and directs it to branch a new draft, an actionable alternative. No explicit sibling tool name is given, but the alternative action is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_avatar_from_chat_fileUpload Avatars from ChatAInspect
Batch upload reusable avatars/models from person photos the user attached in chat. Keep avatar metadata in avatars[] and pass top-level image_file_1, image_file_2, etc. in the same order. No base64, no local paths. Do not use ordinary text-to-image results or generated multi-panel sheets as an upload fallback; use generate_avatar followed by save_generated_avatar for Uwear-created avatars. Use only when the user explicitly wants a specific or consistent person.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Single recovered avatar/model name | |
| avatars | No | Avatar/model metadata in the same order as image_file_1, image_file_2, etc. No base64. | |
| file_name | No | Single recovered original file name | |
| image_url | No | Single resolved download URL used by automatic opaque-file recovery. | |
| mime_type | No | Single recovered MIME/content type, e.g. image/png | |
| description | No | Single recovered avatar metadata | |
| image_file_1 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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 | No | 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. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false (no readOnly/destructive hints), so the description carries more burden. It adds meaningful behavioral context: input constraints ('No base64, no local paths'), ordering requirements ('in the same order'), and scope ('reusable avatars/models', 'person photos'). It does not describe return behavior or failure modes, but the provided details go beyond the annotations. No contradiction with annotations (readOnlyHint=false aligns with an upload operation).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each earning its place: the first states the core function, the second explains the parameter relationship, the third sets constraints, and the fourth gives exclusions and alternatives. The description is front-loaded with the most important information and contains no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 16-parameter nested tool with no output schema, the description covers the essential context: purpose, usage trigger, parameter ordering, constraints, and alternatives. It does not describe the return value or explain how uploaded avatars are later referenced, which would be helpful, but the provided context is strong enough for an agent to invoke the tool correctly in most situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds crucial cross-field semantics: 'Keep avatar metadata in avatars[] and pass top-level image_file_1, image_file_2, etc. in the same order.' This relationship is not obvious from the individual schemas. It also reinforces global constraints ('No base64, no local paths') that apply across all parameters. This justifies a score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Batch upload reusable avatars/models from person photos the user attached in chat.' It specifies the verb, resource, and source, and it distinguishes the tool from siblings by explicitly excluding ordinary text-to-image results and directing to generate_avatar/save_generated_avatar. The final sentence 'Use only when the user explicitly wants a specific or consistent person' further narrows the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use only when the user explicitly wants a specific or consistent person.' It also provides when-not-to-use and alternatives: 'Do not use ordinary text-to-image results or generated multi-panel sheets as an upload fallback; use generate_avatar followed by save_generated_avatar for Uwear-created avatars.' This clearly contrasts with sibling tools and prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_garment_from_chat_fileUpload Garments from ChatAInspect
Batch upload garments from ChatGPT attachments. Defaults to background removal; pass processing_mode='none' to store original images as-is. Pass actual file objects only in top-level image_file_1, image_file_2, etc. Prefer garments[].assets with {asset_kind: full|detail, asset_view: front|back|side, image_file: 'image_file_N'}; exactly one full front is required, every full view is unique, and detail views can repeat. Do not rely on array position to pair assets; every asset must reference its exact top-level field name. No image_url here; use upload_garment_from_public_url for URLs. For local filesystem files, use prepare_local_garment_upload instead. No base64 and no local paths.
| Name | Required | Description | Default |
|---|---|---|---|
| garments | Yes | Garment metadata. Put files in top-level image_file_1..image_file_20 and reference those exact field names inside each garment. No base64. | |
| image_file_1 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_2 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_3 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_4 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_5 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_6 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_7 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_8 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_9 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_10 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_11 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_12 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_13 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_14 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_15 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_16 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_17 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_18 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_19 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. | |
| image_file_20 | No | Top-level ChatGPT file attachment. In garments[], reference this exact field name from assets[].image_file, e.g. image_file='image_file_1'. Do not rely on item order. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses behavioral details beyond annotations, such as default background removal ('Defaults to background removal') and the exact pairing rule that asset references must match top-level field names and not rely on array order. Annotations are minimal (all false hints), so the description carries a reasonable transparency burden; it does not mention return values or errors, but covers the key behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph yet well-organized: purpose first, then processing default, file placement, asset structure, constraints, and alternatives. It is longer than average but every sentence adds essential detail for a complex 21-parameter tool; a bulleted list might improve scannability, but the current structure is functional.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity (21 params, 20 file fields) and no output schema, the description covers all major usage aspects: input format, asset classification rules, processing_mode, and alternatives. It does not describe return values or error conditions, which is a minor gap for a batch upload tool, but the essential context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds critical semantics for the complex 20-file interface: clarifies that actual file objects must be passed in top-level image_file_N fields, advises preferring garments[].assets over legacy shortcuts, and restates the one-full-front/unique-full/repeat-detail rule. This goes beyond the schema's per-parameter descriptions by explaining the overall parameter relationship.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Batch upload garments from ChatGPT attachments.' It distinguishes itself from siblings by explicitly directing URL-based uploads to upload_garment_from_public_url and local filesystem uploads to prepare_local_garment_upload, making the tool's scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context and exclusions: states when to use (ChatGPT attachments), and gives direct alternatives for other input types ('No image_url here... use upload_garment_from_public_url', 'For local filesystem files, use prepare_local_garment_upload'). Also forbids base64 and local paths, and explains preferred asset structuring.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_garment_from_public_urlUpload Garments from URLAInspect
Batch upload garments from public HTTP(S) image URLs. Defaults to background removal; pass processing_mode='none' to store original images as-is. Prefer assets with {asset_kind: full|detail, asset_view: front|back|side, asset_url}; exactly one full front is required, every full view is unique, and detail views can repeat. For ChatGPT attachments, use upload_garment_from_chat_file instead. For local filesystem files, use prepare_local_garment_upload instead. No base64, chat file objects, or local paths.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Single garment name | |
| assets | No | 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. | |
| gender | No | Single garment gender: male, female, unisex | |
| garments | No | Garments to upload from public HTTP(S) URLs. No chat file objects and no base64. | |
| file_name | No | Single original file name | |
| image_url | No | Single public HTTP(S) front image URL | |
| mime_type | No | Single MIME/content type, e.g. image/png | |
| description | No | Single item-level garment description hint | |
| back_image_url | No | Single optional public HTTP(S) back image URL | |
| side_image_url | No | Single optional public HTTP(S) side image URL | |
| processing_mode | No | Optional image processing. 'background_removal' removes the background (the platform upload default); 'none' stores the image as-is. Omit to use background removal. | |
| detail_image_urls | No | Single optional public HTTP(S) detail image URLs |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, so the description needn't restate mutation. It adds useful behavioral context: defaults to background removal, requires one full front view with unique full views, and accepts repeatable detail views. This goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences and front-loaded with the primary action. It efficiently covers source constraints, processing default, asset rules, and alternatives without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 12-parameter upload tool with no output schema, the description covers key operational aspects: source type, batch capability, processing default, and asset validation rules. It lacks explicit mention of return values or side effects, but the schema and annotations supplement this. Could be more complete about what the agent receives after upload.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description repeats asset constraints and processing_mode default that are already in the schema, adding little new meaning. It does summarize the preferred asset structure, but does not materially enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Batch upload garments from public HTTP(S) image URLs.' It clearly distinguishes from sibling tools by explicitly naming alternatives (upload_garment_from_chat_file, prepare_local_garment_upload) and excluding base64/chat file/local paths.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit when-to-use guidance: 'For ChatGPT attachments, use upload_garment_from_chat_file instead. For local filesystem files, use prepare_local_garment_upload instead.' It also clarifies processing_mode defaults and asset constraints, giving the agent actionable selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_imageAnalyze ImageARead-onlyIdempotentInspect
Analyze any image using AI vision for manual inspection, debugging, visual description, or supplemental critique. Do not use this as the primary QA mechanism when the user asks to QA, quality-check, validate, review, approve/reject, or assess generated results; for QA requests use queue_generation_result_qa first, then read_generation_result_qa. Prefer generation_result_id for Shoot Board generation items, uploaded_file_id for Files items, or pass a public HTTPS image URL directly.
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | What to analyze: e.g. 'Is this a flat lay or worn on a model?', 'Does this need background removal?', 'Describe the garment details'. Do not use this as the primary tool for generation-result QA; use queue_generation_result_qa and read_generation_result_qa for QA requests. | |
| image_url | No | Public HTTPS image URL to analyze. Optional if generation_result_id or uploaded_file_id is provided. | |
| uploaded_file_id | No | ID of an uploaded file to analyze. Use for items from the Files library. | |
| generation_result_id | No | ID of an existing generation result to analyze. Preferred for Shoot Board generation items because the server resolves the HTTPS image URL. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by clarifying the tool is for manual inspection and supplemental critique, not for formal QA workflows. It does not disclose return format or error behavior, but with annotations present, this is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: first states the purpose, then provides an explicit exclusion with alternative tools, and finally advises on parameter selection. Every sentence adds value without redundancy, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters and no output schema, the description is complete enough for an agent to select and invoke the tool correctly. It covers purpose, limitations, parameter preferences, and even example questions via the parameter descriptions. No critical information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all parameters have descriptions. The description adds extra value by recommending which parameter to use in which scenario (generation_result_id for Shoot Board, uploaded_file_id for Files, image_url for direct URLs). This goes beyond the schema's individual parameter descriptions and helps agents select the correct parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Analyze any image using AI vision for manual inspection, debugging, visual description, or supplemental critique.' It uses a specific verb (analyze) and resource (image), and explicitly distinguishes itself from QA tools by naming the alternative tools (queue_generation_result_qa, read_generation_result_qa).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use and when-not-to-use guidance: it forbids using this tool as primary QA and directs users to alternative tools. It also gives parameter selection guidance (prefer generation_result_id for Shoot Board items, uploaded_file_id for Files items, or public URL), making usage context very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- PythonMIT
- AlicenseAqualityAmaintenanceAI image and video generation, editing, and region repair via Gemini, OpenAI, and GrokLast updated11485MIT
- Alicense-qualityDmaintenanceEnables AI assistants to control CLO3D for pattern creation, fabric swapping, simulation, and model export via natural language commands.Last updated14MIT
- AlicenseAqualityBmaintenanceByteDance Seedream AI image generation and editing (style transfer, background change, virtual try-on) with multiple models, multi-resolution up to 4K, and streaming delivery.Last updated63MIT