Dubai Grocery Prices
Server Details
Compare Dubai grocery lists, observed prices, delivery rules and indicative online offers in AED.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
Each tool targets a distinct task: basket comparison (compare_grocery_list), live web pricing (find_price_online), catalogue lookup by identifier (get_product), store listing (list_stores), and catalogue search (search_products). The descriptions explicitly delineate the two price-oriented tools (catalogue vs live web) and search vs get, leaving only minor overlap between search_products and get_product.
All five names follow a clean verb_noun snake_case pattern: compare_grocery_list, find_price_online, get_product, list_stores, search_products. No mixed conventions or ambiguous verbs.
Five tools is well-scoped for a Dubai grocery price comparison server, covering search, detail, basket comparison, store listing, and external price lookup. Each tool earns its place without redundancy.
The core lifecycle of searching, inspecting, comparing, and cross-checking prices across stores is covered. Minor gaps exist (e.g. no category/browse listing or price-tracking tool), but agents can work around these via search_products and list_stores.
Available Tools
5 toolscompare_grocery_listARead-onlyInspect
Compare the total cost of a grocery list across Dubai supermarkets. Uses observed catalogue prices and published delivery rules; unknown delivery stays unknown. Product and quantity matches are explicit proposals. A single product is ranked by product price; minimum order is shown without excluding stores.
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | ||
| items | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| area | Yes | |
| items | Yes | 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 | Yes | |
| advice | Yes | Site advisor export: monetary field suffix Fils replaced with Aed and divided by 100. Contains explicit assumptions, coverage, provisional outcomes and shipping uncertainty. |
| outcome | Yes | |
| ranking | Yes | 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 | Yes | |
| currency | Yes | |
| not_found | Yes | |
| confidence | Yes | |
| attribution | Yes | |
| observed_at | Yes | |
| catalog_date | Yes | |
| not_compared | Yes | |
| open_in_browser | Yes | |
| recommended_store | Yes | |
| single_product_mode | Yes | |
| below_minimum_stores | Yes | |
| browser_handoff_truncated | Yes | The website can preload up to 4000 characters; true if the supplied list exceeds that limit. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint and openWorldHint annotations, the description discloses data sources ('observed catalogue prices and published delivery rules'), handling of unknowns ('unknown delivery stays unknown'), explicit matching proposals for product and quantity, and ranking/minimum-order behavior. This is rich behavioral context that an agent cannot get from structured fields alone.
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?
Four tightly written sentences, front-loaded with the core purpose, and each subsequent sentence adds behavioral detail without filler. No wasted words.
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?
For a read-only, open-world tool with an output schema, the behavioral context is strong enough. However, the complete absence of parameter-level guidance given 0% schema coverage is a notable gap that leaves the agent guessing about how to populate 'items' and what 'area' does.
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% and there are 2 parameters, so the description must compensate. It only indirectly implies that 'items' is the grocery list and 'area' relates to Dubai location; it never explains the area parameter, the item string format (e.g., product names, quantities), or constraints, leaving most parameter semantics 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 description states a specific verb ('Compare'), resource ('total cost of a grocery list'), and scope ('across Dubai supermarkets'). It also clarifies single-product ranking and minimum-order behavior, which distinguishes it from siblings like find_price_online (single product) and list_stores.
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?
Usage is implied by 'Compare the total cost of a grocery list across Dubai supermarkets' and the note about single-product ranking, but there is no explicit when-to-use guidance, no exclusions, and no named alternatives such as find_price_online for single-product lookups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_price_onlineARead-onlyInspect
Find indicative online prices from Google Shopping UAE. New searches have strict daily limits. If queued, wait retry_after_s before calling again. Delivery is excluded; check product variants, stock and final price at the store.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| error | No | |
| query | Yes | |
| stale | Yes | |
| state | Yes | |
| results | Yes | |
| currency | Yes | |
| shipping | Yes | |
| cached_at | Yes | |
| attribution | Yes | |
| observed_at | Yes | |
| retry_after_s | Yes | |
| open_in_browser | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful operational context beyond that: daily rate limits, a queueing/retry mechanism via retry_after_s, and the caveat that results are indicative and exclude delivery. This is exactly the additional behavioral detail annotations cannot 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?
Three tight sentences, front-loaded with purpose before the operational caveats. Every sentence carries distinct information (purpose, rate limit/retry, verification caveat) with no filler, though retry_after_s assumes a field the agent must infer from elsewhere.
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?
Since an output schema exists, return values need not be explained, and the description adequately covers the operational essentials — the indicative-price scope, rate limits, retry behavior, and where final price must be confirmed. The only real gap is the input query's expected content, which is left unspecified.
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% and the sole 'query' parameter is undocumented — no format, examples, or expected syntax appear in either the schema or the description. The mention of 'New searches' hints that queries are the input but adds no real semantic detail, so the description fails to compensate for the coverage gap.
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 gives a specific verb+resource: 'Find indicative online prices from Google Shopping UAE', which tells the agent exactly what it retrieves and from which source. However, it never distinguishes itself from siblings like search_products or get_product, so an agent cannot tell which price-related tool to pick 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?
Usage constraints are stated (strict daily limits, wait retry_after_s if queued) and the post-conditions are noted (verify variants/stock/final price at the store). But there is no explicit routing guidance — nothing says when to use this versus search_products or get_product, leaving the choice implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productARead-onlyInspect
Get a catalogue product, observed store offers and product history where available. Basket-total history is never presented as product history.
| Name | Required | Description | Default |
|---|---|---|---|
| product_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| stale | Yes | |
| history | Yes | |
| product | Yes | |
| currency | Yes | |
| attribution | Yes | |
| observed_at | Yes | |
| history_note | Yes | |
| open_in_browser | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so safety is covered; the description adds a genuinely non-obvious data-semantics rule that isn't in any structured field — that basket-total history must never be conflated with product history. It stops short of describing pagination, auth, or rate behavior, but the caveat is real added value.
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?
Two sentences, zero filler, with the primary action front-loaded and the constraining caveat second. Nothing repeats the title or the structured fields.
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-shape explanation is not required, yet the description usefully names the three things returned (catalogue data, offers, history) and flags their conditional availability. The only real gap is the undocumented product_id format, which is a minor omission for a one-parameter tool with an output schema.
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 0% description coverage on the single product_id parameter (maxLength 80), so the description must carry the burden and largely does not. 'Catalogue product' weakly hints the ID is catalogue-scoped rather than store-scoped, but no format, prefix, or source for the identifier is given.
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 ('Get a catalogue product') and enumerates the payload ('observed store offers and product history'), which separates it from search_products by implying lookup rather than discovery. It does not name any sibling explicitly, so differentiation is left partly to inference.
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?
Usage is implied by the single required product_id — an agent can infer this is the retrieval-by-identifier tool while search_products handles discovery — but no when-to-use, when-not, or alternative tool is named. The phrase 'where available' softly signals partial results without explaining when data will be missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_storesARead-onlyInspect
List Dubai stores and their published delivery rules, minimum orders, source URLs and verification dates. Unknown or expired delivery rules are explicitly labelled.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| stale | Yes | |
| stores | Yes | |
| currency | Yes | |
| attribution | Yes | |
| observed_at | Yes | |
| open_in_browser | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly and openWorld, and the description adds meaningful output behavior: unknown or expired delivery rules are explicitly labelled rather than silently omitted. That is real value beyond the structured fields for a read tool.
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?
A single sentence that front-loads the resource and then the returned fields, with no redundant or filler wording.
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 zero parameters, an output schema present, and annotations covering the safety profile, the description only needs to convey scope and return character — which it does, including the expired-rule labeling caveat.
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 tool takes zero parameters, so there is nothing to disambiguate; the baseline for a parameterless tool applies. No parameter claims in the description conflict with the empty 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 (List) and resource (Dubai stores) plus the salient fields returned: delivery rules, minimum orders, source URLs, verification dates. It is clearly distinguishable from the product/price siblings in intent, though it never names an alternative.
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?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. The agent is left to infer that this is the entry point for discovering stores versus search_products or get_product.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsARead-onlyInspect
Search the observed Dubai grocery catalogue by name, brand or identifier. Returns exact/equivalent matches and dated offers in AED. This does not run a live web search.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | |
| query | Yes | |
| stale | Yes | |
| currency | Yes | |
| products | Yes | |
| attribution | Yes | |
| observed_at | Yes | |
| open_in_browser | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover safety (readOnlyHint) but openWorldHint=true could mislead an agent into expecting live/fresh data; the description usefully corrects this by scoping to a fixed 'observed' catalogue. It also discloses return shape (exact/equivalent matches plus dated offers in AED), adding real value beyond the annotations.
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 what is searched, then what is returned, then the key exclusion. No filler.
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 needn't be explained in depth, and the description already summarizes them. Scope, query semantics, and the live-search caveat give an agent everything needed to invoke this single-parameter read 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 0% and the schema only constrains the query as a 1-120 char string, so the description carries the burden and does compensate by enumerating accepted query kinds (name, brand, identifier). It stops short of format details (e.g., how to pass an identifier).
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 (Search) and resource (observed Dubai grocery catalogue) with explicit matching fields (name, brand, identifier). The closing sentence distinguishes it from the live-web sibling find_price_online without needing the 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?
Gives clear context ('observed catalogue', 'does not run a live web search') which effectively rules out a when-not case, but never names find_price_online as the alternative for live lookups nor states prerequisites. Good routing signal, though not fully explicit.
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.
5 tool updates
- First observed
compare_grocery_list - First observed
find_price_online - First observed
get_product - First observed
list_stores - First observed
search_products
Publisher details
- Operator
- Brainy · prices.brainy.ae
- Operator website
- https://prices.brainy.ae
- Vendor relationship
- First-party
- Documentation
- https://prices.brainy.ae/developers.html
- Trust center
- Unknown
- Restrictions
- No authentication. Fair use: 60 requests per minute and 1,500 per day per IP across REST and MCP; over the limit HTTP 429 with Retry-After. Responses include attribution.
Related MCP Connectors
Where to buy a whole grocery list today: local prices, per-unit and cross-store comparison.
Live Australian grocery prices from Woolworths, Coles, Aldi and Harris Farm.
Product catalogues, prices and stock from online stores and supermarkets.
Dubai property prices, AED/sqft, sales, rents, yields and projects from DLD registered transactions.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables searching and comparing product prices across major Indian quick-commerce and e-commerce platforms, ranking results by landed price, returning product links, storing price history, and providing 15–30 day price direction forecasts with best-buy recommendations.-
- FlicenseNot gradedqualityBmaintenanceEnables users to compare and get recommendations across multiple supermarket products, combining curated specifications with realtime price and review lookups.-
- AlicenseNot gradedqualityBmaintenanceA multi-user grocery MCP server and dashboard for UAE stores such as Carrefour, Grandiose, Waitrose, and Spinneys, enabling secure OAuth-based sign-in via Grok while keeping each user's supermarket logins and data private.MIT
- FlicenseBqualityFmaintenanceAggregates quick commerce platforms like Zepto, Swiggy Instamart, and BigBasket for searching, comparing prices, and ordering through a single MCP interface.72-
Glama MCP Gateway
Add one secure layer between your agents and this server.