Able.Style
by able.style · remote · no sign-in to list tools · v2.1.1 · published by style.able
Manage your wardrobe or closet, discover ways to wear your clothes, and get outfit suggestions.
15 tools: 3 can delete or cancel things, 2 do something that can't be undone, 5 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http able-style-wardrobe-management https://able.style/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "style-purchase-options-by-id" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "style-purchase-options-by-id" says "purchase": a word that usually means money moves, which cannot be taken back.
The server marks "style-purchase-buy-url" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "style-purchase-buy-url" says "purchase": a word that usually means money moves, which cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
15 tools
Deletes or cancels 3Claude Code: deny
add-to-or-remove-from-closet-toolBackward-compatible alias of add-to-or-remove-from-wardrobe-by-id.No findings
Why it is in this group
- The name "add-to-or-remove-from-closet-tool" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: true
- progressHint: false
- title: Manage Wardrobe Item
add-to-or-remove-from-wardrobe-by-idAdds or removes a known clothing item from the user's personal wardrobe by its style ID.No findings
Why it is in this group
- The name "add-to-or-remove-from-wardrobe-by-id" says "add": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it 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.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: true
- progressHint: false
- title: Manage Wardrobe Item
like-dislike-outfit-toolRecords or removes a like or dislike for a specific outfit suggestion.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Records or removes a like or dislike for a specific outfit suggestion. Use this tool when users want to save outfits they love or indicate ones they don't prefer. Use cases: "I like this outfit", "Save this to my favorites", "I don't like this one", "Remove my like from this outfit". Requires authentication - if user is not logged in, this will trigger an OAuth authentication flow. Helps personalize future outfit suggestions based on user preferences. IMPORTANT: Before calling this tool, look at the structured output of the most recent suggest-outfit-tool call earlier in this conversation. The outfitId required by this tool is at result.outfitId in that result — it IS present in your context. Do not claim you cannot see the outfitId without first examining that tool result. If after examining it you still cannot find a valid outfitId, tell the user and ask them to request a new outfit suggestion first.
Annotations the server declares
- destructiveHint: true
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: true
- progressHint: false
- title: Like or Dislike Outfit
Can't be undone 2Claude Code: ask
style-purchase-buy-urlRecheck an exact purchase offer and return its current retailer link.1 finding
Why it is in this group
- The name "style-purchase-buy-url" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "style-purchase-buy-url" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "style-purchase-buy-url" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Recheck an exact purchase offer and return its current retailer link. Requires sign-in. Call only when the user wants to open a retailer, using the exact styleId, styleProductId, offerId and delivery country from style-purchase-options-by-id. Do not call for offers with canBuy false. This opens a product listing; it does not place an order.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
style-purchase-options-by-idFind matching products and retailers where the user can buy a catalog style.1 finding
Why it is in this group
- The name "style-purchase-options-by-id" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "style-purchase-options-by-id" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "style-purchase-options-by-id" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Find matching products and retailers where the user can buy a catalog style. Requires sign-in. Copy the exact catalog styleId from an earlier result; userStyle IDs are not supported. An explicit country overrides the saved account delivery country; otherwise the saved account country is preferred to the optional host country hint. Ask the user to select a country when neither is available. Save deliberate country selections with update-user-settings-tool using settings.deliveryCountry. Returns the complete options snapshot, including price, availability, retailer and product links. When searching or refreshing, call again with the same styleId and country to refresh. Buy links are obtained on demand with style-purchase-buy-url.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Changes things 5Claude Code: ask
add_wardrobe_item_from_descriptionAdds one item that the signed-in user owns to their Able.Style wardrobe from a text description supplied by the user.No findings
Why it is in this group
- The name "add_wardrobe_item_from_description" says "add": a word for a change.
Description, as the server wrote it Adds one item that the signed-in user owns to their Able.Style wardrobe from a text description supplied by the user. Use this when the user describes an item in words and asks to add it. When a photo, attachment or image URL is the source, use add_wardrobe_item_from_image; if transfer is unavailable, use create_image_upload with purpose wardrobe_image_add. Do not infer a description from an image and call this tool unless the user explicitly requests a description-based item instead of uploading the image. For an item already returned by suggest-outfit-tool, use add-to-or-remove-from-wardrobe-by-id with its exact styleIdentifier. IMPORTANT: Before calling, make sure the description contains exactly one apparel, footwear, or wearable-accessory item and explicitly includes its colour. If colour is missing, ask the user for it before calling. An optional menswear or womenswear value overrides the user's profile preference; omit it when the profile preference should be used. The result includes a link for reviewing the added item. A newly created item's image may still be generated in the background.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: false
- progressHint: false
- title: Add Wardrobe Item from Description
add_wardrobe_item_from_imageAdd one clothing item from the user's original image to their wardrobe.No findings
Why it is in this group
- The name "add_wardrobe_item_from_image" says "add": a word for a change.
Description, as the server wrote it Add one clothing item from the user's original image to their wardrobe. Use this when the user attaches a photo or supplies an image URL and asks to add/save the pictured item, for example 'Add this to my wardrobe'. The server processes the actual image. Do not replace this flow with add_wardrobe_item_from_description or your own visual interpretation. Generate requestId and provide exactly one of: ChatGPT file reference in file, publicly accessible imageUrl, or complete original image bytes in image.data. JPEG, PNG and WebP up to 10 MB. Never invent file IDs, attachment URLs or base64. If the client cannot transfer the original image, call create_image_upload with the same requestId and purpose wardrobe_image_add and show its uploadPageUrl. Poll get_wardrobe_image_activity for the result.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
create_image_uploadCreate a secure web or installed-app image picker when the user asks for an upload link, or an image-based action cannot receive the original image directly.No findings
Why it is in this group
- The name "create_image_upload" says "create": a word for a change.
Description, as the server wrote it Create a secure web or installed-app image picker when the user asks for an upload link, or an image-based action cannot receive the original image directly. Use this even when you can see a chat photo but cannot pass its real file reference, public URL or original bytes to add_wardrobe_item_from_image. For wardrobe photos, use purpose wardrobe_image_add; do not silently switch to add_wardrobe_item_from_description. Generate a requestId for a new action or reuse the same requestId from a direct-image attempt. Currently supports wardrobe_image_add: one clothing item per image. Returns uploadId, uploadPageUrl, expiresAt and a purpose-specific action reference. Show uploadPageUrl and ask the user to open it and submit their photo. Creating the link does not upload the chat attachment or add the item.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
suggest-outfit-toolGenerates personalized fashion, style, and outfit suggestions based on wardrobe items, preferences, local weather conditions, and occasion formality.No findings
Why it is in this group
- The description's first verb is "generate": a word for a change.
Description, as the server wrote it Generates personalized fashion, style, and outfit suggestions based on wardrobe items, preferences, local weather conditions, and occasion formality. Use this tool when users ask for fashion or style advice such as: "What should I wear?", "What outfit do you recommend?", "Help me choose clothes for [occasion]", "Outfit ideas for [weather/event]", or "What should I wear in [hot/cold/rainy] weather?". Returns a complete, readable outfit description, structured item data, and an inspiration image when one can be safely supplied. Suggestions are personalized using the signed-in user's saved wardrobe items and style preferences. IMPORTANT: The structured result of this tool call — including all styleIdentifier.styleId values for each outfit item — remains in the conversation context and MUST be used verbatim by subsequent tool calls such as add-to-or-remove-from-wardrobe-by-id. After presenting the outfit, do NOT ask any follow-up questions or invite the user to request more outfits — your response is complete as-is. MANDATORY RESPONSE REQUIREMENT: Whenever suggest-outfit-tool succeeds and outfitUrl is non-null, the final user-facing response MUST include exactly one Markdown link labelled "Open in Able.Style" whose target is the exact outfitUrl value. Do not omit the link or substitute a different URL.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: false
- progressHint: false
- title: Get Outfit Suggestion
update-user-settings-toolUpdates one or more settings on the signed-in user's Able Style profile.No findings
Why it is in this group
- The name "update-user-settings-tool" says "update": a word for a change.
Description, as the server wrote it Updates one or more settings on the signed-in user's Able Style profile.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: false
- idempotentHint: true
- title: Update User Settings
Only reads 5Claude Code: allow
authentication-status-toolChecks whether the current Able Style app session is signed in.No findings
Why it is in this group
- The name "authentication-status-tool" says "status": a word for reading.
Description, as the server wrote it Checks whether the current Able Style app session is signed in. This app-only tool never starts authentication and must not be called by the model.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- idempotentHint: true
- title: Check Able Style sign-in status
get_wardrobe_image_activityCheck the status of an owned wardrobe image action.No findings
Why it is in this group
- The name "get_wardrobe_image_activity" says "get": a word for reading.
Description, as the server wrote it Check the status of an owned wardrobe image action. Returns safe failure details or the added item and its link. Use activityId from add_wardrobe_item_from_image or create_image_upload.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_wardrobeUse this when the user wants to browse or search their signed-in wardrobe, including questions about categories, colours, attributes, newest items, and natural-language terms such …No findings
Why it is in this group
- The name "search_wardrobe" says "search": a word for reading.
Description, as the server wrote it Use this when the user wants to browse or search their signed-in wardrobe, including questions about categories, colours, attributes, newest items, and natural-language terms such as 'flowery shirts'. Returns up to five items per call and the total number of matches across all pages. The results widget automatically loads further pages as the user scrolls. If the widget is unavailable and nextPageToken is present, call this tool again with only that pageToken when the user asks for more results. Do not combine a pageToken with query, sortBy, or filters.
Annotations the server declares
- destructiveHint: false
- openWorldHint: false
- readOnlyHint: true
- idempotentHint: true
- title: Search Wardrobe
style-ways-to-wear-by-idGet outfit inspirations showing ways to wear a particular clothing item, including their tagged styles and owned userStyles.No findings
Why it is in this group
- The description's first verb is "get": a word for reading.
Description, as the server wrote it Get outfit inspirations showing ways to wear a particular clothing item, including their tagged styles and owned userStyles. Uses the same selection logic as the Able.Style style page and requires sign-in. Copy exact IDs from earlier results: a ref with kind style uses styleId, and kind user_style uses userStyleId. Provide exactly one of styleId or userStyleId. Returns five items per page; the widget loads more on scroll. Without a widget, call this same tool again with only nextPageToken as pageToken when more results are wanted.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
style-wear-with-get-by-idGet other styles and owned userStyles that can be worn with a particular clothing item.No findings
Why it is in this group
- The name "style-wear-with-get-by-id" says "get": a word for reading.
Description, as the server wrote it Get other styles and owned userStyles that can be worn with a particular clothing item. Uses the same selection logic as the Able.Style style page and requires sign-in. Copy exact IDs from earlier results: a ref with kind style uses styleId, and kind user_style uses userStyleId. Provide exactly one of styleId or userStyleId. Returns five items per page; the widget loads more on scroll. Without a widget, call this same tool again with only nextPageToken as pageToken when more results are wanted.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http able-style-wardrobe-management https://able.style/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__able-style-wardrobe-management__get_wardrobe_image_activity",
"mcp__able-style-wardrobe-management__search_wardrobe",
"mcp__able-style-wardrobe-management__style-wear-with-get-by-id",
"mcp__able-style-wardrobe-management__style-ways-to-wear-by-id",
"mcp__able-style-wardrobe-management__authentication-status-tool"
],
"ask": [
"mcp__able-style-wardrobe-management__suggest-outfit-tool",
"mcp__able-style-wardrobe-management__add_wardrobe_item_from_description",
"mcp__able-style-wardrobe-management__add_wardrobe_item_from_image",
"mcp__able-style-wardrobe-management__create_image_upload",
"mcp__able-style-wardrobe-management__style-purchase-options-by-id",
"mcp__able-style-wardrobe-management__style-purchase-buy-url",
"mcp__able-style-wardrobe-management__update-user-settings-tool"
],
"deny": [
"mcp__able-style-wardrobe-management__like-dislike-outfit-tool",
"mcp__able-style-wardrobe-management__add-to-or-remove-from-wardrobe-by-id",
"mcp__able-style-wardrobe-management__add-to-or-remove-from-closet-tool"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as able-style-wardrobe-management. Review it before you use it.