Remode - Visual Fashion Shopping
What this MCP does
Finds fashion products from text, images, links, or product pages, compares prices, and tracks items for lower prices or resale matches.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['product_url'], 'properties': {'region': {'type': 'string', 'maxLength': 8, 'minLength': 2, 'description': 'Two-letter shopping region/country code, such as US, CH, DE, or GB.'}, 'max_results': {'type': 'integer', 'maximum': 15, 'minimum': 1}, 'product_url': {'type': 'string', 'format': 'uri', 'description': 'Public retailer product-page URL for the exact fashion item to compare.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'app_url'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'region': {'type': 'string'}, 'app_url': {'type': 'string', 'format': 'uri'}, 'message': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'second_hand': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'result_count': {'type': 'number'}, 'attribution_note': {'type': 'string'}, 'assistant_platform': {'type': 'string'}}, 'additionalProperties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 240, 'minLength': 2, 'description': "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': {'type': 'string', 'maxLength': 8, 'minLength': 2, 'description': 'Two-letter shopping region/country code, such as US, CH, DE, or GB.'}, 'condition': {'enum': ['any', 'new', 'secondhand'], 'type': 'string', 'description': 'Restrict results to new or second-hand fashion. Defaults to any.'}, 'max_price': {'type': 'number', 'maximum': 1000000, 'description': "Optional maximum price in the shopping region's local currency.", 'exclusiveMinimum': 0}, 'max_results': {'type': 'integer', 'maximum': 15, 'minimum': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'app_url'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'region': {'type': 'string'}, 'app_url': {'type': 'string', 'format': 'uri'}, 'message': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'second_hand': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'result_count': {'type': 'number'}, 'attribution_note': {'type': 'string'}, 'assistant_platform': {'type': 'string'}}, 'additionalProperties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'link': {'type': 'string', 'format': 'uri', 'description': 'Fashion source URL: TikTok, Instagram, Pinterest, retailer product page, blog, or direct image.'}, 'region': {'type': 'string', 'maxLength': 8, 'minLength': 2, 'description': 'Two-letter shopping region/country code, such as US, CH, DE, or GB.'}, 'image_url': {'type': 'string', 'format': 'uri', 'description': 'Direct HTTPS image URL to run through Remode visual search.'}, 'image_file': {'type': 'object', 'required': ['download_url'], 'properties': {'file_id': {'type': 'string', 'minLength': 1, 'description': 'Stable file identifier supplied by the assistant host when available.'}, 'file_name': {'type': 'string'}, 'mime_type': {'type': 'string'}, 'download_url': {'type': 'string', 'format': 'uri', 'description': 'Temporary HTTPS URL supplied by the assistant host for an uploaded image.'}}, 'description': 'Image file uploaded by the user. ChatGPT supplies this via _meta.openai/fileParams.', 'additionalProperties': {}}, 'max_results': {'type': 'integer', 'maximum': 15, 'minimum': 1, 'description': 'Maximum new retail matches to return. Defaults to the backend setting.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'app_url'], 'properties': {'ok': {'type': 'boolean'}, 'error': {'type': 'string'}, 'region': {'type': 'string'}, 'app_url': {'type': 'string', 'format': 'uri'}, 'message': {'type': 'string'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'second_hand': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'price', 'currency', 'retailer', 'url', 'image', 'second_hand', 'match'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'image': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'match': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'currency': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'in_stock': {'type': 'boolean'}, 'retailer': {'type': 'string'}, 'save_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'watch_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'market_fit': {'enum': ['local', 'nearby', 'non_local', 'unknown'], 'type': 'string'}, 'remode_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'try_on_url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'second_hand': {'type': 'boolean'}, 'storefront_regions': {'type': 'array', 'items': {'type': 'string', 'maxLength': 2, 'minLength': 2}}, 'is_exact_match_hard': {'type': 'boolean'}}, 'additionalProperties': False}}, 'result_count': {'type': 'number'}, 'attribution_note': {'type': 'string'}, 'assistant_platform': {'type': 'string'}}, 'additionalProperties': {}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1}, 'watch_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'watches', 'updates', 'watch_ids'], 'properties': {'ok': {'type': 'boolean'}, 'updates': {'type': 'array', 'items': {'type': 'object', 'required': ['update_id', 'watch_id', 'kind', 'title', 'url', 'store', 'currency', 'created_at'], 'properties': {'url': {'type': 'string'}, 'kind': {'type': 'string'}, 'store': {'type': 'string'}, 'title': {'type': 'string'}, 'currency': {'type': 'string'}, 'watch_id': {'type': 'string'}, 'new_price': {'anyOf': [{}, {'type': 'null'}]}, 'old_price': {'anyOf': [{}, {'type': 'null'}]}, 'update_id': {'type': 'string'}, 'created_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'verified_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'price_evidence': {'type': 'string', 'const': 'historical_alert'}, 'delivery_status': {'enum': ['pending', 'unknown', 'accepted', 'unconfirmed'], 'type': 'string'}, 'mandate_evidence': {'type': 'string', 'const': 'historical_not_current_revision_proof'}, 'current_availability': {'type': 'string', 'const': 'unknown'}, 'delivery_accepted_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'watches': {'type': 'array', 'items': {'type': 'object', 'required': ['watch_id', 'status', 'active', 'title', 'url', 'image_url', 'price', 'currency', 'region', 'preferences', 'last_checked_at', 'updated_at'], 'properties': {'url': {'type': 'string'}, 'price': {'type': 'string'}, 'title': {'type': 'string'}, 'active': {'type': 'boolean'}, 'region': {'type': 'string'}, 'status': {'type': 'string'}, 'currency': {'type': 'string'}, 'watch_id': {'type': 'string'}, 'image_url': {'type': 'string'}, 'updated_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'preferences': {'type': 'array', 'items': {'enum': ['lower_price', 'second_hand'], 'type': 'string'}}, 'last_checked_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'watch_ids': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['watch_id'], 'properties': {'watch_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'watch_id', 'stopped', 'removed_from_saved'], 'properties': {'ok': {'type': 'boolean'}, 'stopped': {'type': 'boolean'}, 'watch_id': {'type': 'string'}, 'removed_from_saved': {'type': 'boolean'}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['watch_id', 'preferences'], 'properties': {'watch_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'preferences': {'type': 'array', 'items': {'enum': ['lower_price', 'second_hand'], 'type': 'string'}, 'maxItems': 2, 'minItems': 1, 'description': 'Replace the active criteria with lower price, second hand, or both.'}}}
Output schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'watch'], 'properties': {'ok': {'type': 'boolean'}, 'watch': {'type': 'object', 'required': ['watch_id', 'status', 'active', 'title', 'url', 'image_url', 'price', 'currency', 'region', 'preferences', 'last_checked_at', 'updated_at'], 'properties': {'url': {'type': 'string'}, 'price': {'type': 'string'}, 'title': {'type': 'string'}, 'active': {'type': 'boolean'}, 'region': {'type': 'string'}, 'status': {'type': 'string'}, 'currency': {'type': 'string'}, 'watch_id': {'type': 'string'}, 'image_url': {'type': 'string'}, 'updated_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'preferences': {'type': 'array', 'items': {'enum': ['lower_price', 'second_hand'], 'type': 'string'}}, 'last_checked_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'additionalProperties': False}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'maxLength': 4096, 'description': 'Retailer product URL from a Remode result.'}, 'size': {'type': 'string', 'maxLength': 24, 'minLength': 1, 'description': "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 watch continues for the exact item without a size and the result says so."}, 'color': {'type': 'string', 'maxLength': 40, 'minLength': 1, 'description': "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': {'type': 'string', 'maxLength': 40, 'description': 'Visible current price including currency when known.'}, 'title': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'region': {'type': 'string', 'maxLength': 8, 'minLength': 2, 'description': 'Shopping country code, such as US, CH, DE, or GB.'}, 'in_stock': {'type': 'boolean'}, 'condition': {'enum': ['new', 'pre_owned', 'any'], 'type': 'string', 'description': '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': {'type': 'string', 'format': 'uri', 'maxLength': 4096}, 'max_price': {'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'number', 'maximum': 10000000, 'exclusiveMinimum': 0}, 'currency': {'type': 'string', 'pattern': '^[A-Za-z]{3}$', 'description': 'ISO currency code, such as CHF, EUR, USD.'}}, 'description': "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."}, 'preferences': {'type': 'array', 'items': {'enum': ['lower_price', 'second_hand'], 'type': 'string'}, 'maxItems': 2, 'minItems': 1, 'description': 'What Remode should look for. Defaults to lower price and second hand.'}, 'use_saved_size': {'enum': ['tops', 'bottoms', 'shoes'], 'type': 'string', 'description': "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
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'watched', 'watch_id', 'region', 'preferences'], 'properties': {'ok': {'type': 'boolean'}, 'size': {'type': 'object', 'required': ['requested', 'origin', 'applied'], 'properties': {'origin': {'enum': ['request', 'profile'], 'type': 'string'}, 'reason': {'type': 'string'}, 'applied': {'type': 'boolean'}, 'evidence': {'type': 'string'}, 'requested': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'store_label': {'type': 'string'}, 'color_options': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, 'region': {'type': 'string'}, 'watched': {'type': 'boolean'}, 'watch_id': {'type': 'string'}, 'preferences': {'type': 'array', 'items': {'enum': ['lower_price', 'second_hand'], 'type': 'string'}}, 'price_target': {'type': 'object', 'required': ['amount', 'currency'], 'properties': {'amount': {'type': 'number'}, 'currency': {'type': 'string'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Recent tool changes
Similar MCP servers
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Bonanza
Searches active Bonanza marketplace listings and retrieves individual item details.
cyclesite-mcp-server
Supports searching, comparing, valuing, buying, selling, reserving, and messaging about used bicycles on a UK marketplace.
MONO Social
Provides directory search for local places, events, listings, services, offers, bookings, reservations, tickets, and products.
Campo Belo
Provides Campo Belo local discovery for places, events, menus, offers, services, bookings, reservations, tickets, and purchases.
Bom Retiro
Provides Bom Retiro local place, event, menu, offer, service, booking, reservation, ticketing, and checkout capabilities.
Bogeyland
Provides directory search for places, events, services, offers, bookings, reservations, tickets, menus, and purchases.
Genesis Social
Provides directory search and transactions for local places, events, restaurants, services, offers, bookings, and tickets.