Skip to main content
Glama

Mestre Prático • Brazil Retail & Commodities MCP

brazil_fuel_prices

Read-onlyIdempotent

Queries real-time audited retail fuel prices across all 27 Brazilian Federative Units (UFs) and 413 cities from Brazil's National Petroleum Agency (ANP). Covers Regular Gasoline (Gasolina Comum), Additive Gasoline (Gasolina Aditivada), Hydrous Ethanol (Etanol Hidratado), Diesel S10, Diesel S500, and CNG (GNV). Calculates official 70% biofuel economic parity ratio and price dispersion across 5,950 monitored gas stations across all 27 Brazilian states (official ANP weekly audited sample). When to use: Retrieve current station-level and statewide retail fuel prices and ethanol vs gasoline parity in Brazil. When NOT to use: Do NOT use for residential cooking gas LPG prices (use brazil_lpg_gas_prices) or freight transport rates (use brazil_freight_logistics). Read-only and idempotent operation; no authentication required up to 60 req/min.

Input Schema

NameRequiredDescriptionDefault
ufYesTwo-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df'). Call brazil_list_states to see all 27 valid UF codes.sp
cidadeNoOptional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'campinas', 'salvador'). Defaults to empty string to return statewide statistics.
combustivelNoFuel type filter for price ranking and statistics. Defaults to 'todos'.todos

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / cidade / description
      Previous value: -"Optional city name or URL slug (e.g., 'sao-paulo', 'cabo-frio', 'recife'). Defaults to empty string to return statewide summary statistics."New value: +"Optional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'campinas', 'salvador'). Defaults to empty string to return statewide statistics."
    • changedInput schema / properties / uf / description
      Previous value: -"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba'). Call brazil_list_states to see all valid codes."New value: +"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df'). Call brazil_list_states to see all 27 valid UF codes."
    • removedInput schema / properties / uf / enum
      Removed value: -[
      -  "ac",
      -  "al",
      -  "am",
      -  "ap",
      -  "ba",
      -  "ce",
      -  "df",
      -  "es",
      -  "go",
      -  "ma",
      -  "mg",
      -  "ms",
      -  "mt",
      -  "pa",
      -  "pb",
      -  "pe",
      -  "pi",
      -  "pr",
      -  "rj",
      -  "rn",
      -  "ro",
      -  "rr",
      -  "rs",
      -  "sc",
      -  "se",
      -  "sp",
      -  "to"
      -]
  2. Changed3 schema fields changed
    • changedInput schema / properties / cidade / description
      Previous value: -"Optional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'campinas', 'salvador'). Defaults to empty string to return statewide statistics."New value: +"Optional city name or URL slug (e.g., 'sao-paulo', 'cabo-frio', 'recife'). Defaults to empty string to return statewide summary statistics."
    • changedInput schema / properties / uf / description
      Previous value: -"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df'). Call brazil_list_states to see all 27 valid UF codes."New value: +"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba'). Call brazil_list_states to see all valid codes."
    • addedInput schema / properties / uf / enum
      Added value: +[
      +  "ac",
      +  "al",
      +  "am",
      +  "ap",
      +  "ba",
      +  "ce",
      +  "df",
      +  "es",
      +  "go",
      +  "ma",
      +  "mg",
      +  "ms",
      +  "mt",
      +  "pa",
      +  "pb",
      +  "pe",
      +  "pi",
      +  "pr",
      +  "rj",
      +  "rn",
      +  "ro",
      +  "rr",
      +  "rs",
      +  "sc",
      +  "se",
      +  "sp",
      +  "to"
      +]
  3. Changed7 schema fields changed
    • addedInput schema / properties / cidade / default
      Added value: +""
    • changedInput schema / properties / cidade / description
      Previous value: -"Optional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'cabo-frio', 'curitiba'). Omit to retrieve statewide summary."New value: +"Optional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'campinas', 'salvador'). Defaults to empty string to return statewide statistics."
    • addedInput schema / properties / combustivel / default
      Added value: +"todos"
    • changedInput schema / properties / combustivel / description
      Previous value: -"Fuel type filter for price ranking (default: 'todos')."New value: +"Fuel type filter for price ranking and statistics. Defaults to 'todos'."
    • changedInput schema / properties / combustivel / enum
      Previous value: -[
      -  "gasolina",
      -  "etanol",
      -  "diesel",
      -  "gnv",
      -  "todos"
      -]New value: +[
      +  "todos",
      +  "gasolina",
      +  "gasolina_aditivada",
      +  "etanol",
      +  "diesel_s10",
      +  "diesel_s500",
      +  "gnv"
      +]
    • addedInput schema / properties / uf / default
      Added value: +"sp"
    • changedInput schema / properties / uf / description
      Previous value: -"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df'). Call brazil_list_states for all 27 valid UF codes."New value: +"Two-letter Brazilian state code in lowercase (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df'). Call brazil_list_states to see all 27 valid UF codes."
  4. First observed

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered; the description still adds real value by disclosing the unauthenticated access model and a concrete 60 req/min rate limit, plus the fact that the underlying data is a weekly audited sample rather than live tick data. It stops short of describing response shape or pagination, which matters given there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the verb, scope and fuel list, then moves into clean use/avoid routing. It loses a point for redundancy — the '27 Brazilian states' coverage is restated twice within a few lines ('all 27 Brazilian Federative Units' and again in the station sentence), which is wasted space in an otherwise dense description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only query tool with no output schema, the description covers source, geography, fuel taxonomy, computed metrics (70% parity ratio, price dispersion) and rate limits — enough for an agent to decide and call correctly. The one gap is that with no output schema, it never sketches what a result contains (station records vs aggregate stats), forcing inference on how to read the response.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter carries its own description including the UF pointer to brazil_list_states, so the baseline is 3. The prose adds modest mapping value by giving the human-readable fuel names (Gasolina Comum, Etanol Hidratado, Diesel S10, GNV) that correspond to the enum values, but nothing on the cidade slug format or statewide-vs-city behavior beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Queries') plus resource ('real-time audited retail fuel prices'), names the authoritative source (ANP), and enumerates both the geographic scope (27 UFs, 413 cities) and the exact fuel categories covered. It also names the siblings it is not (brazil_lpg_gas_prices, brazil_freight_logistics), so an agent can separate it from neighbors 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.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains explicit 'When to use' and 'When NOT to use' clauses, and each exclusion routes to a named alternative tool with the differentiator spelled out (LPG cooking gas vs freight rates). The only remaining call — whether a city-level or statewide query is wanted — is handled by the schema default.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.