Skip to main content
Glama

Able.Style

Manage Wardrobe Item

add-to-or-remove-from-closet-tool
DestructiveIdempotent

Backward-compatible alias of add-to-or-remove-from-wardrobe-by-id. Prefer add-to-or-remove-from-wardrobe-by-id for new calls. Adds or removes a known clothing item from the user's personal wardrobe by its style ID. Use this tool when users want to track clothing items they own or indicate they have something similar. Use cases: "Add this to my wardrobe", "I have a similar jacket", "Mark that I own this", "Remove this from my wardrobe". Requires authentication - if user is not logged in, this will trigger an OAuth authentication flow. Wardrobe items are used to personalize outfit suggestions with clothes the user actually owns. IMPORTANT: Before calling this tool, look at the structured output of the most recent suggest-outfit-tool call earlier in this conversation. The styleId required by this tool is at outfitItems[i].styleIdentifier.styleId in that result — it IS present in your context. Do not claim you cannot see the styleId without first examining that tool result. If after examining it you still cannot find a matching item, tell the user and ask them to request a new outfit suggestion first.

Input Schema

NameRequiredDescriptionDefault
styleIdYesThe unique identifier of the clothing style/item. IMPORTANT: This value MUST be copied exactly from the `styleIdentifier.styleId` field returned in the most recent previous `suggest-outfit-tool` response. You DO have access to previous tool responses. They are in JSON format. Review the tool call responses earlier in the conversation to find the correct styleId to use here and look for the most recent one from `suggest-outfit-tool`. Do NOT fabricate, guess, or invent this value. Once you think you have it, double-check the most recent suggest-outfit-tool response to confirm you are using the correct value from the context. If no valid styleId is available from a prior `suggest-outfit-tool` response, do not call this tool — instead tell the user that you need to suggest an outfit first before you can add an item to their wardrobe. If no item from the prior outfit suggestion seems to match what the user is describing, you can ask the user for more details about the item they want to add or remove, and then use that information to determine if any of the items from the prior outfit suggestion are a match. But you should never guess or make up a styleId.
addOrRemoveYesThe action to perform: "add" to include the item in the user's wardrobe, or "remove" to delete it from their collection. Use "add" when user says "I have this shirt" or "Add the shoes to my wardrobe". Use "remove" when user says "I don't have the pants anymore" or "Remove the sneakers from my wardrobe".
isUserStyleYesWhether this is a user-created custom style (true) or a catalog style from the platform (false). Most items from outfit suggestions will be catalog styles (false). IMPORTANT: This value MUST be copied exactly from the `styleIdentifier.isUserStyle` field returned in the most recent previous `suggest-outfit-tool` response. Do NOT guess this value.
categoryNameNoProvide the category name of the style to add to or remove from the wardrobe. For example: "Jackets", "Shirts", "Trousers", "Shoes". This value is provided in outfit suggestion responses in the "category" field.
styleDescriptionYesThe user-friendly description of the style to add to or remove from the wardrobe. IMPORTANT: This value MUST be copied from the `description` field of the outfit item returned in the most recent previous `suggest-outfit-tool` response.

Output Schema

NameRequiredDescriptionDefault
resultYesThe wardrobe update result.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true, idempotentHint=true, and openWorldHint=false, so the safety profile is already structured. The description adds genuinely new behavior: authentication is required and a missing session triggers an OAuth flow, plus the hard prerequisite that a prior suggest-outfit-tool result must exist. It does not discuss reversibility or idempotency beyond what the annotations state.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The alias/deprecation notice and use cases are appropriately front-loaded, but the closing paragraph about locating the styleId largely repeats the verbose schema description of the same parameter, and the 'Do not claim you cannot see the styleId' warning is a guardrail rather than tool semantics. Structure is sound; redundancy drags it down.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers everything else an agent needs: alias status, preferred alternative, auth requirement and OAuth trigger, the upstream suggest-outfit-tool dependency, and the purpose of the wardrobe write. Nothing required for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description still adds value beyond the schema by naming the exact path (outfitItems[i].styleIdentifier.styleId) that the required styleId must come from and by framing the failure mode (ask the user or request a new outfit suggestion).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb+resource ('Adds or removes a known clothing item from the user's personal wardrobe by its style ID') and immediately distinguishes itself from its sibling by declaring it a backward-compatible alias and naming add-to-or-remove-from-wardrobe-by-id as the preferred call. An agent can select correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states when to use the tool ('users want to track clothing items they own or indicate they have something similar'), supplies concrete example utterances, and explicitly names the alternative ('Prefer add-to-or-remove-from-wardrobe-by-id for new calls'). Both the when and the routing are covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources