Remode - Fashion Finder, New & Pre-loved
Server Details
Find fashion new or pre-loved from a photo, link or text; compare prices; hunt for a lower price.
- Status
- Healthy
- Uptime
- 24.1% over 69 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
The three discovery tools are cleanly separated by input type (specific product URL for check_price, text-only for find_fashion_by_description, visual source for find_fashion_items), and the four Hunt tools map to distinct CRUD operations. There is mild conceptual overlap since check_price and find_fashion_by_description can both surface cheaper alternatives, but the descriptions explicitly resolve which to use.
Most names follow a verb_noun pattern (check_price, update_watch, stop_watching_item), but the noun forms are inconsistent: 'watch' vs 'watching' across watch_item/update_watch/stop_watching_item, and find_fashion_items vs find_fashion_by_description use different suffix styles. Still readable, but not a predictable convention.
Seven tools is well-scoped for a fashion finder with a monitoring feature: three search/compare tools plus a four-tool Hunt lifecycle (create, read, update, delete). Each tool earns its place with no redundant or filler operations.
The Hunt lifecycle is fully covered (watch_item create, get_watch_updates read, update_watch edit, stop_watching_item delete) alongside text, visual, and price-comparison search. Minor gaps exist, such as update_watch not supporting size/budget edits, but core workflows have no dead ends.
Available Tools
7 toolscheck_priceCompare a fashion productARead-onlyIdempotentInspect
Use this when the user provides one specific fashion product-page URL and asks whether the same item is available elsewhere, cheaper, second-hand, or from another retailer. Remode compares the exact product first and labels merely similar alternatives separately. This is a one-time comparison: it never starts monitoring. Use it for requests that ask for results now, including 'hunt down cheaper options right now'. If the shopper clearly asks Remode to keep watching the item (keep looking, alert or notify me, tell me when, start a Hunt), call watch_item instead; if that is unclear, run this comparison and offer to start a Hunt. Pass the shopper's size when they state one. Do not use for a photo without a product URL, generic product discovery, styling advice, or non-fashion products.
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | The shopper's size exactly as they wrote it, such as M, XL or EU 50, when they stated one. Used to match second-hand listings; never assume it was applied unless the result's second_hand_gate says so. | |
| region | No | Two-letter shopping region/country code, such as US, CH, DE, or GB. | |
| max_results | No | ||
| product_url | Yes | Public retailer product-page URL for the exact fashion item to compare. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| error | No | |
| region | No | |
| app_url | Yes | |
| message | No | |
| results | No | |
| second_hand | No | |
| result_count | No | |
| attribution_note | No | |
| assistant_platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/openWorld/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: it never starts monitoring, it separates exact matches from merely similar items, and it discloses that the second_hand_gate governs whether size was actually applied. It stops short of latency/cost or region-default behavior, so a 4.
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?
Front-loaded with the primary trigger, then routing alternative, then the fallback rule, then exclusions. Dense and mostly every sentence earns its place, though the routing guidance is slightly more verbose than strictly necessary.
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?
An output schema exists so return values need not be explained. Combined with the strong usage routing, size caveat, and stated exclusions, an agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and the schema already documents size, region, and product_url well (including the size gating caveat). The description only adds the timing rule for passing size ('when they state one'); max_results remains undocumented. Baseline 3 fits since the schema carries most of the load.
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?
States a specific action (compare a fashion product URL) with concrete scope: exact-product comparison with similar alternatives labeled separately. It explicitly distinguishes itself from the sibling watch_item, so an agent can route without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use (one URL, wants availability/cheaper/second-hand/other retailer, results now), explicit when-not (photo without URL, generic discovery, styling, non-fashion), and names the alternative watch_item with the trigger phrases that select it. Even handles the ambiguous case by prescribing a fallback.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_fashion_by_descriptionFind fashion products from textARead-onlyIdempotentInspect
Use this for concrete purchase-intent fashion requests written entirely in text: a garment, shoe, bag, jewelry, watch, or wearable accessory; a brand/model; a budget; colour; size; condition; second-hand request; dupe; or similar alternative. No photo, screenshot, product link, or other visual source is required. Do not ask for one when the text already identifies the product being shopped. Examples: 'black midi dress under $100', 'second-hand Prada loafers', or 'alternatives to a Zara wool coat'. Returns current region-aware retailer listings. Do not use for what-to-wear or styling advice, outfit ratings, trends, fashion news, garment care, beauty, furniture, or other non-fashion products.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Concrete fashion product request, such as 'black midi dress', 'Prada loafers', or 'linen blazer size 40'. Do not send styling, rating, care, or editorial questions. | |
| region | No | Two-letter shopping region/country code, such as US, CH, DE, or GB. | |
| condition | No | Restrict results to new or second-hand fashion. Defaults to any. | |
| max_price | No | Optional maximum price in the shopping region's local currency. | |
| max_results | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| error | No | |
| region | No | |
| app_url | Yes | |
| message | No | |
| results | No | |
| second_hand | No | |
| result_count | No | |
| attribution_note | No | |
| assistant_platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds behaviour beyond that: it returns region-aware retailer listings, requires no visual input, and rejects a class of editorial queries — useful operational context the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core use case, then examples, then exclusions — a sensible order. It is on the long side and the example list and negative list partially overlap in spirit, but every sentence carries routing value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be spelled out, and the description still summarises them as region-aware retailer listings. With scope, exclusions, input-medium constraint, and examples all present for a 5-parameter read tool, nothing needed for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 80%, so the baseline is 3, but the description adds real meaning by mapping natural-language facets (brand/model, budget, colour, size, condition, second-hand, dupe) onto the query/condition/max_price/region parameters and giving composite examples like 'black midi dress under $100'. Only max_results is left entirely to 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?
States a specific verb+resource (find fashion products from text) and enumerates the product categories it covers, so the agent can tell it apart from watch/price siblings. It does not explicitly distinguish itself from the near-identical sibling find_fashion_items, which keeps it short of a 5.
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?
Gives explicit when-to-use (concrete purchase-intent text requests, with concrete examples), an explicit negative list (styling advice, outfit ratings, trends, news, care, beauty, furniture), and an anti-pattern instruction ('Do not ask for a photo when the text already identifies the product'). This is textbook routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_fashion_itemsFind fashion from an image or linkARead-onlyIdempotentInspect
Use this only when the user has supplied a photo, screenshot, direct image URL, social post, blog, or product page containing fashion to identify, visually match, or shop. A visual source is required. Pass that source as given; Remode resolves supported public links itself. It cannot receive a file attached in the chat: for an attached photo or screenshot, ask for a public image or product link, or describe the visible item (legible brand, garment type, colour, material, distinctive details) as a find_fashion_by_description query, present those results as similar items, not an identification, and pass on the photo-search link the result includes. Returns current region-aware retailer and resale listings with product images, verified prices when available, and direct buy links. Do not use this tool for a concrete text-only product request; use find_fashion_by_description instead. Do not use for styling advice, garment care, outfit ratings, or non-fashion products.
| Name | Required | Description | Default |
|---|---|---|---|
| link | No | Fashion source URL: TikTok, Instagram, Pinterest, retailer product page, blog, or direct image. | |
| region | No | Two-letter shopping region/country code, such as US, CH, DE, or GB. | |
| image_url | No | Direct HTTPS image URL to run through Remode visual search. | |
| max_results | No | Maximum new retail matches to return. Defaults to the backend setting. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| error | No | |
| region | No | |
| app_url | Yes | |
| message | No | |
| results | No | |
| second_hand | No | |
| result_count | No | |
| attribution_note | No | |
| assistant_platform | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly/idempotent/openWorld, so the safety profile is covered. The description adds real operational context beyond annotations: it cannot ingest chat attachments, it resolves supported public links itself, and results are region-aware retailer/resale listings with verified prices and buy links. It does not state rate limits or failure modes, so it stops short of a 5.
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?
Front-loaded with the core requirement and the alternative tool, which is good. However, the attached-photo fallback is a long run-on sentence that packs tool-routing, extraction instructions, and result-presentation rules into one clause chain, making it harder to parse than necessary.
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?
An output schema exists so return values need not be described, yet the description still usefully summarizes the return (region-aware retailer/resale listings, images, prices, buy links). Combined with usage rules and the attachment limitation, an agent has enough to call correctly; only the link-vs-image_url precedence is left implicit.
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 link, image_url, region, and max_results including formats and bounds. The description adds the constraint that a visual source is required and that links are resolved by Remode, but it does not explain parameter interplay (e.g., link vs image_url precedence). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('identify, visually match, or shop' fashion from a visual source) and explicitly distinguishes itself from the sibling find_fashion_by_description. The requirement of a visual source is front-loaded 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?
Explicit when-to-use ('user has supplied a photo, screenshot, direct image URL, social post, blog, or product page'), when-not ('concrete text-only product request' → use find_fashion_by_description; 'styling advice, garment care, outfit ratings, non-fashion products' → do not use), and it handles the attached-file edge case with a concrete fallback path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_watch_updatesGet Hunt updatesARead-onlyIdempotentInspect
Read the linked user's active Hunts, stored requested criteria and recorded historical alerts. Use before editing an existing Hunt to preserve unmentioned terms and select its returned watch_id. Stored requested sizes/budgets and alert clocks do not prove current price, stock, fit or delivery. Returns a bounded list; has_more=true means additional Hunts are omitted. Use when the user asks what Remode is watching or whether anything changed. Say a returned line only. Carrie speaks only when an update is a verified second-hand find (kind watch_secondhand, or a reason starting with secondhand, and delivery accepted or in_app_only): her surprise, then the photos and the seller. No such update means do not mention Carrie, and do not say a second-hand search is running or that she will have a look. A shop find is Colette's. A near-miss is Colette's and is not a find.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| watch_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| updates | Yes | |
| watches | Yes | |
| has_more | No | |
| watch_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety bar is low, yet the description adds real behavior: stored sizes/budgets and alert clocks do not prove current price/stock/fit/delivery, the result is bounded with has_more=true signaling omissions, and it is scoped to the linked user. It also encodes output-rendering rules (Carrie/Colette attribution) that are not derivable from structured fields.
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?
Purpose and usage are front-loaded well, but the latter half is a long block of persona/voice rules (Carrie's surprise, photos, seller; shop finds and near-misses belonging to Colette) that is dense and repetitive for a tool description. Much of the tail is response-formatting guidance rather than call-time 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?
With an output schema present, return values need not be explained, yet the description still usefully covers has_more and the freshness caveat. The main incompleteness is the unexplained limit parameter and the lack of clarity on default page sizing.
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 0%, so the description must carry parameter meaning. It clarifies the role of watch_id ('select its returned watch_id') but says nothing about limit or its 1-25 bound/relevance to has_more, leaving half the parameters undocumented.
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 first sentence gives a specific verb and resource: reading the linked user's active Hunts, their stored criteria, and historical alerts. It also states scope ('a bounded list') and distinguishes the read from the sibling mutation tool update_watch by positioning it as a pre-edit inspection.
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 gives explicit when-to-use conditions ('before editing an existing Hunt', 'when the user asks what Remode is watching or whether anything changed') and implies when-not by tying the read to the update flow for retrieving watch_id. The alternative path (update_watch) is effectively named by that dependency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_watching_itemStop a HuntADestructiveIdempotentInspect
Stop an existing Remode Hunt. Use only after the user asks to stop tracking an item. Requires the stable watch_id returned by Remode.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| stopped | Yes | |
| watch_id | Yes | |
| removed_from_saved | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds the prerequisite that a stable watch_id from Remode is required and gates invocation on user intent, but says nothing about what stopping actually destroys (watch history, alerts, reversibility).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the precondition and the required input. No filler, though the repeated 'Remode' reference is slightly redundant.
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?
An output schema exists, so return values need no explanation, and annotations cover the destructive/idempotent profile. The description supplies the user-intent precondition and input provenance, leaving only minor gaps such as side effects of stopping a hunt.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter with 0% description coverage, so the description must compensate. It does partially by identifying the parameter's provenance ('the stable watch_id returned by Remode'), but adds no format, length, or validity detail beyond what the schema's type and length constraints imply.
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?
States a specific verb and resource ('Stop an existing Remode Hunt') and clarifies the object of the action as 'tracking an item', which distinguishes it from siblings like watch_item and update_watch. It does not name those siblings explicitly, so differentiation is inferred rather than stated.
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?
'Use only after the user asks to stop tracking an item' gives an explicit precondition and confirmation gate. It stops short of naming the alternative tool for other watch-management needs, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_watchUpdate a HuntADestructiveInspect
Edit criteria for an existing Hunt using its returned watch_id. Read get_watch_updates first. Use operation add to preserve existing criteria when the shopper asks for another lane; remove to drop a lane; replace only for an explicit complete change. Removing lower_price also deletes its saved price target; disclose that consequence before the change. No size or budget editing is supported here. Never change a Hunt unless the user asks, and read its state after a timeout or conflict before deciding whether to retry.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes | ||
| operation | No | Use add for 'also find second-hand', remove to drop a criterion, or replace for an explicitly requested full change. Defaults to replace for existing clients. Removing lower_price also removes its saved price target. | |
| preferences | Yes | Criteria to add, remove or replace. For replace, send the complete desired set; omitted criteria are removed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| watch | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=false, and the description credibly reinforces this by disclosing that removing lower_price also deletes its saved price target and that state should be re-read after a timeout or conflict before retrying. It adds real consequence and retry-hazard context beyond the annotations, though it could say more about the failure/conflict semantics themselves.
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?
Purpose is front-loaded and every sentence carries an instruction, consequence, or constraint, with no filler. It is dense to the point of being run-on in places, but nothing reads as padding.
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 three parameters, an output schema present, and destructive/idempotency annotations, the description covers the remaining gaps: operation choice, the side effect of removal, edit scope limits, user-consent requirement, and retry-after-conflict behavior. An agent has everything it needs to call this correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description adds meaning on top of it: the effect of 'replace' (complete desired set, omitted criteria removed) and the destructive side effect of 'remove' on lower_price. The operation enum semantics overlap with the schema's own enum description, but the description still sharpens the intent behind each value.
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 first sentence gives a specific verb and resource – 'Edit criteria for an existing Hunt' – and pins the natural key ('its returned watch_id'). It also distinguishes the tool from the read-oriented sibling get_watch_updates, so an agent can place it without opening a schema.
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 states explicit when-to-use for each operation ('add to preserve existing criteria', 'remove to drop a lane', 'replace only for an explicit complete change'), names a when-not ('No size or budget editing is supported here'), and gives a precondition ('Never change a Hunt unless the user asks'). This is the full when/when-not/alternative triad.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watch_itemStart a Hunt for a fashion product in RemodeADestructiveInspect
Create or refresh an account-linked Hunt for a specific fashion product URL. Call this only when the shopper clearly wants Remode to keep watching this item over time: keep watching or looking, watch it for a lower price or second-hand options, alert or notify me, tell me or let me know when, start a Hunt, or an ask to hunt it for them that also asks what Remode will watch for, for example 'Hunt this for me and tell me what you will watch for, my size is M, I live in Switzerland': pass url, size exactly as the shopper wrote it, and region as a country code. A hypothetical or informational question about Hunts ('what would a Hunt watch for?', 'how does a Hunt work?') is not a request to start one: answer it without a write and offer to start a Hunt. A request for results now ('hunt down cheaper options for this link right now', 'find me', 'is it cheaper') is a one-time comparison: use check_price and never create a Hunt. If it is unclear whether the shopper wants ongoing watching, use check_price and offer to start a Hunt. After the call, say only Colette's confirmation at the start of the returned text, and its one question if that confirmation has one, then stop. Do not add small talk, do not say please wait, and do not say Carrie will look or that a second-hand search is running. Carrie speaks only in a later update when a verified second-hand piece exists. The rest of the returned text is the mandate, not a script to read out. A new hunt request needs no earlier read; read existing Hunts first only when the shopper refers to a Hunt they already have, because this can replace an existing Hunt's terms. Use update_watch for criteria edits; do not re-create an existing Hunt unless the shopper explicitly requests a replacement and all desired terms can be represented. Percent-off targets cannot be set here. Exact item only: the Hunt never widens to similar items. Optional terms: same-currency max_price, condition, and size supported by a retailer variant record. Explicit in_stock=false can enable restock monitoring; never infer stock. Persisted state and ongoing monitoring are inside Remode: this creates a Remode Hunt, not a reminder or scheduled task in the assistant, and Remode keeps checking until the Hunt is stopped. The call returns as soon as the Hunt is queued; it does not scan. Say only Colette's confirmation and its one question if present, then stop. Do not add small talk, do not say please wait, and do not say Carrie will look or that a second-hand search is running. Carrie speaks only in a later update when a verified second-hand piece exists.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Retailer product URL from a Remode result. | |
| size | No | The shopper's size as the store labels it. Remode applies it only when it can read the store's own per-size stock; otherwise the Hunt continues for the exact item without a size and the result says so. | |
| color | No | The exact item's colour as the store names it. When the store sells the item in several colours, a size is applied only together with one of the store's own colour labels; on a single-colour product page the size is applied without a colour. | |
| price | No | Visible current price including currency when known. | |
| title | No | ||
| region | No | Shopping country code, such as US, CH, DE, or GB. | |
| in_stock | No | ||
| condition | No | Say-when condition for this exact item: new (new listings only; second-hand listings never count), pre_owned (second hand), or any (both). Use instead of preferences. | |
| image_url | No | ||
| max_price | No | Price finish line for this exact item: alert only at or below this price, in this currency. Must be the item's own currency; Remode never converts currencies. Works with condition new, pre_owned or any: a second-hand (pre_owned) watch can carry this absolute price ceiling. A percent-off target is not settable here. | |
| preferences | No | What Remode should look for. Defaults to lower price and second hand. | |
| use_saved_size | No | Use the shopper's saved usual size for this category as the size, when size is not given. Read-only; never changes the saved sizes. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | |
| size | No | |
| region | Yes | |
| watched | Yes | |
| watch_id | Yes | |
| preferences | Yes | |
| price_target | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the safety profile (readOnly=false, destructive=true, idempotent=false, openWorld=true). The description adds substantial context beyond that: the call returns as soon as the Hunt is queued and does not scan, monitoring is persisted inside Remode and continues until stopped, it is not an assistant reminder or scheduled task, this can replace an existing Hunt's terms, percent-off targets are unrepresentable, and the Hunt never widens to similar items.
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?
Purpose and routing rules are correctly front-loaded, but the final block is duplicated almost verbatim: 'Do not add small talk, do not say please wait, do not say Carrie will look... Carrie speaks only in a later update when a verified second-hand piece exists' appears twice, along with a repeated 'Say only Colette's confirmation... then stop.' This is padding, not conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, yet the description still tells the agent how to handle the returned text (read only Colette's confirmation and its single question; the mandate is not a script). Combined with the routing, persistence, and mutation caveats, nothing needed to call this 12-parameter tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, below the threshold where the schema alone suffices. The description adds real semantics: size must be passed 'exactly as the shopper wrote it', region as a country code, max_price must be the item's own currency (never converted), condition as a say-when filter, and in_stock=false must be explicit and never inferred. It does not add much for url, title, image_url, or preferences 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?
Opens with a specific verb+resource+scope: 'Create or refresh an account-linked Hunt for a specific fashion product URL.' It immediately differentiates itself from siblings by naming check_price for one-time comparisons and update_watch for criteria edits, so an agent can route without opening any other schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit when-to-use triggers are enumerated verbatim ('keep watching', 'alert me', 'start a Hunt'), and when-not-to-use is equally explicit: hypothetical questions get no write, results-now requests go to check_price and never create a Hunt, ambiguity defaults to check_price. It also states the pre-read condition (read existing Hunts first only when the shopper refers to an existing Hunt) and the update_watch alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
watch_item1 field changed- changed
Input schema / properties / max_price / descriptionPrevious value: -"Price finish line for this exact item: alert only at or below this price, in this currency. Must be the item's own currency; Remode never converts currencies. Requires condition new or any."New value: +"Price finish line for this exact item: alert only at or below this price, in this currency. Must be the item's own currency; Remode never converts currencies. Works with condition new, pre_owned or any: a second-hand (pre_owned) watch can carry this absolute price ceiling. A percent-off target is not settable here."
1 tool update
- Changed
get_watch_updates1 field changed- changed
Output schema / properties / updates / items / properties / delivery_status / enumPrevious value: -[ - "pending", - "unknown", - "accepted", - "unconfirmed" -]New value: +[ + "pending", + "unknown", + "accepted", + "in_app_only", + "unconfirmed" +]
7 tool updates
- First observed
check_price - First observed
find_fashion_by_description - First observed
find_fashion_items - First observed
get_watch_updates - First observed
stop_watching_item - First observed
update_watch - First observed
watch_item
Related MCP Connectors
Read-only fashion and beauty product search across popular online shops, any price, any language.
Search and get fashion products recommendations across multiple e-ecom stores
Search fashion across 1,000+ retailers; compare prices, sizes and stock by country.
Shopping search across 100M+ products, with every retailer's offer and live price in one place.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI assistants to search secondhand marketplaces (Facebook Marketplace, eBay, Depop, Poshmark) for used items with filters like price, condition, size, and color.5127 npm91MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to clarify clothing needs with simple questions, search across 11 clothing stores, verify product pages, and generate swipeable card-based reports with PDF export.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search a catalog of roughly 960,000 fashion products across about 10,000 Iranian online and Instagram shops, comparing prices and discounts, checking per-color and per-size stock, browsing categories and curated listings, and finding similar items at other shops. It also lets agents assess shop trust signals such as ratings and buyer surveys, surface flash sales and discount codes, and read blog style guides, all read-only with no login or ordering.14428 PyPI2MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to deconstruct outfit photos into clothing pieces, discover 100% in-stock occasion looks, verify live size and fabric availability, and generate direct one-click checkout links.110 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.