agentee
Server Details
Shop all-over print cotton tees with your AI agent: search, cart, promos, checkout. Human pays.
- 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 31 of 31 tools scored. Lowest: 3.4/5.
Tools are mostly distinct; slight overlap exists between cart_update and set_cart_quantity (both modify cart lines), and between remove_promo and cart_remove (different domains). Other groups (studio, designer) are well-separated.
Consistent use of verb_noun pattern for most tools, with noun prefixes (designer_, studio_) grouping related tools. No mixed conventions or obscure abbreviations.
31 tools is high for a single server, covering shopping, studio, and designer domains. Some tools like cart_update and set_cart_quantity seem redundant, pushing count beyond optimal.
Core workflows (search, cart, checkout, generation, designer submission) are covered. Minor gaps: no edit/delete for designs or orders, and no tool to manage saved addresses beyond viewing.
Available Tools
31 toolsadd_custom_to_cartAdd custom print to cartAInspect
Put a FINISHED custom print into the cart as a product. Args: print_id (must be done), product? (same set as studio_generate), size, qty?. Then the normal checkout flow applies (get_order_preview -> prepare_order).
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Quantity (default 1, max 99). | |
| size | Yes | Size label; must be available for the chosen product. | |
| product | No | Studio product base, same set as studio_generate (default mens_oversize_tshirt). | |
| print_id | Yes | Finished print id — studio_status must report status=done. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations (readOnlyHint=false, destructiveHint=false) are consistent with the mutating action of adding to cart. The description adds the checkout flow context and the prerequisite that print_id is finished, which are useful behavioral details beyond the 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?
Two sentences: first states purpose, second lists arguments with concise parenthetical hints. No fluff. Every word earns its place, and the structure is front-loaded with the core action.
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 main workflow: dependency on studio_status and integration with checkout flow. For a tool with moderate complexity (4 params, 2 required, plus output schema), it provides sufficient context to use correctly, though it could briefly mention error handling for invalid print_id.
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?
With 100% schema coverage, the description still adds value: it explains print_id must be done (linking to studio_status), product belongs to the same set as studio_generate, and size must be available for the chosen product. This contextual enrichment goes beyond the schema's basic 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 action ('Put a FINISHED custom print into the cart') and distinguishes from siblings like add_to_cart (presumably for existing products) and studio_generate (which creates prints). The verb 'put' and resource 'finished custom print' are specific and 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 gives context: 'print_id (must be done)' ties to studio_status, and 'Then the normal checkout flow applies (get_order_preview -> prepare_order)' explains downstream usage. It does not explicitly list when not to use the tool or alternatives, but the sibling context and parameter hints provide reasonable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_to_cartAdd to cartAInspect
Add a product to the user's cart. Args: good_id (from search/get_product), size (must be one of the product's sizes), fabric? (if the product offers a choice), qty? (default 1). Returns the updated cart.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | Quantity to add (default 1, max 99). | |
| size | Yes | Size label; must be one of the product's available sizes. | |
| fabric | No | Fabric label from get_product, if the product offers a choice. | |
| good_id | Yes | Numeric product id from search_products/get_product. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns the updated cart, which adds value beyond annotations. Annotations already indicate write (readOnlyHint=false) and non-destructive (destructiveHint=false), and the description reinforces these aspects.
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 efficient sentence with inline parameter notes, no redundancy, and front-loads the core purpose.
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 (4 parameters, 2 required) and the presence of an output schema, the description sufficiently covers the return value and parameter sources, though it could hint at side effects like price updates or inventory checks.
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?
With 100% schema description coverage, the description does not add significant new meaning beyond the schema, though it reiterates key constraints (e.g., 'from search/get_product', 'must be one of the product's sizes'). 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 ('Add a product to the user's cart') and resource ('cart'), distinguishing it from siblings like 'add_custom_to_cart' or 'cart_update'.
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 guidance on required arguments (good_id, size) and optional ones (fabric, qty) with defaults, indicating when to use them. It lacks explicit when-not-to-use or alternatives, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_promoApply promo codeAIdempotentInspect
Validate and apply a promo code to the cart (server-checked). Returns the new discount/shipping/total, or applied=false with a reason. Args: code.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Promo code to validate and apply. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | Normalized promo code (when applied). |
| error | No | Present when the cart is empty or code is missing. |
| total | No | |
| reason | No | Why the code was rejected (when applied=false). |
| applied | No | |
| currency | No | |
| discount | No | |
| shipping | No | |
| subtotal | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by stating the tool is 'server-checked', and by describing the return format (new discount/shipping/total or applied=false with reason). Annotations already indicate idempotentHint=true and destructiveHint=false, so the description complements these with behavioral details about validation 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 very concise with only two sentences. However, the phrase 'Args: code' is redundant given the schema, and could be omitted without loss. Still, it is efficiently structured and front-loaded with the core action.
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 parameter and a described output schema (though not shown in detail here), the description covers the essential behavior: validation, application, and return values. It does not mention prerequisites like an existing cart, but this may be implied by the tool's role in a shopping flow.
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 full coverage (100%) with a clear description for the 'code' parameter: 'Promo code to validate and apply.' The tool description adds no new information about the parameter beyond the redundant 'Args: code', so it meets the baseline without improvement.
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 'Validate and apply a promo code to the cart', distinguishing it from sibling tools like 'remove_promo' (which removes a promo) and 'add_to_cart' (which adds items). The resource ('cart') and action are specific and 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?
No guidance is provided on when to use this tool versus alternatives (e.g., 'remove_promo' to remove a promo, or 'cart_update' for other modifications). The description does not mention prerequisites (e.g., cart must exist) or conditions for successful application.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cart_removeRemove cart lineADestructiveIdempotentInspect
Remove a cart line by its index (from view_cart). Args: index.
| Name | Required | Description | Default |
|---|---|---|---|
| index | Yes | Zero-based cart line index from view_cart. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint and readOnlyHint. The description adds no new behavioral traits beyond what is in annotations and schema, such as idempotency behavior or error handling. 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 concise but includes the redundant 'Args: index.' which duplicates the schema. The first sentence is efficient 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?
For a simple removal tool with output schema and annotations, the description is adequate. It explains the action and the parameter, but lacks details on edge cases or side effects.
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 description merely repeats the schema's parameter description. It adds no additional semantics beyond 'from view_cart', which is already 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 verb 'Remove' clearly states the action, 'cart line' specifies the resource, and the mention of index distinguishes from other cart manipulation tools like cart_update or set_cart_quantity. The reference to view_cart adds context.
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 explicitly state when to use this tool vs. alternatives like cart_update or remove_promo. It implies usage for removing a specific line by index but provides no when-not-to-use guidance or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cart_updateUpdate cart lineAIdempotentInspect
Change a cart line by its index (from view_cart): set qty (0 removes), or switch size/fabric. Args: index, qty?, size?, fabric?.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | No | New quantity; 0 removes the line. | |
| size | No | New size for this line (must be available for the product). | |
| index | Yes | Zero-based cart line index from view_cart. | |
| fabric | No | New fabric for this line (must be available for the product). |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds behavioral details beyond annotations, such as setting qty to 0 to remove the line. Although annotations mark destructiveHint=false, the description clarifies that removal is possible. It also conveys that index comes from view_cart.
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 highly concise: one sentence with a colon and then the parameter list. Every word is necessary and no 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 description covers the main use cases (changing qty, size, fabric, removal). An output schema exists, so return values are documented separately. It could mention availability constraints for size and fabric, but those are in the 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?
All four parameters are described in the schema (100% coverage), so the description adds no new semantic meaning beyond listing the parameters. The note about qty=0 is already in the schema 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 clearly states the verb 'Change' and the resource 'a cart line', specifying identification by index from view_cart. It distinguishes itself from siblings like add_to_cart, cart_remove, and set_cart_quantity by covering quantity, size, and fabric updates in one 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?
The description provides context ('from view_cart') and mentions that setting qty to 0 removes the line, implying when to use removal. However, it does not explicitly state when not to use this tool or point to alternatives for adding or removing entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
checkout_linkGet checkout linkARead-onlyIdempotentInspect
Get the URL where the human opens their cart to review and pay. The agent never pays — checkout is always done by the person in the browser.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Cart page for the human to review and pay. |
| note | No | |
| items_in_cart | No |
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 description adds value by clarifying that the returned URL is for the human to complete payment, specifying the behavioral trait that checkout is handled by the browser, not the agent.
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, front-loaded with the core action ('Get the URL'), and every sentence adds essential value—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?
Given no parameters, an output schema exists (covering return format), and the annotations are comprehensive, the description fully explains the tool's role in the workflow, including who performs checkout, leaving no 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 zero parameters and 100% coverage, so the baseline is 4. The description adds no extra parameter info because none exist, but it sufficiently explains the tool's purpose without needing to address 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 clearly states it retrieves a URL for human checkout, specifying the resource ('URL') and action ('Get'). This distinguishes it from siblings like add_to_cart or apply_promo, which handle cart item manipulation rather than checkout initiation.
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 notes that the agent never pays and checkout is done by the human, providing clear usage context. While it doesn't explicitly list when not to use it or name alternatives, the context implies it's for finalizing the order when human interaction is needed, which is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
designer_designsList my designsARead-onlyIdempotentInspect
The user's own published designs with live status (products on sale / hidden / pending). Args: limit? (default 50).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max designs to return (default 50, max 200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| designs | No | |
| is_partner | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
| designer_page | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as readOnly, idempotent, and non-destructive. The description adds valuable behavioral context: it filters to 'published designs with live status' and lists the three possible statuses (on sale, hidden, pending). It also specifies the default limit of 50, which is not in 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 long, with the primary purpose stated first. Every sentence serves a purpose: first defines the output, second lists the parameter. 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?
Given the low complexity (1 optional parameter, no required fields), the description covers all essential aspects: what is returned (published designs with status), who it returns (user's own), and the only parameter customization. An output schema exists, so return format details are not needed.
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 description briefly mentions the only parameter (limit with default 50), but the input schema already provides a full description ('Max designs to return (default 50, max 200)'). The description adds no new semantic value beyond what the schema offers, so a 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 states it lists 'the user's own published designs with live status', specifying a clear verb (list) and resource (designs). It distinguishes from sibling tools like designer_submissions (likely unpublished drafts) by focusing on published designs and their status categories (on sale/hidden/pending).
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 it should be used when a user wants to view their own published designs. It does not explicitly exclude alternatives like designer_submissions for drafts, but the context is sufficient for an agent. The optional limit parameter is noted with its default.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
designer_statsDesigner statsARead-onlyIdempotentInspect
The user's designer-program stats (if they are a designer-partner): units sold, revenue, accrued royalties, available for payout, royalty percent, their designer page URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| accrued | No | Royalties accrued from paid orders. |
| landing | No | The designer's public page URL. |
| revenue | No | |
| nickname | No | |
| is_partner | No | |
| units_sold | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
| royalty_percent | No | |
| available_for_payout | No | Accrued royalties from delivered orders, ready for payout. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds value by listing the specific fields returned (units sold, revenue, etc.), which goes beyond the annotations. 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 sentence that efficiently states the purpose and lists the included fields. Every word contributes meaning, and it is front-loaded with the core idea.
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 parameters, a well-described output (fields listed), and annotations covering behavior, the description is mostly complete. It could mention what happens if the user is not a designer-partner, but the phrase 'if they are a designer-partner' provides some 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 has zero parameters, so the baseline is 4. The description adds no parameter information, which is appropriate since there are none. It does not need to compensate for any 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 description clearly identifies the tool's purpose: retrieving designer-program stats for a user who is a designer-partner. It lists the specific data fields (units sold, revenue, etc.) and distinguishes from sibling tools like designer_designs or designer_submissions.
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 explicit guidance on when to use this tool vs alternatives, such as when to use designer_stats vs designer_designs. The context is implied by the name and description, but no exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
designer_submissionsList my submissionsBRead-onlyIdempotentInspect
The user's Studio publications in moderation: in review / in catalog / needs changes. Args: limit?.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max submissions to return (default 20, max 100). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| is_partner | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
| submissions | No |
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 clear. The description adds context about the moderation statuses but does not disclose any additional behavioral traits (e.g., pagination, rate limits). This is adequate given 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 concise (two short sentences) and front-loaded with the tool's purpose. However, the second sentence is a bit cryptic ('Args: limit?') and could be more readable.
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 explains the output (moderation statuses), and an output schema exists (per context signals). However, it lacks details on ordering or filtering, and does not differentiate from similar tools like designer_designs. It is minimally complete for a simple read-only list 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?
The input schema covers the single 'limit' parameter thoroughly (default 20, max 100). The description only mentions 'Args: limit?' which adds no new information beyond the schema. With 100% schema coverage, 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 it lists the user's Studio publications currently in moderation, enumerating the specific statuses (in review, in catalog, needs changes). This distinguishes it from sibling tools like designer_designs (which likely lists all designs) or designer_uploads (uploads).
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 on when to use this tool versus siblings. There is no explicit 'when-to-use' or 'when-not-to-use' advice, limiting the agent's ability to decide between this and similar list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
designer_uploadsMy uploadsARead-onlyIdempotentInspect
What the designer has already sent in and where it stands: in review / accepted / needs changes (with the reason). Args: limit?.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max rows (default 50, max 200). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| uploads | No | |
| is_partner | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent. Description adds context about the status categories and that it shows the reason for 'needs changes', going 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?
Single sentence conveys purpose effectively. 'Args: limit?' is minimal but sufficient. Could be slightly more structured but generally concise 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?
For a simple read-only tool with one optional parameter and an output schema, the description covers the key behavior (listing uploads with statuses). No missing context needed 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?
Schema already describes 'limit' clearly with default and max values. Description mentions 'Args: limit?' but adds no additional meaning beyond what schema provides. Baseline 3 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?
Clearly states the tool lists designer uploads with their status (in review, accepted, needs changes). Distinct from siblings like designer_designs and designer_submissions.
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 explicit guidance on when to use this tool versus alternatives. The description implies checking upload status but doesn't state when not to use it or mention other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
designer_upload_slotGet an upload URLAInspect
Get a short-lived URL to upload an image file to us (use when the designer has no public link — otherwise pass the URL straight to submit_design). Args: filename?. PUT the raw bytes to upload_url, then pass the returned upload_id to submit_design.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | No | Original file name, for readability. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| method | No | |
| upload_id | No | |
| expires_in | No | Seconds the URL stays valid. |
| is_partner | No | |
| upload_url | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false. Description adds behavioral steps (PUT bytes, pass upload_id) and notes the URL is short-lived, which is useful context 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?
Extremely concise: two sentences that front-load the main purpose and include crucial usage instructions. No redundant 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?
With output schema existing, description doesn't need to detail returns. It sufficiently explains the two-step workflow (get URL, upload, pass ID) for a simple upload 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?
Only one optional parameter 'filename' with schema description already providing meaning. Tool description mentions filename? but adds no extra value beyond schema. Schema coverage is 100%, 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 tool gets a short-lived upload URL for image files, and distinguishes from sibling tool 'submit_design' by specifying when to use each.
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 designer has no public link — otherwise pass the URL straight to submit_design'. Provides clear context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_previewPreview orderARead-onlyIdempotentInspect
Full order summary to show the human before ordering: line items, promo/discount, shipping, address, grand total. Prices are server-computed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | Present when the cart is empty. |
| items | No | Re-priced order lines. |
| total | No | |
| issues | No | Lines that became unavailable, if any. |
| currency | No | |
| discount | No | |
| shipping | No | |
| subtotal | No | |
| promo_code | No | |
| ready_to_prepare | No | True when an address is set and all lines are orderable. |
| shipping_address | No | Address set via set_shipping_address (null if not set). |
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. Description adds that 'prices are server-computed', which is useful but not extensive.
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 key purpose and content. 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?
With zero parameters and output schema present, description covers purpose and key behaviors. Could mention prerequisites (e.g., having a cart) but adequate for simple 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?
No parameters, schema coverage 100%. Baseline 4 per rule, no need for parameter info.
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 verb 'preview' and resource 'order', listing included elements (line items, promo, shipping, grand total). Distinct from sibling 'prepare_order' which likely places the order.
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 'to show the human before ordering', providing context for when to use. Does not explicitly exclude alternatives but siblings are different actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet product detailsARead-onlyIdempotentInspect
Full details of one product by its code: available sizes, fabrics, per-variant price, and the design 'about' text. Args: code (from search_products).
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Product code from search_products results. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| code | No | |
| about | No | Design description text (may be null). |
| error | No | Present when the product was not found. |
| image | No | |
| price | No | |
| sizes | No | |
| theme | No | |
| title | No | |
| fabrics | No | |
| good_id | No | |
| product | No | |
| currency | No | |
| variants | No | Price per size+fabric combination. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description aligns with annotations (readOnlyHint, idempotentHint, destructiveHint) and specifies the data returned. It adds value by listing key fields, but could mention that no side effects occur.
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 wasted words. The first sentence states the purpose and output, the second clarifies the input source. Front-loaded and efficient.
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 tool with one parameter, the description covers purpose, input source, and output highlights. An output schema exists, so return value details are adequately handled.
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 'code' is described as 'Product code from search_products results', which adds context beyond the schema's description. Schema coverage is 100%, so baseline is 3; the additional guidance elevates it.
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 retrieves 'full details of one product by its code' and lists specific fields returned (sizes, fabrics, price, about text). It distinguishes from sibling tools like search_products and add_to_cart.
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 mentions that the 'code' argument comes from search_products, providing clear context for when to use this tool. It does not explicitly state when not to use it, but the instruction is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_saved_addressesGet saved addressesARead-onlyIdempotentInspect
Return shipping addresses the user used in past orders — offer these to a returning buyer instead of asking again.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| addresses | No | Up to 5 distinct addresses from past orders, newest first. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint, idempotentHint, and destructiveHint. The description adds the context of returning past orders but does not reveal additional behavioral traits 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?
Single sentence, front-loaded with purpose and usage context. 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 retrieval tool with no parameters and an output schema, the description adequately explains purpose and usage. It is complete enough for the agent to select and 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?
There are no parameters; schema coverage is 100%. With zero parameters, the description does not need to add parameter info, and the baseline 4 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 returns shipping addresses from past orders for returning buyers. The verb 'Return' and resource 'shipping addresses the user used in past orders' are specific and distinct from sibling tools like set_shipping_address.
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 (for returning buyers to avoid re-entering address) but does not explicitly state when not to use or list alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shipping_optionsGet shipping optionsARead-onlyIdempotentInspect
Available shipping methods for the current cart/address, with price and ETA (free over the threshold).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| options | No | |
| free_shipping_from | No | Subtotal (USD) at which shipping becomes free. |
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. The description adds value by detailing the return information (price, ETA) and mentioning 'free over the threshold', which 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?
Single sentence of 14 words, front-loaded with key information. Every word is useful; no unnecessary content. Very 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?
Given the tool has no parameters and an output schema exists, the description is complete. It effectively communicates what is returned (price, ETA) and the context (current cart/address). No missing information for a simple retrieval 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?
The tool has zero parameters and schema coverage is 100%, so baseline is 4. The description does not need to add parameter information, and it correctly focuses on the output rather than inputs.
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 retrieves available shipping methods for the current cart/address, with price and ETA. The verb 'get' is implicit. It does not explicitly differentiate from siblings like set_shipping_method, but the 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?
The description implies this tool should be used before setting a shipping method, but it lacks explicit guidance on when/when-not to use it or alternatives. The context 'current cart/address' is stated but no exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_prefsGet saved size/fitARead-onlyIdempotentInspect
Return the shopper's saved default size and fit. Call this BEFORE asking the user for a size — if a default is set, apply it automatically (add_to_cart uses it when size is omitted), and prefer products matching their fit (basic vs oversized).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| fit | No | Saved fit preference: basic | oversized, or null. |
| size | No | Saved default size, or null. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds value by explaining downstream effects (add_to_cart uses the value) and the order of operations (call before user input). 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?
Two concise sentences: the first states the purpose, the second provides usage guidance. Every sentence adds value 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?
Given no parameters and an output schema available, the description covers all necessary context: what the tool does, when to call it, and how to use the result. No gaps for a read-only retrieval 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?
There are no parameters, so the description carries no burden for parameter documentation. The schema coverage is 100% (no params). Baseline score is 4 per rules.
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 returns the shopper's saved default size and fit, with a specific verb ('Return') and resource ('saved default size and fit'). It distinguishes itself from siblings like set_user_prefs and add_to_cart by focusing on retrieval of preferences.
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 call (BEFORE asking for size) and how to use the result (apply automatically, prefer matching products). Provides concrete context that add_to_cart uses the default when size is omitted, guiding correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_collectionsList collectionsARead-onlyIdempotentInspect
List active curated collections (themed landing pages) with their slugs and urls. Args: limit?.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max collections to return (default 50, max 100). |
Output Schema
| Name | Required | Description |
|---|---|---|
| collections | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide read-only and idempotent hints. Description adds 'active curated collections' and mentions return fields, but no additional behavioral traits 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?
Description is one sentence plus brief arg mention; very concise. However, it omits useful context like default/max limit values which could be integrated efficiently.
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?
Tool is simple with output schema present, so return values are covered. Lacks pagination or filtering info, but given low complexity, it is reasonably 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 schemas provide parameter descriptions. Description only says 'Args: limit?' which adds no meaning 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?
Clearly states verb 'List', resource 'collections', and specifies return fields (slugs and urls). Distinguishes from sibling tools focused on cart, products, and designers.
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 on when to use vs alternatives (e.g., search_products). Only mentions 'Args: limit?' without context on default behavior or 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.
order_statusCheck order statusARead-onlyIdempotentInspect
Look up the user's recent orders (or one by number) and their fulfilment status. Args: number?, limit? (default 5).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max orders to return (default 5, max 20). | |
| number | No | Exact order number to look up; omit for the most recent orders. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Present when the account has no email on file. |
| orders | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent; description adds that it returns fulfilment status and default limit, enhancing understanding without contradiction.
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?
Single sentence plus argument list, no fluff, all content 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?
Adequate for a 2-param tool with output schema; mentions fulfilment status and default limit, though could note that it is safe/read-only (already in annotations).
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. Description restates limit default and number optionality but adds no new meaning beyond 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?
Clearly states verb 'look up' and resource 'user's recent orders' with 'fulfilment status'. Distinguishes from sibling tools that deal with cart, promo, designs, etc.
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?
Implies usage for checking order status but lacks explicit guidance on when not to use or alternatives like get_order_preview.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_orderPrepare checkoutAInspect
Create a draft order from the cart + address + promo and return {checkout_url, draft_id, expires_at}. The human opens checkout_url — everything is pre-filled — reviews and pays. The agent never pays. Call get_order_preview and confirm with the human first.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | Empty cart, missing address or no orderable items. |
| total | No | |
| issues | No | |
| currency | No | |
| draft_id | No | Draft order number. |
| expires_at | No | ISO 8601 time when the draft expires (48 h). |
| checkout_url | No | Pre-filled checkout link — send it to the human to review and pay. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are minimal (readOnlyHint=false, destructiveHint=false). The description adds that this creates a draft order, returns a checkout URL, and that the human handles payment. No contradictions with annotations. Provides useful behavioral context beyond what annotations 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?
Two sentences pack essential information: purpose, inputs, outputs, and usage guidance. No redundant words, front-loaded with the key action.
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 zero parameters, the description explains the output format, mentions prerequisites (get_order_preview), and sets expectations (human pays). It is self-contained and provides a complete picture for an 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?
No parameters in schema, so baseline is 4. The description mentions 'cart + address + promo' as implicit context, which clarifies what state the tool uses, adding value beyond the empty 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 uses a specific verb ('Create') and resource ('draft order'), and clearly states the inputs (cart, address, promo) and output format ({checkout_url, draft_id, expires_at}). It distinguishes itself from siblings by explaining the workflow (agent never pays, human opens URL).
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 instructs to call get_order_preview and confirm with the human first, and states 'The agent never pays,' which sets clear usage boundaries. However, it does not explicitly mention when not to use the tool or compare with siblings like checkout_link.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_promoRemove promo codeAIdempotentInspect
Remove the applied promo code from the cart.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| applied | No | Always false after removal. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotency and no destructive behavior. Description adds that it removes from cart, but could mention edge cases like no promo applied.
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?
Single sentence with no wasted words. Efficiently conveys the tool's purpose.
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 action with no parameters and an output schema, the description is complete enough for the agent to understand 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?
No parameters exist; schema coverage is 100% by default. Description doesn't need to add param info, but baseline for 0 params is 4.
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 (remove) and the specific resource (applied promo code from cart). It distinguishes itself from sibling tools like 'apply_promo' which adds a promo.
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 explicit guidance on when to use this tool versus alternatives. The purpose is clear but lacks context on prerequisites or fallback options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch catalogARead-onlyIdempotentInspect
Search the allover.art catalog (one card per design). Args: query? (free text, e.g. 'cat', 'neon koi'), theme? (canonical theme like Cats/Anime/Skulls, comma-separated for several), section? (mens|womens|kids), limit? (<=48), max_price? (USD). Returns product cards with good_id, price and url.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max cards to return (default 24, max 48). | |
| query | No | Free-text search, e.g. 'cat' or 'neon koi'. | |
| theme | No | Canonical theme filter (Cats, Anime, Skulls, ...); comma-separate several. | |
| section | No | Catalog section: mens, womens or kids. | |
| max_price | No | Only items priced at or below this amount, USD. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | Product cards. |
| total | No | Total catalog matches for the filters. |
| showing | No | Number of cards returned. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide safety traits (readOnly, idempotent, non-destructive). Description adds return format behavior (product cards with good_id, price, url) and design constraint (one card per design). No contradiction.
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 wasted words. Front-loaded with purpose, then parameter list, then return format. Efficient and 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?
Covers search scope, all parameters with usage hints, and return fields. With output schema present, this is complete for a search tool. No 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 coverage is 100%. Description adds examples for query, theme, section, and clarifies limit max and currency. This enhances the schema's parameter 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 searches the allover.art catalog with specific verb 'Search' and resource 'catalog', and adds nuance 'one card per design'. It distinguishes from siblings like 'get_product' implicitly.
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 explicit guidance on when to use this tool vs alternatives (e.g., get_product). Parameter usage hints are given but not usage context. Agent must infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_cart_quantitySet cart quantityAIdempotentInspect
Change the quantity of a cart line by its index (from view_cart); qty=0 removes it. Args: index, qty.
| Name | Required | Description | Default |
|---|---|---|---|
| qty | Yes | New quantity (0 removes the line, max 99). | |
| index | Yes | Zero-based cart line index from view_cart. |
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false; the description adds that qty=0 removes the line, which is non-obvious behavior. It also implies mutation (change quantity), consistent with readOnlyHint=false. 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 only two concise sentences, front-loaded with the primary purpose and key details (qty=0 removes). Every word adds value; 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?
With output schema present, the description need not explain returns. It covers the essential usage context (index from view_cart, qty max 99 and removal). Adequate for a simple mutation 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 clear descriptions for both parameters. The description reiterates the index source and qty meaning but adds no new semantic detail 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 verb 'Change the quantity' clearly states the action on 'a cart line' (resource), specifying the mechanism (by index from view_cart) and the special case qty=0 removes it. This distinguishes it from sibling tools like cart_update and add_to_cart.
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: to change quantity of a cart line with index from view_cart. It does not explicitly mention when not to use it or name alternatives, but the sibling list provides context and the description is sufficiently directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_shipping_addressSet shipping addressBIdempotentInspect
Set the shipping address for this order (validated). Args: name, country, city, address, zip?, phone.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | No | Postal / ZIP code (optional where not used). | |
| city | Yes | Destination city. | |
| name | Yes | Recipient full name. | |
| phone | Yes | Contact phone number for delivery. | |
| address | Yes | Street address line. | |
| country | Yes | Destination country. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | Missing fields or empty cart. |
| shipping | No | Saved address snapshot. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the word 'validated', suggesting some validation logic, but does not disclose error handling, side effects, or what 'validated' entails. It adds 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?
The description is a single sentence followed by a parameter list. It is front-loaded with the action. However, the parameter list is redundant with the schema, making it slightly less concise than optimal.
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 (not shown but indicated) and full schema coverage, the description still lacks context about order lifecycle requirements (e.g., order must exist). It does not explain return values or error conditions, leaving some gaps for a properly informed 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%, so the schema already documents each parameter. The description only lists parameter names with a question mark on 'zip' to indicate optionality, which does not add meaningful semantics 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 clearly states the action ('Set') and the resource ('shipping address for this order') and includes a validation note. It distinguishes from sibling tools like 'set_shipping_method' (different concern) and 'get_saved_addresses' (read vs write).
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 prerequisites like requiring an existing order. The agent must infer from context, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_shipping_methodSet shipping methodAIdempotentInspect
Choose a shipping method by its option_id (from get_shipping_options). Args: option_id.
| Name | Required | Description | Default |
|---|---|---|---|
| option_id | No | Shipping option id from get_shipping_options (currently 'worldwide'). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| error | No | Unknown option_id or empty cart. |
| shipping_method | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false. The description adds little beyond stating the action, but does not contradict annotations. It lacks details on error handling or 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?
Two concise sentences that front-load the action and immediately convey the purpose. No superfluous 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?
Given the tool's simplicity (one parameter, output schema present), the description is nearly complete. It could mention that setting is idempotent or that the option_id must be valid, but the annotations cover 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% and the schema already provides a detailed description of option_id. The description merely repeats 'option_id' without adding new meaning, 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 (choose) and the resource (shipping method), referencing the source tool get_shipping_options. This distinguishes it from sibling tools like get_shipping_options.
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 implicitly guides usage by requiring option_id from get_shipping_options, but does not explicitly state when to use or not use this tool versus alternatives. Still clear enough for a simple setter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_user_prefsSave size/fitAIdempotentInspect
Save the shopper's default size and/or fit so they don't re-enter it each time. Args: size (XS…5XL), fit (basic | oversized). Pass only what the user stated.
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | Fit preference: basic or oversized. | |
| size | No | Default size: XS, S, M, L, XL, 2XL…5XL. |
Output Schema
| Name | Required | Description |
|---|---|---|
| fit | No | |
| size | No | |
| error | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare write (readOnlyHint=false), non-destructive, and idempotent. The description adds that the preferences persist across sessions ('so they don't re-enter it each time'), which is a behavioral trait beyond annotations. 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 extremely concise: two short sentences. The first sentence states the purpose, and the second describes the arguments. Every word is necessary, 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?
Given the tool's simplicity (2 optional params, simple types), the description covers the core functionality and usage rule. The output schema exists (though not shown), so return value explanation is unnecessary. Slightly more detail about persistence (e.g., 'saved to user account') would improve completeness, but it's 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 coverage is 100%, so parameter names and types are documented. The description adds semantic guidance: pass only what the user stated (implying optionality and avoiding default assumptions) and clarifies the allowed values for size (XS…5XL) and fit (basic | oversized). This provides useful context 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 tool's action ('Save') on the resource ('shopper's default size and/or fit') with a specific benefit ('so they don't re-enter it each time'). This distinguishes it from sibling tools like 'get_user_prefs' (read) and other cart/order 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 provides clear guidance: 'Pass only what the user stated.' This tells the agent not to infer or fill in missing preferences. It also lists the acceptable args and their formats. However, it does not explicitly state when not to use this tool (e.g., if preferences are already saved), but the context is clear enough for an AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
studio_creditsCheck Studio creditsARead-onlyIdempotentInspect
The user's Studio credit balance. Check before studio_generate (1 credit per generation, either engine; welcome bonus 20; every bought tee adds 20).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | |
| detail | No | |
| balance | No | Current Studio credit balance. |
| studio_account | No | False if the user has no Studio account yet (first generate auto-creates one). |
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. The description adds behavioral context by explaining credit earning rules (welcome bonus, bought tee adds 20), which 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 and front-loaded with the main purpose. It is concise but slightly packed with extra information; could be slightly streamlined, but overall efficient.
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, the description fully covers what the tool does, when to use it, and how credits work, making it complete given the presence 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?
There are no parameters, so the baseline is 4. The description does not need to add parameter info, and it provides useful context about the return value (balance) implicitly.
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 checks the user's Studio credit balance and ties it explicitly to studio_generate, distinguishing it from sibling tools like studio_generate and studio_status.
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 'Check before studio_generate', providing clear when-to-use guidance. However, it does not explicitly mention when not to use or list alternatives, which would elevate to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
studio_generateGenerate custom printAInspect
Generate a CUSTOM t-shirt print from a text prompt (AI, takes 2-10 min, costs the user's Studio credits — a free starter balance is auto-granted on first use). IMPORTANT: first call studio_options and ask the human to pick placement + product (and optionally background); do NOT silently use defaults. Args: prompt (design description), product? (one of ['kids_basic_tshirt_boy', 'kids_basic_tshirt_girl', 'kids_oversize_tshirt_boy', 'kids_oversize_tshirt_girl', 'mens_basic_tshirt', 'mens_oversize_tshirt', 'womens_basic_tshirt', 'womens_oversize_tshirt']), background? (t-shirt background, one of ['washed-beige', 'washed-black', 'washed-blue', 'washed-brown', 'washed-gray', 'washed-green', 'washed-orange', 'washed-pink', 'washed-red', 'washed-yellow', 'watercolor-beige', 'watercolor-blue', 'watercolor-sky']), placement? (print size/position, one of ['portrait_extended', 'square_center', 'chest_small']), model? (nb2 default | gpt-image-2 — both 1 credit, different styles), image_url? (https link to the user's OWN image — used as style/subject reference), preserve? (true = print the user's image exactly as-is, no AI redraw — kids' drawings, own art; FREE, no credits; requires image_url). Returns print_id — poll studio_status until done.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Generation engine: nb2 (default) or gpt-image-2 — both 1 credit. | |
| prompt | Yes | Text description of the design to generate. | |
| product | No | Studio product base from studio_options (default mens_oversize_tshirt). | |
| preserve | No | true = print the image exactly as-is, no AI redraw (free); requires image_url. | |
| image_url | No | https link to the user's OWN image, used as style/subject reference. | |
| placement | No | Print size/position: portrait_extended (default), square_center or chest_small. | |
| background | No | T-shirt background choice (see studio_options backgrounds). |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | e.g. not enough Studio credits, daily limit reached, invalid product. |
| detail | No | |
| status | No | |
| print_id | No | Generation id — poll studio_status with it. |
| topup_url | No | Where the user can buy credits (present on 'not enough credits'). |
| cost_credits | No | Credits spent on this generation. |
| signup_bonus | No | |
| balance_before | No | |
| studio_account_created | No | Present when a Studio account was auto-created for the user. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false) and dynamic behavior (openWorldHint=true). The description adds significant context: generation takes 2-10 min, costs credits (with a free starter balance), and returns a print_id for polling. It also explains the preserve path (free, no AI redraw). 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 fairly long but well-structured: core purpose, an important instruction in caps, then a clear enumeration of arguments. No redundant sentences. It loses a point for length but remains efficient for the 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 (7 params, async, cost, conditional preserve), the description covers prerequisites, usage steps, cost, polling, and edge cases (free starter balance). It also mentions the output schema implicitly via 'Returns print_id — poll studio_status'. Virtually no 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 coverage is 100%, so baseline is 3. The description adds value by explaining the purpose of each parameter beyond the schema (e.g., model: different styles; image_url: style reference; preserve: free and requires image_url). It enumerates enum values for product, background, and placement, which is helpful.
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 generates a custom t-shirt print from a text prompt, distinguishing it from sibling tools like studio_options (which must be called first) and studio_status (polling). The verb "Generate" and resource "custom print" are 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?
Explicitly instructs to call studio_options first and not silently use defaults. It also explains the async nature (poll studio_status) and that the preserve option is free. While it doesn't list alternatives among siblings, the context is strong enough to guide usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
studio_optionsCustom print optionsARead-onlyIdempotentInspect
START HERE for any custom-print request: the menu of generation choices (print placements with plain-language descriptions, products, backgrounds, engines+costs). Present these to the human — at minimum ask which PLACEMENT and which PRODUCT they want — before calling studio_generate.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| models | No | Generation engines with cost notes. |
| products | No | |
| placements | No | Print size/position choices. |
| backgrounds | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. The description adds context that the tool returns a menu to be presented interactively, which goes beyond the annotations and clarifies the tool's role in a user-facing workflow.
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 defines purpose and content, second gives usage instructions. Front-loaded with 'START HERE'. No superfluous words; every sentence 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?
Given zero parameters and presence of an output schema (implied), the description completely covers what the tool does, what it returns, and how to use it. References sibling tool studio_generate for further context. No 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?
No parameters in schema, so description does not need to explain them. Instead, it adds significant value by describing the output content (placements, products, backgrounds, engines+costs), compensating for the empty schema and clarifying what the tool returns.
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 provides a menu of generation choices for custom-print requests, with explicit mention of placements, products, backgrounds, and engines+costs. It differentiates from sibling tools by positioning itself as the starting point before studio_generate.
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 instructs 'START HERE for any custom-print request' and mandates presenting at least placement and product choices to the human before calling studio_generate. This gives clear when-to-use and sequencing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
studio_statusCheck print generationARead-onlyIdempotentInspect
Check a custom print generation. Args: print_id (from studio_generate). When done returns preview_url — show it to the human.
| Name | Required | Description | Default |
|---|---|---|---|
| print_id | Yes | Generation id returned by studio_generate. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| error | No | Generation failure reason (credits are refunded). |
| detail | No | |
| status | No | Generation state; 'done' and 'failed' are terminal. |
| print_id | No | |
| design_url | No | Shareable Studio design page (when done) — the link to SHARE with the human. |
| preview_url | No | Raw print image (when done) — embed/attach it so the human sees the print in chat. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds context beyond annotations: specifies that when generation is done, it returns a preview_url. Aligns with readOnlyHint and idempotentHint.
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?
Extremely concise: one sentence plus a short argument note. No wasted words; front-loaded with purpose and key 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?
Given the simple single-parameter tool with output schema, the description fully covers usage: what to pass in, what to expect (preview_url), and what to do with 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?
Schema coverage is 100% with a single parameter. Description adds value by indicating the parameter comes from studio_generate, aiding correct 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 checks a custom print generation and returns a preview_url. It distinguishes from sibling tools like studio_generate by specifying the parameter source.
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 mentions the required print_id from studio_generate and instructs to show the preview_url to the human. Does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_designSubmit artworkAInspect
Send one of the designer's own artworks for moderation. front/back accept EITHER a public image URL OR an upload_id from designer_upload_slot. Args: name (required), front (required), back?, layout? ('front_back' default, or 'r10' for a ready print-side file), note?, batch? (same string across a bulk run so the moderator sees them as one batch). Minimum 2048px on the short side. IMPORTANT for the designer: this queues the artwork for moderation — catalog listing follows production and is not instant.
| Name | Required | Description | Default |
|---|---|---|---|
| back | No | Optional second side: URL or upload_id. | |
| name | Yes | Design name the moderator will see. | |
| note | No | Anything the moderator should know. | |
| batch | No | Group id for a bulk upload. | |
| front | Yes | Image URL or upload_id. | |
| layout | No | 'front_back' (default) or 'r10'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No | |
| note | No | |
| error | No | |
| pitch | No | Designer-program pitch to relay to the user — present when is_partner is false. |
| status | No | |
| upload_id | No | |
| is_partner | No | |
| how_to_join | No | How to join the designer program — present when is_partner is false. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behavioral traits: that submission queues for moderation, catalog listing is not instant, and a minimum image size of 2048px. Since annotations already indicate destructiveHint=false, the description adds valuable context beyond those 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 concise and well-structured, listing arguments in a readable format. The important note about moderation queue is front-loaded. No unnecessary sentences.
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 and the presence of an output schema (not shown), the description covers the key aspects: purpose, parameters, behavior, and constraints. It is sufficient for an agent to understand the tool's usage.
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?
With 100% schema coverage, the baseline is 3. The description adds significant meaning beyond schema: it explains that front/back accept URLs or upload_ids, layout options, batch as a group id, and the minimum size requirement.
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: 'Send one of the designer's own artworks for moderation.' It distinguishes the tool from siblings like designer_upload_slot and designer_submissions by focusing on submission to moderation.
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 context, such as accepting upload_id from designer_upload_slot and the batch parameter for bulk runs. However, it does not explicitly state when not to use this tool versus alternatives, missing some guidance for the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
view_cartView cartARead-onlyIdempotentInspect
Show the current contents of the user's cart (the same cart they see in the browser when signed in).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| error | No | Present instead of a cart when the call failed (bad index, unavailable size, ...). |
| items | No | Cart lines in index order — this index is what set_cart_quantity/cart_update/cart_remove take. |
| currency | No | |
| subtotal | No | Sum of price x qty over all lines, USD. |
| checkout_url | No | Cart page URL for the human. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint and idempotentHint. The description adds useful context by confirming the cart matches the browser view when signed in, 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?
Single sentence is efficient, front-loaded with the main action, and contains 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?
Given zero parameters and an output schema, the description provides sufficient context about the cart contents being browser-consistent. No major 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?
No parameters exist; base score 4 applies as no additional parameter documentation is needed.
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 ('show the current contents of the user's cart') and distinguishes it from sibling tools that modify the cart or handle promotions/checkout.
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 explicit guidance on when to use this tool versus alternatives; usage is implied but not elaborated. Given many related sibling tools, some context would help.
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
- Flicense-qualityBmaintenanceEnables AI agents to browse product catalogs, search products with filters, and initiate checkouts, generating order summaries and checkout URLs.

OpenPrints MCPofficial
Alicense-qualityDmaintenanceEnables AI agents to browse products, upload designs, place print orders, track shipments, and manage account balance via natural language.6MIT- Alicense-qualityCmaintenanceEnables AI assistants to run a print-on-demand store by creating products on Printify, pricing from production cost, publishing to Shopify and its sales channels, and generating ad creative from mockups.1ISC

Nexbidofficial
Alicense-qualityBmaintenanceAgentic commerce infrastructure for AI agents. MCP-native product discovery, contextual ad matching, and purchase facilitation with European privacy compliance (nDSG/GDPR).MIT