このMCPでできること
Compares Dubai grocery prices, products, stores, delivery rules, and indicative online offers.
ツール
入力スキーマ
{'type': 'object', 'required': ['items'], 'properties': {'area': {'type': 'string', 'maxLength': 80}, 'items': {'type': 'array', 'items': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'maxItems': 40, 'minItems': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['currency', 'observed_at', 'stale', 'attribution', 'open_in_browser', 'catalog_date', 'single_product_mode', 'outcome', 'confidence', 'area', 'recommended_store', 'ranking', 'items', 'compared', 'not_compared', 'not_found', 'below_minimum_stores', 'advice', 'browser_handoff_truncated'], 'properties': {'area': {'type': 'object', 'required': ['ok', 'reason', 'value'], 'properties': {'ok': {'type': 'boolean'}, 'value': {'type': 'string', 'maxLength': 80}, 'reason': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}}, 'additionalProperties': False}, 'items': {'type': 'array', 'items': {'type': 'object', 'required': ['text', 'status', 'match', 'product', 'quantity', 'at_recommended_store', 'cheapest_seen', 'unresolved_reason', 'candidates', 'next_step'], 'properties': {'text': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'match': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'status': {'enum': ['compared', 'not_compared', 'unresolved']}, 'product': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'comparison', 'unit'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'unit': {'enum': ['each', 'kg', 'l']}, 'comparison': {'enum': ['exact', 'equivalent']}}, 'additionalProperties': False}, {'type': 'null'}]}, 'quantity': {'anyOf': [{'type': 'object', 'required': ['value', 'unit', 'source', 'assumed'], 'properties': {'unit': {'enum': ['each', 'kg', 'l']}, 'value': {'type': 'number'}, 'source': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'assumed': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'null'}]}, 'next_step': {'anyOf': [{'type': 'string', 'maxLength': 300, 'minLength': 1}, {'type': 'null'}]}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}}, 'cheapest_seen': {'anyOf': [{'type': 'object', 'required': ['store_id', 'store', 'cost_aed'], 'properties': {'store': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'cost_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'store_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'null'}]}, 'unresolved_reason': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'at_recommended_store': {'anyOf': [{'type': 'object', 'required': ['store_id', 'store', 'title', 'pack_quantity', 'unit', 'packs', 'sale_mode', 'price_aed', 'cost_aed', 'purchased_quantity', 'unit_price_aed', 'estimated', 'observed_at', 'url'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'unit': {'enum': ['each', 'kg', 'l']}, 'packs': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'store': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'cost_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'store_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'estimated': {'type': 'boolean'}, 'price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'sale_mode': {'enum': ['pack', 'weight']}, 'observed_at': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'pack_quantity': {'type': 'number', 'description': 'Size of ONE pack in `unit` (e.g. 0.2 kg). Explicit even when the store title omits it.'}, 'unit_price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'purchased_quantity': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'null'}]}}, 'additionalProperties': False}, 'description': 'One entry per requested item, in request order: chosen product and quantity, pack and price at the recommended store, or why it is unresolved and what to try next.'}, 'stale': {'type': 'boolean'}, 'advice': {'type': 'object', 'description': 'Site advisor export: monetary field suffix Fils replaced with Aed and divided by 100. Contains explicit assumptions, coverage, provisional outcomes and shipping uncertainty.'}, 'outcome': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'ranking': {'type': 'array', 'items': {'anyOf': [{'type': 'object', 'required': ['retailerId', 'label', 'subtotalAed', 'feeKnown'], 'properties': {'of': {'type': 'integer'}, 'label': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'covered': {'type': 'integer'}, 'feeKnown': {'type': 'boolean'}, 'feeMaxAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'feeMinAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'retailerId': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'shipReason': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'subtotalAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'totalMaxAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'totalMinAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': True}, {'type': 'null'}]}, 'description': 'Stores priced on the same product set. In single-product mode every row also carries unit_price_aed, unit and the chosen offer (title, pack size, packs).'}, 'compared': {'type': 'array', 'items': {'type': 'object'}}, 'currency': {'const': 'AED'}, 'not_found': {'type': 'array', 'items': {'type': 'object'}}, 'confidence': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'attribution': {'type': 'string'}, 'observed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'catalog_date': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'not_compared': {'type': 'array', 'items': {'type': 'object'}}, 'open_in_browser': {'type': 'string', 'format': 'uri'}, 'recommended_store': {'anyOf': [{'type': 'object', 'required': ['retailerId', 'label', 'subtotalAed', 'feeKnown'], 'properties': {'of': {'type': 'integer'}, 'label': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'covered': {'type': 'integer'}, 'feeKnown': {'type': 'boolean'}, 'feeMaxAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'feeMinAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'retailerId': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'shipReason': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'subtotalAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'totalMaxAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'totalMinAed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': True}, {'type': 'null'}]}, 'single_product_mode': {'type': 'boolean'}, 'below_minimum_stores': {'type': 'array', 'items': {'type': 'object'}}, 'browser_handoff_truncated': {'type': 'boolean', 'description': 'The website can preload up to 4000 characters; true if the supplied list exceeds that limit.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['currency', 'observed_at', 'stale', 'attribution', 'open_in_browser', 'query', 'state', 'results', 'retry_after_s', 'cached_at', 'shipping', 'note'], 'properties': {'note': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'error': {'type': 'object', 'required': ['code', 'message'], 'properties': {'code': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'message': {'type': 'string', 'maxLength': 1000, 'minLength': 1}}, 'additionalProperties': False}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'stale': {'type': 'boolean'}, 'state': {'enum': ['ready', 'queued', 'rejected', 'capped']}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'merchant', 'price_aed', 'url', 'relevance'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'merchant': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'relevance': {'type': 'number', 'maximum': 1, 'minimum': 0}}, 'additionalProperties': False}}, 'currency': {'const': 'AED'}, 'shipping': {'type': 'null'}, 'cached_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'attribution': {'type': 'string'}, 'observed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'retry_after_s': {'type': 'number', 'minimum': 0}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['product_id'], 'properties': {'product_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['currency', 'observed_at', 'stale', 'attribution', 'open_in_browser', 'product', 'history', 'history_note'], 'properties': {'stale': {'type': 'boolean'}, 'history': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'price_aed', 'store'], 'properties': {'date': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'store': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'product': {'type': 'object', 'required': ['id', 'name', 'unit', 'size', 'comparison', 'page', 'open_in_browser', 'offers'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'page': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'size': {'type': 'object', 'required': ['quantity', 'unit'], 'properties': {'unit': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'quantity': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'unit': {'enum': ['each', 'kg', 'l']}, 'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['store_id', 'store', 'title', 'price_aed', 'unit_price_aed', 'unit', 'pack_quantity', 'sale_mode', 'url', 'observed_at', 'comparison', 'status', 'available'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'unit': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'store': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'status': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'store_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'available': {'type': 'boolean'}, 'price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'sale_mode': {'enum': ['pack', 'weight']}, 'comparison': {'enum': ['exact', 'equivalent']}, 'observed_at': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'pack_quantity': {'type': 'number'}, 'unit_price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'comparison': {'enum': ['exact', 'equivalent']}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'currency': {'const': 'AED'}, 'attribution': {'type': 'string'}, 'observed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'history_note': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['currency', 'observed_at', 'stale', 'attribution', 'open_in_browser', 'stores'], 'properties': {'stale': {'type': 'boolean'}, 'stores': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'url', 'kind', 'integrated', 'coverage_note', 'minimum_order_aed', 'minimum_source', 'policy_status', 'policy_reason', 'shipping_rule', 'source', 'checked_at'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'kind': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checked_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'integrated': {'type': 'boolean'}, 'coverage_note': {'type': 'string'}, 'policy_reason': {'anyOf': [{'type': 'string', 'maxLength': 120, 'minLength': 1}, {'type': 'null'}]}, 'policy_status': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'shipping_rule': {'anyOf': [{'type': 'object', 'description': 'Published rule with monetary fields in AED (suffix Aed); null means unknown.'}, {'type': 'null'}]}, 'minimum_source': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minimum_order_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'currency': {'const': 'AED'}, 'attribution': {'type': 'string'}, 'observed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', 'required': ['query'], 'properties': {'query': {'type': 'string', 'maxLength': 120, 'minLength': 1}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', 'required': ['currency', 'observed_at', 'stale', 'attribution', 'open_in_browser', 'query', 'count', 'products'], 'properties': {'count': {'type': 'integer'}, 'query': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'stale': {'type': 'boolean'}, 'currency': {'const': 'AED'}, 'products': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'unit', 'size', 'comparison', 'page', 'open_in_browser', 'offers'], 'properties': {'id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'page': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'size': {'type': 'object', 'required': ['quantity', 'unit'], 'properties': {'unit': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'quantity': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'unit': {'enum': ['each', 'kg', 'l']}, 'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['store_id', 'store', 'title', 'price_aed', 'unit_price_aed', 'unit', 'pack_quantity', 'sale_mode', 'url', 'observed_at', 'comparison', 'status', 'available'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri'}, {'type': 'null'}]}, 'unit': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'store': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'title': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'status': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'store_id': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'available': {'type': 'boolean'}, 'price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}, 'sale_mode': {'enum': ['pack', 'weight']}, 'comparison': {'enum': ['exact', 'equivalent']}, 'observed_at': {'type': 'string', 'maxLength': 120, 'minLength': 1}, 'pack_quantity': {'type': 'number'}, 'unit_price_aed': {'anyOf': [{'type': 'number', 'multipleOf': 0.01, 'description': 'AED, rounded to two decimal places. Unknown amounts are null.'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'comparison': {'enum': ['exact', 'equivalent']}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'attribution': {'type': 'string'}, 'observed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'open_in_browser': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
AgentLot Marketplace
Enables agents and users to discover, bid on, purchase, deliver, and settle paid digital services and compute work.
apex-x1
Provides X1 and Arc token screening, liquidity and exit-risk checks, wallet and bridge data, non-custodial token operations, comm…
SpellBook Finance
Provides Magic: The Gathering and other trading-card market prices, buylist offers, arbitrage analysis, sealed-product EV, seller…
API Direct
Searches and retrieves data from social networks, news and Google services, while also providing Amazon product, seller, ranking,…
Digital Manager Guru
Provides Digital Manager Guru checkout, customer, transaction, subscription, affiliate, coupon, blocklist, and digital-product sa…
Pagar.me
Connects to Pagar.me to manage customers, cards, orders, charges, invoices, payment captures, confirmations, retries, refunds, an…
amazon-product-research-mcp
Researches Amazon products, brands, sellers, buy-box activity, sourcing profitability, category competition, and supplier opportu…
AgentLux
Operates an agent avatar marketplace with item generation, purchases, creator earnings, public profiles, social activity, and ERC…