Brainy Prices — UAE Cost of Living
by brainy.ae · remote · no sign-in to list tools · v2.0.0 · published by ae.brainy
Source-backed UAE costs: groceries, schools, housing, transport, utilities, telecom and relocation
26 tools: 1 do something that can't be undone, 23 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things23Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http grocery-prices https://prices.brainy.ae/mcp/v2Findings
Matches of fixed checks, with the text they matched.
- Warnfuel_prices
The server marks "fuel_prices" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input addresses people (input.to): what it sends cannot be taken back.
- Warngrocery_stores
The server marks "grocery_stores" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "grocery_stores" says "store": a word for a change.
- Warnmove_to_dubai
The server marks "move_to_dubai" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "move_to_dubai" says "move": a word for a change.
- Warnstart_here
The server marks "start_here" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_here" says "start": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
26 tools
Can't be undone 1Claude Code: ask
fuel_pricesUAE petrol/diesel prices this month and last, change, 50/70 L tank cost, history.1 finding
Why it is in this group
- The input addresses people (input.to): what it sends cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "fuel_prices" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The input addresses people (input.to): what it sends cannot be taken back.
Description, as the server wrote it UAE petrol/diesel prices this month and last, change, 50/70 L tank cost, history.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Changes things 23Claude Code: ask
commute_costMonthly/annual car commute cost (fuel+Salik), or published area routes.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Monthly/annual car commute cost (fuel+Salik), or published area routes. No parking.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
costs_by_areaDubai areas ranked by monthly cost: rent, fees, bills (+school).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Dubai areas ranked by monthly cost: rent, fees, bills (+school). Not full budgets.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
data_sourcesWhere each number comes from: publishers, licences, dates, paused sources.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Where each number comes from: publishers, licences, dates, paused sources.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
dewaDEWA electricity/water: tariff slabs, or bill estimate from kwh (+water, VAT, fee).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it DEWA electricity/water: tariff slabs, or bill estimate from kwh (+water, VAT, fee).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
end_of_service_gratuityUAE private-sector end-of-service gratuity estimate (Decree-Law 33/2021 art.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it UAE private-sector end-of-service gratuity estimate (Decree-Law 33/2021 art. 51): basic wage + dates → amount or range; not legal advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
fixed_monthly_costsMonthly fixed costs for a household profile, with assumptions.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Monthly fixed costs for a household profile, with assumptions. Not a full budget.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
free_zone_companiesFree zone company setup: package prices, annual/monthly cost, visas.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Free zone company setup: package prices, annual/monthly cost, visas.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
fx_ratesAED exchange rates (CBUAE, dated).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it AED exchange rates (CBUAE, dated). Not bank quotes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
grocery_productsDubai supermarket prices: search by name; product_id for per-store pack/unit offers, dates, history.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Dubai supermarket prices: search by name; product_id for per-store pack/unit offers, dates, history. Not MOET.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
grocery_storesGrocery stores: delivery fees, free-delivery thresholds, minimum orders.1 finding
Why it is in this group
- The name "grocery_stores" says "store": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "grocery_stores" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "grocery_stores" says "store": a word for a change.
Description, as the server wrote it Grocery stores: delivery fees, free-delivery thresholds, minimum orders.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
health_insuranceDubai health insurance rules: who pays, basic plan band/benefits, fines.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Dubai health insurance rules: who pays, basic plan band/benefits, fines. Not quotes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
housing_rentsRent in a Dubai area: registered annual/monthly medians and contract counts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Rent in a Dubai area: registered annual/monthly medians and contract counts. Not listings.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
housing_salesSale prices by Dubai area: ready/off-plan registered medians.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Sale prices by Dubai area: ready/off-plan registered medians. Not listings.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
labour_calculatorUAE labour law estimates (Decree-Law 33/2021): overtime pay, annual leave, final settlement.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it UAE labour law estimates (Decree-Law 33/2021): overtime pay, annual leave, final settlement. Not legal advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ministry_shop_pricesMOET-published shop prices of Dubai essentials by chain/category.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it MOET-published shop prices of Dubai essentials by chain/category.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
mobile_internet_plansUAE mobile and home internet plans: VAT-inclusive price, data, contract.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it UAE mobile and home internet plans: VAT-inclusive price, data, contract.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
move_to_dubaiMove to Dubai?1 finding
Why it is in this group
- The name "move_to_dubai" says "move": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "move_to_dubai" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "move_to_dubai" says "move": a word for a change.
Description, as the server wrote it Move to Dubai? Home vs Dubai net pay, taxes, FX, costs, savings. No country: models. Owner: household=business_owner + profit. Not tax advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
residence_visasUAE residence visas by route: payer, requirements, fees, medical/insurance bands.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it UAE residence visas by route: payer, requirements, fees, medical/insurance bands.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
schoolsDubai school fees: KHDA tuition by grade/year, bus fees, distance.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Dubai school fees: KHDA tuition by grade/year, bus fees, distance. q: school name; near: zone; school_id: detail. Year ≠ Grade; uniforms paused.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
shopper_price_reportsCommunity price reports by product/store, with date and promos.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Community price reports by product/store, with date and promos.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
start_hereCall first: coverage, the 5 most useful calls with ready arguments, data freshness and how to cite.1 finding
Why it is in this group
- The name "start_here" says "start": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "start_here" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "start_here" says "start": a word for a change.
Description, as the server wrote it Call first: coverage, the 5 most useful calls with ready arguments, data freshness and how to cite.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
tax_savings_by_countryTax saved by moving to Dubai, per country, typical pay.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Tax saved by moving to Dubai, per country, typical pay. Not tax advice.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
transport_faresTaxi fare estimate, or metro/bus fares, parking and toll tariffs.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Taxi fare estimate, or metro/bus fares, parking and toll tariffs. Not app quotes.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 2Claude Code: allow
costs_by_emirateCompare emirates: rent, utilities, schools.No findings
Why it is in this group
- The description's first verb is "compare": a word for reading.
Description, as the server wrote it Compare emirates: rent, utilities, schools. Non-Dubai rent unknown.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
grocery_compare_listCheapest store for a shopping list: per-store subtotals, delivery fees, minimums.No findings
Why it is in this group
- The name "grocery_compare_list" says "compare": a word for reading.
Description, as the server wrote it Cheapest store for a shopping list: per-store subtotals, delivery fees, minimums. Observed + labelled estimates.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 2.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http grocery-prices https://prices.brainy.ae/mcp/v2Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__grocery-prices__costs_by_emirate",
"mcp__grocery-prices__grocery_compare_list"
],
"ask": [
"mcp__grocery-prices__commute_cost",
"mcp__grocery-prices__costs_by_area",
"mcp__grocery-prices__data_sources",
"mcp__grocery-prices__dewa",
"mcp__grocery-prices__end_of_service_gratuity",
"mcp__grocery-prices__fixed_monthly_costs",
"mcp__grocery-prices__free_zone_companies",
"mcp__grocery-prices__fuel_prices",
"mcp__grocery-prices__fx_rates",
"mcp__grocery-prices__grocery_products",
"mcp__grocery-prices__grocery_stores",
"mcp__grocery-prices__health_insurance",
"mcp__grocery-prices__housing_rents",
"mcp__grocery-prices__housing_sales",
"mcp__grocery-prices__labour_calculator",
"mcp__grocery-prices__ministry_shop_prices",
"mcp__grocery-prices__mobile_internet_plans",
"mcp__grocery-prices__move_to_dubai",
"mcp__grocery-prices__residence_visas",
"mcp__grocery-prices__schools",
"mcp__grocery-prices__shopper_price_reports",
"mcp__grocery-prices__start_here",
"mcp__grocery-prices__tax_savings_by_country",
"mcp__grocery-prices__transport_fares"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as grocery-prices. Review it before you use it.