Skip to main content
Glama
Brazil Retail & Fuel Price Intelligence MCP Server

Brazil Retail & Fuel Price Intelligence MCP Server

Mestre Prático & NutriPreço — Brazil Retail, Fuel & Healthcare Price Intelligence MCP Server

🌐 NLWeb Protocol (Natural Language Web)

In addition to JSON-RPC 2.0 MCP, this server natively implements the NLWeb Protocol (Standardized by Microsoft / Schema.org consortium):

MCP Protocol Anthropic MCP Registry Glama Grade A small print on record ModelScope MCP Cloudflare Edge License: MIT Status: Online

Official sovereign Model Context Protocol (MCP) server providing real-time audited Fuel Prices (ANP), Basic Grocery Basket Indices (SEFAZ NFC-e / Decree 11.936/2024), Residential LPG Cooking Gas 13kg (ANP), Regulated Pharmaceuticals & Farmácia Popular (CMED / ANVISA), and Macroeconomic Cost-of-Living Synthesis across all 27 Brazilian states and 417+ cities.

Built and maintained by Holding Arthur Luis Vieira dos Santos — Tecnologia e Inteligência de Varejo Inova Simples (I.S.) (CNPJ 69.423.752/0001-61 — Mestre Prático & NutriPreço).


Related MCP server: mcp-brasil

🤝 Open Governance & Continuous Calibration (The Kaizen Principle)

"Our First Sovereign MCP: Engineered to Evolve with the Community"
This is the first Model Context Protocol server developed and published by Holding Arthur Luis Vieira dos Santos. Brazil's continental economy — spanning 27 federal units and 5,570 municipalities — is a living, dynamic ecosystem. We do not operate under the illusion of perfection; instead, we operate under the Kaizen Principle: transparent engineering, continuous active calibration, and absolute honesty with developers and autonomous AI agents.

Every macroeconomic indicator, tax rate, and regulatory ceiling returned by our 12 sovereign tools is strictly calibrated against official primary authorities:

  • National Minimum Wage: Calibrated to R$ 1,621.00 / month (R$ 7.37 / hour) in accordance with Federal Decree No. 12,797/2025 (Decreto nº 12.797/2025).

  • Freight & Logistics Floor: Anchored to ANTT Resolution No. 5,867/2020 & Decree No. 11.936/2024 (Basic Grocery Basket composition).

  • Fuels & Cooking Gas (LPG): Sourced from official ANP (Agência Nacional do Petróleo, Gás Natural e Biocombustíveis) regulatory surveys.

  • Pharmaceutical Ceilings: Calibrated to CMED (Câmara de Regulação do Mercado de Medicamentos) / ANVISA maximum consumer price lists (PMC) and SUS Farmácia Popular coverage.

💡 Building in Public — How You Can Help Us Improve

If you are building AI agents, testing connectors, or auditing data accuracy across Brazilian retail and logistics:



IMPORTANT

📊 Architectural Note on Historical Time-Series, Multi-Lab Pharmaceutical Comparisons & Full-Horizon Datasets

By deliberate commercial governance and intellectual property protection under Brazilian Copyright Law No. 9.610/98 (Art. 7, XIII), the unauthenticated Community / Discovery Tier exposes real-time spot prices (T+0) with curated horizon sampling (max 3 stations / 2 LPG resellers / 3 medicines per query).

Full Historical Price Time-Series (12-to-36 month ANP/SEFAZ/CMED inflation curves), Multi-Laboratory Pharmaceutical Therapeutic Equivalence & Cross-State Price Comparisons, and Uncapped 417+ City Bulk Datasets are fully indexed in our sovereign vault and exclusively unlocked for Enterprise & Commercial API Licensees (Authorization: Bearer <ENTERPRISE_API_KEY>).

👉 Corporate Partnerships & Dedicated Enterprise Keys: contato@mestrepratico.com.br | https://mestrepratico.com.br/developers


🌐 Live Remote MCP Endpoint (Zero-Install HTTP / Edge)

  • Endpoint URL: https://mestrepratico.com.br/mcp/v1

  • Transport: Streamable HTTP (POST /mcp/v1 JSON-RPC 2.0 & GET /mcp/v1 discovery manifest) + Local stdio Bridge (index.js / Docker).

  • Developers & Corporate Portal: https://mestrepratico.com.br/developers


🤖 Agent-to-Agent (A2A) Layer — Full Tri-Pillar MCP Compliance

Our server is a certified Full Tri-Pillar Model Context Protocol (MCP) implementation providing complete cognitive agency across 3 protocol primitives:

  1. tools (12 Sovereign Tools): Instant sub-100ms RPC function calling across fuel, grocery, medicines, labor-hours, electricity tariffs, freight, and taxes.

  2. prompts (5 Cognitive A2A Workflows): Structured multi-step reasoning templates (analisar_orcamento_familiar, auditar_viabilidade_logistica_antt, raio_x_tributario_reforma, auditar_preco_farmacia, analise_combustivel_frota) that guide autonomous agents to audit, compute, and synthesize executive memos.

  3. resources (8 Canonical URIs): Direct live data hydration for AI agents without prompt injection risk (mcp://brazil/macro/bcb-series, mcp://brazil/energy/aneel-tariffs, mcp://brazil/logistics/antt-freight-table, mcp://brazil/tax/confaz-icms-monofasico, etc.).


🛠️ The 12 Sovereign brazil_* Tools (Glama Grade A — TDQS 4.4/5.0)

All 12 tools enforce strict brazil_* naming consistency, JSON Schema input constraints, and official MCP annotations (readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true):

Tool Name

Primary Authority

Public Spot Sample (Free Tier)

Enterprise Unlock (Bearer <API_KEY>)

brazil_fuel_prices

ANP / SEFAZ NFC-e

Top 3 audited stations + state averages (Gasoline, Ethanol, Diesel S10, CNG)

Full 4,750+ stations across 417+ cities + Weekly Historical Time-Series

brazil_grocery_basket

SEFAZ NFC-e / Supermarkets

Spot regional basket total & top supermarket chains (13 essential items)

Store-by-store SKU breakdown + Daily Historical Inflation Time-Series

brazil_cost_of_living

Macroeconomic / Dieese

Single-state combined monthly food + fuel + transport index in BRL/USD

Multi-city longitudinal purchasing-power parity (PPP) & Historical Trends

brazil_lpg_gas_prices

ANP Open Data

Top 2 authorized 13kg LPG cooking gas resellers + state average/min/max

All 13,145+ resellers with neighborhood delivery spread + Historical Series

brazil_pharma_medicines

CMED / ANVISA / SUS

Up to 3 matching presentations with Factory Price (PF), PMC, and Farmácia Popular

Full 26,635+ ANVISA catalog + Multi-Lab Generic vs. Reference Comparison & History

brazil_list_states

Discovery Metadata

All 27 Brazilian UF codes, station coverage counts, ICMS tax rates, timestamps

Full municipality slug directory & real-time webhook sync metadata

brazil_purchasing_power_oracle

DIEESE / BACEN / IBGE / ANEEL

Minimum wage labor-hours required to purchase monthly 13-item grocery basket, 13kg LPG, fuel & 150 kWh electricity

Real purchasing power parity (PPP) by state & Historical Labor-Hours Trend

brazil_energy_tariffs

ANEEL / ANP

Homologated residential B1 electricity rates across all 27 UFs + Thermal cooking parity (GLP vs induction)

Distribution network cost-breakdown & Seasonal Tariff Flags (Bandeiras Tarifárias)

brazil_freight_logistics

ANTT / ANP

Road freight cost floor per distance/axle + Diesel S10 consumption and transport cost per kg of food

Fleet dispatch optimization & Bulk Grain Highway Corridor Freight Curves

brazil_tax_anatomy

CONFAZ / EC 132

Constitutional tax decomposition (ICMS Monofásico vs. Net Product) across all 27 UFs

State-by-state fiscal anatomy & Tax Reform IBS/CBS Dual-Rate Transition Analysis

brazil_compare_regions

Cross-State Synthesis

Side-by-side fuel & grocery differential + 70% ethanol/gasoline parity ratio

Multi-Sector Cross-State Comparison (including Pharma ICMS 18% vs 20% & LPG)

brazil_contract_intent_a2a

Linux Foundation A2A Protocol

M2M Economic Intent Protocol with SHA-256 seal & 24h price lock

Multi-Agent Machine Liquidation & Regulatory Escrow Settlement


💰 Pricing & Autonomous Micropayments Architecture (x402 Protocol)

In strict accordance with the Founding Charter of Holding Arthur Luis Vieira dos Santos, legacy monthly subscription contracts have been decommissioned in favor of a frictionless, autonomous AI-native pricing architecture:

Tier

Rate Limit & Access

Pricing

Settlement Protocol

Features & Scope

🌱 Community & Open Grounding

60 req/min (Zero-Auth / Anonymous)

Free (R$ 0,00)

None required

All 12 canonical brazil_* MCP tools, spot audited data (ANP, CMED, SEFAZ, ANEEL, ANTT, CONFAZ), prompts & resources.

⚡ Sovereign High-Throughput RAG

2,400 req/min (Dedicated Edge Capacity)

R$ 5,00 / 1.000 reqs (or ~0.001 USDC / call)

HTTP 402 / x402 Micropayments or Pix

High-frequency agent swarms, sub-15ms Anycast SLA, municipality-level pump telemetry, raw bulk feeds & cryptographic audit receipts.

🤖 Machine-to-Machine (x402) Header Specification

Autonomous agents exceeding community rate limits or requesting batch feeds can pay per query natively via RFC HTTP 402 without manual human invoicing:

GET /mcp/v1 HTTP/1.1
Host: mestrepratico.com.br
X-Payment: mp_x402_<session_token>

⚡ 1-Click Install via Smithery (Claude Desktop, Cursor, Cline)

Install automatically with a single terminal command:

npx -y @smithery/cli install @mestrepratico/brazil-prices-mcp

Or connect directly via remote HTTP:

⚡ Quick Connect (Claude Desktop, Cursor, Windsurf, Glama)

{
  "mcpServers": {
    "mestrepratico-brazil": {
      "type": "http",
      "url": "https://mestrepratico.com.br/mcp/v1",
      "headers": {
        "Authorization": "Bearer YOUR_ENTERPRISE_API_KEY_OPTIONAL"
      }
    }
  }
}

🛡️ Security & Intellectual Property Governance

Protected by forensic Canary Tokens (NC-CANARY-BRL-*) under Brazilian Copyright Law No. 9.610/98 (Art. 7, XIII), Berne Convention, and 17 U.S.C. § 1202. Unauthorized proxy rotation, systematic scraping, or removal of source attribution ("Fonte: Mestre Prático — mestrepratico.com.br") triggers automatic Edge ASN blocking (HTTP 402/403) and statutory liquidated damages of US$ 100,000.00 (R$ 500.000,00) per infringement.

Available Tools

11 tools
brazil_compare_regionsA
Read-onlyIdempotent
Inspect

Comparative synthesis tool: Compares weighted average prices and percentage deltas for fuels (gasoline, ethanol, diesel), 13kg LPG cooking gas, and basic food basket costs side-by-side between any two Brazilian states (origin UF vs. destination UF). Read-only operation; no authentication required up to 60 req/min. Use brazil_list_states to discover valid UF codes, or brazil_fuel_prices and brazil_grocery_basket for single-state station/store drilldowns.

NameRequiredDescriptionDefault
indicadorNoEconomic indicator category to compare (default: 'todos').
origem_ufYesOrigin two-letter Brazilian state code for comparison (e.g., 'sp', 'rj', 'ba').
destino_ufYesDestination two-letter Brazilian state code for comparison (e.g., 'mg', 'pr', 'sc').

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds useful operational context: no authentication and a 60 requests/minute limit. It also indicates the comparative output nature, though it does not detail response structure or failure behavior.

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

Conciseness5/5

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

The description is three tight sentences. It front-loads the core comparison purpose, then adds rate-limit context and sibling-tool routing without unnecessary repetition.

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?

Given rich annotations and a fully described schema, the description is largely complete for selecting and invoking the tool. A minor gap remains around how the indicador values correspond to the advertised fuels, LPG, and food-basket comparisons.

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%, so parameter meanings are already documented. The description adds that origem_uf and destino_uf are Brazilian state codes and points to brazil_list_states, but it does not map the indicador enum values or clarify how the food basket fits with the available enum options.

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?

The description uses a specific verb and resource: it compares weighted average prices and percentage deltas for fuels, LPG, and food baskets between two Brazilian states. It clearly distinguishes itself from sibling tools by naming drilldown alternatives for single-state analysis.

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?

It explicitly routes the agent to brazil_list_states for valid UF codes and to brazil_fuel_prices and brazil_grocery_basket for single-state drilldowns. This makes the comparison use case and alternatives clear without requiring inference.

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

brazil_cost_of_livingA
Read-onlyIdempotent
Inspect

Computes a consolidated regional cost-of-living index and purchasing power parity (PPP) in Brazil, combining average fuel expenditure, basic food basket cost, and live USD/BRL exchange rate conversion. Updated daily. Read-only operation; no authentication required up to 60 req/min. Use brazil_fuel_prices or brazil_grocery_basket for granular item-level breakdowns, or brazil_compare_regions to compare two states side-by-side.

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state code (e.g., 'sp', 'rj', 'df'). Defaults to national average if omitted.
comparar_com_dolarNoWhen true, converts all BRL cost metrics into USD using live exchange rates.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds genuinely new operational context: daily refresh cadence and an unauthenticated rate limit of 60 req/min, which an agent must know for batching decisions. It stops short of describing the returned index composition or rounding/units, keeping it at a 4.

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

Conciseness5/5

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

Three sentences, all front-loaded: what it computes, freshness/auth/limits, then the routing alternatives. No sentence is redundant and nothing is buried; every clause carries distinct information.

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

Completeness5/5

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

With no output schema and only two optional parameters, the description covers everything an agent needs: what the index aggregates, freshness, auth and rate limits, the default-to-national-average behavior (also in schema), and clear sibling routing. Nothing material is missing for correct invocation.

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 description coverage is 100% — both 'uf' (two-letter state code, defaults to national average) and 'comparar_com_dolar' (BRL→USD conversion) are fully documented in the schema. The description reinforces the aggregation inputs but adds no parameter syntax or format detail beyond what the schema already supplies, so the baseline 3 applies.

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+resource: 'Computes a consolidated regional cost-of-living index and purchasing power parity (PPP) in Brazil', then names the exact inputs it aggregates (fuel expenditure, food basket, USD/BRL). It explicitly distinguishes itself from siblings brazil_fuel_prices, brazil_grocery_basket, and brazil_compare_regions, so an agent can route without opening any 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?

Gives explicit when-not guidance: use brazil_fuel_prices or brazil_grocery_basket for item-level breakdowns, and brazil_compare_regions for two-state side-by-side comparisons. The condition selecting this tool (a consolidated index/PPP view) versus each alternative is unambiguous.

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

brazil_energy_tariffsA
Read-onlyIdempotent
Inspect

Provides official ANEEL (Agência Nacional de Energia Elétrica) residential electricity tariffs (B1) across all 27 Brazilian states (UFs), covering state concessionaires (e.g. Light, Enel, Cemig, Copel, Equatorial, Celesc). Computes estimated monthly electric bills for a given consumption baseline (default 150 kWh), and calculates thermal cooking parity: comparing the cost of residential cooking with an ANP 13kg LPG cylinder against 99 kWh of electric induction cooking. Read-only operation; zero authentication required.

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state acronym (e.g. 'RJ', 'SP', 'MG', 'BA', 'DF'). Defaults to 'RJ' if omitted.
consumo_mensal_kwhNoMonthly electricity consumption in kWh for residential bill calculation. Defaults to standard baseline 150 kWh if omitted.
incluir_paridade_termica_gasNoWhether to calculate thermal cooking parity comparing 13kg LPG cylinder vs 99 kWh induction cooking. Defaults to true.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered; the description adds the non-authentication requirement and the data provenance (official ANEEL) plus default behaviors. It does repeat the read-only claim, but the auth and source context are genuine additions. It stops short of describing output shape or cost/rate-limit behavior.

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?

A single dense paragraph that front-loads the data source and coverage before the computations. Every clause is relevant, though the concessionaire enumeration (Light, Enel, Cemig, Copel, Equatorial, Celesc) is slightly verbose for an agent that only needs the scope.

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?

With no output schema, the description must convey what is returned, and it does explain the three outputs (tariffs, estimated bill, thermal parity) along with defaults and the read-only/no-auth profile. It does not describe the response structure or units, which is the main remaining gap.

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 description coverage is 100% and all three parameters (uf, consumo_mensal_kwh, incluir_paridade_termica_gas) are fully documented with defaults, so the schema does the heavy lifting and baseline is 3. The description largely restates the 150 kWh default and parity definition already present in the schema, adding little beyond that.

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 specific verbs and resource: provides official ANEEL residential tariffs (B1) across 27 UFs, computes estimated monthly bills, and calculates LPG-vs-induction thermal parity. The scope (residential B1, state concessionaires like Light/Enel/Cemig) clearly distinguishes it from siblings such as brazil_lpg_gas_prices or brazil_fuel_prices.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is implied by the described computations but there is no explicit when-to-use, when-not-to-use, or named alternative among the many Brazil siblings. An agent can infer it is for electricity-tariff/bill questions, but nothing routes it against brazil_lpg_gas_prices even though both touch cooking-fuel cost.

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

brazil_freight_logisticsA
Read-onlyIdempotent
Inspect

Calculates official Brazilian minimum road freight rates regulated by ANTT (Agência Nacional de Transportes Terrestres - Resolution No. 5,867/2020) across all vehicle classes (2 to 9 axles) and cargo types (solid bulk, general cargo, refrigerated). Correlates freight costs with ANP Diesel S10 pump prices, computing diesel fuel expense ratio and the logistical cost impact per kilogram of food transported. Read-only operation; zero authentication required.

NameRequiredDescriptionDefault
uf_origemNoTwo-letter state acronym of cargo origin (e.g. 'MT', 'PR', 'SP'). Defaults to 'SP'.
tipo_cargaNoCargo classification per ANTT: 'granel_solido' (grains/staples), 'carga_geral' (packaged groceries), 'frigorificada' (meats/dairy). Defaults to 'granel_solido'.
uf_destinoNoTwo-letter state acronym of cargo destination (e.g. 'RJ', 'SP', 'BA'). Defaults to 'RJ'.
distancia_kmNoHighway route distance in kilometers. Defaults to 450 km (e.g. SP-RJ axis or regional agricultural corridor) if omitted.
tipo_veiculoNoTruck axle configuration: 'carreta_5_eixos' (standard 27t), 'truck_3_eixos' (14t), 'bitrem_7_eixos' (38t), or 'rodotrem_9_eixos' (50t grain hauler). Defaults to 'carreta_5_eixos'.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description usefully adds that no authentication is required and that outputs include a diesel expense ratio and per-kg logistical cost impact, which is behavior 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.

Conciseness4/5

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

Three dense sentences, front-loaded with the core purpose and regulation, then scope, then derived outputs. Little waste, though the regulatory citation is verbose.

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?

With no output schema, the description compensates by naming derived outputs (diesel fuel expense ratio, cost impact per kg). Combined with full schema coverage and annotations, this is largely complete, though exact return fields remain unspecified.

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 description coverage is 100% with two enums, so the schema already documents all five parameters including defaults. The description adds domain framing (axle classes, cargo types) but omits the 'perigosa' cargo enum value, so it adds only marginal value.

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 (calculates) and resource (official ANTT minimum road freight rates) with regulatory citation, and the scope (vehicle classes 2-9 axles, cargo types). Distinct from siblings like brazil_fuel_prices and brazil_compare_regions without needing their schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Implies usage context (freight rate computation correlated with diesel prices), but gives no explicit when-to-use or when-not-to-use guidance relative to siblings such as brazil_fuel_prices or brazil_cost_of_living. The agent must infer the scenario.

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

brazil_fuel_pricesA
Read-onlyIdempotent
Inspect

Queries real-time audited retail fuel prices in Brazil (Regular Gasoline, Additive Gasoline, Hydrous Ethanol, Diesel S10, and CNG) sourced from Brazil's National Petroleum Agency (ANP) across 4,750+ stations in all 27 states and 417+ cities. Updated weekly with daily SEFAZ NFC-e cross-validation. Read-only operation; no authentication required for standard rate limits (60 req/min, max 50 stations returned per call). Use brazil_list_states first to discover valid state codes (uf), or brazil_compare_regions to compare averages between two states.

NameRequiredDescriptionDefault
ufYesTwo-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.
cidadeNoOptional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'cabo-frio', 'curitiba'). Omit to retrieve statewide summary.
combustivelNoFuel type filter for price ranking (default: 'todos').

TDQS

A4.8/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing operational constraints an agent cannot infer: 60 req/min rate limit, a hard cap of 50 stations returned per call, weekly refresh cadence, SEFAZ NFC-e cross-validation, and that no authentication is needed at standard limits. The readOnlyHint/idempotentHint annotations only cover the safety profile, so this added context is genuinely valuable.

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?

Strongly front-loaded: the core action and resource come first, then coverage scope, then constraints, then routing guidance. It is dense—three long sentences packed with stats—but essentially every clause carries decision-relevant information, with only minor density cost.

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

Completeness5/5

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

For a read-only, three-parameter tool with no output schema, this covers everything needed to invoke it correctly: prerequisites, valid code discovery path, rate limits, result cap, refresh cadence, and when to prefer a sibling. Nothing an agent needs before calling is missing.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds a useful mapping from human-readable fuel names (Regular Gasoline, Additive Gasoline, Hydrous Ethanol, Diesel S10, CNG) to the Portuguese enum values an agent must actually pass. It also reinforces the 'omit cidade for statewide summary' behavior from the schema, though it adds no syntax detail for uf beyond what the schema already states.

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), resource (real-time audited retail fuel prices in Brazil), the exact fuel categories covered, the data source (ANP), and the geographic scope (4,750+ stations, 27 states). An agent can immediately distinguish this from brazil_lpg_gas_prices and brazil_grocery_basket 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?

Explicitly routes the agent: 'Use brazil_list_states first to discover valid state codes (uf), or brazil_compare_regions to compare averages between two states.' Both the prerequisite step and the alternative tool for a different intent are named, so there is nothing left to inference.

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

brazil_grocery_basketA
Read-onlyIdempotent
Inspect

Queries and compares real-time audited prices of Brazil's 13 Basic Food Basket items (rice, beans, coffee, soy oil, milk, sugar, beef, bread, butter, etc.) sourced from electronic consumer invoices (NFC-e SEFAZ) and DIEESE methodology across 59 regional hubs. Updated daily. Read-only operation; no authentication required up to 60 req/min. Use brazil_list_states to check regional coverage, brazil_cost_of_living for full household budget synthesis, or brazil_compare_regions for cross-state comparisons.

NameRequiredDescriptionDefault
ufYesTwo-letter Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba').
cidadeNoOptional Brazilian city name or slug to filter local supermarket offers.
produtoNoOptional product search term (e.g., 'arroz', 'feijao', 'cafe', 'leite', 'cesta basica').

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description still adds meaningful context beyond that: the data provenance (NFC-e SEFAZ invoices, DIEESE methodology), daily refresh cadence, and a concrete rate limit (60 req/min) with no auth needed. It does not describe return shape or pagination, but with no output schema and rich annotations, this is close to fully transparent.

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

Conciseness5/5

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

Three dense sentences, front-loaded with what the tool returns and where the data comes from, followed by operational constraints, then sibling routing. No filler or repetition of the title.

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

Completeness5/5

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

For a read-only lookup with no output schema, the description supplies everything an agent needs: data source, item coverage, geographic scope (59 hubs), update frequency, rate limit, auth requirement, and alternative tools. Nothing material is missing.

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 of the three parameters carries its own description with examples ('sp', 'arroz', 'cesta basica'). The description's mention of the 13 basket items loosely contextualizes the 'produto' parameter but adds no syntax, format, or defaulting detail beyond the schema, so the baseline 3 applies.

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 pair ('Queries and compares') plus a precise resource ('real-time audited prices of Brazil's 13 Basic Food Basket items') with source attribution (NFC-e SEFAZ, DIEESE) and scope (59 regional hubs). This clearly separates it from siblings covering fuel, LPG, pharma, cost of living, or cross-region comparison.

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?

Explicitly routes the agent: 'Use brazil_list_states to check regional coverage, brazil_cost_of_living for full household budget synthesis, or brazil_compare_regions for cross-state comparisons.' Names three concrete alternatives and the condition that selects each, leaving nothing to inference.

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

brazil_list_statesA
Read-onlyIdempotent
Inspect

Discovery and metadata support tool: Returns the complete list of all 27 Brazilian Federative Units (UFs) covered by the server, including state code, full name, monitored gas station count, regional ICMS tax bracket, and dataset audit timestamp. Read-only and idempotent; requires no parameters and no authentication. Call this tool first to validate UF codes before invoking brazil_fuel_prices, brazil_grocery_basket, brazil_lpg_gas_prices, or brazil_compare_regions.

NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description earns credit for what it adds: no parameters, no authentication required, and the specific payload fields (state code, full name, station count, ICMS bracket, audit timestamp). It stops short of stating pagination or response size/format, but there is little else that could go wrong on a zero-argument read.

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?

Two sentences, purpose front-loaded ahead of the routing instruction, with no filler or restatement of the title. The field enumeration is dense but each item conveys distinct metadata an agent would otherwise have to discover by calling the tool.

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

Completeness5/5

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

With no output schema, the description carries the burden of describing the return payload, and it does so field-by-field. Combined with the zero-parameter schema and full annotation coverage, nothing needed to invoke or interpret this tool is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4; there is no parameter semantics to document. The description correctly confirms 'requires no parameters,' which is consistent with the empty schema.

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 and resource ('Returns the complete list of all 27 Brazilian Federative Units') with an explicit count and scope ('covered by the server'). It is immediately distinguishable from the six sibling tools, which are all price/data lookups rather than enumerations of the UF dimension.

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?

Gives an explicit sequencing rule: 'Call this tool first to validate UF codes before invoking brazil_fuel_prices, brazil_grocery_basket, brazil_lpg_gas_prices, or brazil_compare_regions.' It names the concrete alternatives and the condition that selects this tool over them, so the agent needs no inference.

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

brazil_lpg_gas_pricesA
Read-onlyIdempotent
Inspect

Queries official audited prices of residential cooking gas (13kg LPG cylinder / Botijao GLP P13) sourced from Brazil's National Petroleum Agency (ANP) across 13,145+ authorized resellers in all 27 Brazilian states. Updated weekly. Read-only operation; no authentication required up to 60 req/min. Use brazil_list_states to list valid UF codes or brazil_compare_regions to compare LPG costs between states.

NameRequiredDescriptionDefault
ufYesTwo-letter Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'ce', 'df').
cidadeNoOptional Brazilian city name to filter local LPG resellers.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds the operational details that matter: weekly refresh cadence, no authentication required, and a concrete rate limit of 60 req/min. That is exactly the value-add beyond structured fields.

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?

Three dense sentences, all of which earn their place, with the core purpose front-loaded. It is slightly packed into a single run-on paragraph rather than cleanly separated concerns, but there is no filler.

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?

With no output schema, the description carries the burden of explaining what comes back; it conveys that results are audited ANP prices per state/city but never states the response shape (aggregate vs per-reseller, currency, units). Otherwise complete for a two-parameter read-only query.

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 description coverage is 100%, with both 'uf' and 'cidade' documented in the schema, so the baseline is 3. The description references UF codes and state coverage but adds no format, casing, or filtering semantics beyond what the schema already states.

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 and resource ('Queries official audited prices of residential cooking gas (13kg LPG cylinder)'), names the authoritative source (ANP), and quantifies scope (13,145+ resellers, 27 states). This is unmistakably distinct from siblings like brazil_fuel_prices and brazil_grocery_basket.

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?

Explicitly routes the agent to alternatives with the condition that selects each: brazil_list_states for valid UF codes and brazil_compare_regions for cross-state LPG comparison. Nothing about tool selection is left to inference.

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

brazil_pharma_medicinesA
Read-onlyIdempotent
Inspect

Queries official Maximum Consumer Prices (PMC) and Factory Prices (PF) for 26,635+ regulated medicines in Brazil from CMED/ANVISA, including state-specific ICMS tax brackets (18% to 20%), active ingredients, laboratory, presentation, and free eligibility under the federal Farmacia Popular program. Updated monthly per CMED resolution. Read-only operation; no authentication required up to 60 req/min (returns up to 15 matching presentations per call).

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state code (e.g., 'sp', 'rj', 'mg') to apply accurate regional ICMS tax rate (default: 'sp').
tipoNoRegulatory category filter (default: 'todos').
termoYesCommercial brand name or active ingredient in Portuguese (e.g., 'dipirona', 'losartana', 'ozempic', 'amoxicilina', 'paracetamol').

TDQS

A3.9/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 behavior. The description adds meaningful operational context beyond annotations: no authentication required, a 60 req/min limit, monthly CMED updates, and a cap of 15 matching presentations per call. It does not explain pagination or no-result behavior, so it is not fully complete.

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?

The description is front-loaded with the core resource and scope, followed by operational limits. It is fairly dense in the first sentence but contains no obvious filler, and every sentence contributes useful information.

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 lookup with fully documented parameters and rich annotations, the description covers the data source, update cadence, rate limit, return cap, and included fields. It leaves pagination and exact no-match behavior unspecified, but overall it is sufficiently complete for correct invocation.

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 description coverage is 100%, with all three parameters documented, including defaults, examples, and an enum. The description adds domain context but no parameter-specific meaning beyond what the schema already provides, so the baseline of 3 is appropriate.

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') and resource ('official Maximum Consumer Prices (PMC) and Factory Prices (PF) for ... regulated medicines in Brazil from CMED/ANVISA'), plus scope and included fields. This clearly distinguishes it from sibling fuel, grocery, LPG, cost-of-living, and regional comparison tools by domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is implied by the medicine-price domain, but the description does not explicitly say when to use this tool versus sibling tools or when not to use it. It lacks named alternatives or exclusion conditions.

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

brazil_purchasing_power_oracleB
Read-onlyIdempotent
Inspect

Calculates real purchasing power parity (PPP) and labor-hour requirements across all 27 Brazilian states (UFs). Computes the exact working hours required to afford essential household survival goods: the 13 essential grocery items (SEFAZ NFC-e / DIEESE), residential 13kg cooking gas (ANP), fuel (50L gasoline tank), and electricity (150 kWh ANEEL). Correlates with Banco Central do Brasil (BCB SGS) interest and inflation rates, thermal parity (LPG vs. electric induction cooking), and CONFAZ tax anatomy. Read-only operation; zero authentication required.

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state acronym (e.g. 'RJ', 'SP', 'MG', 'BA', 'DF'). Defaults to 'RJ' if omitted.
salario_mensal_brlNoMonthly income in BRL to calculate labor hours against standard 220h CLT workload. Defaults to federal minimum wage (1518.00 BRL) if omitted.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds value beyond that by confirming 'zero authentication required' — an auth fact annotations do not carry — and by disclosing the data sources and correlation behaviors (BCB SGS, thermal parity, CONFAZ tax anatomy). It does not mention rate limits or output shape.

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?

The core purpose is front-loaded in the first sentence, followed by scope, data sources, and safety. It is dense with parenthetical acronyms (SEFAZ NFC-e / DIEESE, ANP, ANEEL) but each sentence contributes scope rather than repeating the title, so the length is largely earned.

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

Completeness3/5

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

There is no output schema, so the description carries the burden of explaining returns. It lists what gets computed (labor hours, correlations) but not the shape or structure of the response — how per-state results are organized or what fields come back. Adequate but leaves the agent guessing about the return format for a fairly complex oracle.

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 description coverage is 100% with only two parameters, so the schema already documents uf and salario_mensal_brl, including defaults. The description adds no syntax or format detail beyond that, though its mention of the 220h CLT workload and 50L/150 kWh constants gives useful computation context. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

The description states a specific verb and resource — calculating real PPP and labor-hour requirements across the 27 Brazilian states — and enumerates the inputs it aggregates (grocery basket, LPG, fuel, electricity). The derived metric (working hours to afford survival goods) distinguishes it from raw-price siblings like brazil_fuel_prices, but it never names an alternative, so the agent must infer differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance. Given ten siblings including brazil_cost_of_living, brazil_grocery_basket, and brazil_tax_anatomy that heavily overlap this tool's stated scope, the absence of routing guidance is a real gap. Usage is only implied by the aggregation framing.

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

brazil_tax_anatomyA
Read-onlyIdempotent
Inspect

Performs constitutional and fiscal tax decomposition across all 27 Brazilian states (UFs) based on CONFAZ (Conselho Nacional de Política Fazendária) Agreements (ICMS Monofásico No. 15/2023 & No. 199/2022), Federal Decree No. 11,936/2024, and Tax Reform Constitutional Amendment EC 132/2023. Decomposes exact state ICMS, federal PIS/COFINS, and net physical product values for retail fuels, 13kg cooking gas, the basic food basket, and CMED pharmaceuticals. Read-only operation; zero authentication required.

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state acronym (e.g. 'RJ', 'SP', 'MG', 'BA', 'DF'). Defaults to 'RJ' if omitted.
categoriaNoCategory to analyze tax anatomy: 'todos', 'combustiveis', 'gas_cozinha', 'cesta_basica', 'medicamentos'. Defaults to 'todos'.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description reinforces this while adding genuine context: zero authentication required and the specific outputs decomposed (ICMS, PIS/COFINS, net physical values). It stops short of describing response format or edge cases, but against existing annotations it adds real value.

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 core action and scope, then the legal basis and decomposition targets. The dense citation strings are heavy but earn their place by grounding the computation's authority; no filler sentences.

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?

With no output schema, the description carries the burden of explaining what comes back, and it does name the decomposed outputs (state ICMS, federal PIS/COFINS, net physical product values). Combined with annotations covering safety and 100% schema coverage for inputs, it is nearly complete; only return formatting/pagination is unaddressed.

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%, so both parameters (uf, categoria) and the enum values are already documented. The description maps the categories to real-world meaning (retail fuels, 13kg cooking gas, basic food basket, CMED pharmaceuticals), which adds modest interpretation beyond the enum labels, but no syntax or default behavior beyond the schema.

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 (decomposes/performs tax decomposition) and resource (state ICMS, federal PIS/COFINS, net product values) with explicit scope across all 27 UFs. The legal framing (CONFAZ, EC 132/2023) distinguishes it from siblings like brazil_fuel_prices, which report prices rather than tax anatomy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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

No explicit when-to-use guidance, prerequisites, or routing to alternatives. An agent must infer from the topical scope whether this or brazil_fuel_prices / brazil_grocery_basket is the right call; nothing states exclusions or preferred contexts.

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.

  1. 4 tool updatesv1.5.0
    • Addedbrazil_energy_tariffs
    • Addedbrazil_freight_logistics
    • Addedbrazil_purchasing_power_oracle
    • Addedbrazil_tax_anatomy
  2. 8 tool updatesv1.2.0
    • Addedbrazil_compare_regions
    • Addedbrazil_cost_of_living
    • Changedbrazil_fuel_prices4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / cidade / description
        Previous value: -"City name or slug (e.g., 'sao-paulo', 'cabo-frio')"New value: +"Optional city name or URL slug (e.g., 'sao-paulo', 'rio-de-janeiro', 'cabo-frio', 'curitiba'). Omit to retrieve statewide summary."
      • addedInput schema / properties / combustivel
        Added value: +{
        +  "description": "Fuel type filter for price ranking (default: 'todos').",
        +  "enum": [
        +    "gasolina",
        +    "etanol",
        +    "diesel",
        +    "gnv",
        +    "todos"
        +  ],
        +  "type": "string"
        +}
      • changedInput schema / properties / uf / description
        Previous value: -"Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba', 'pr', 'rs', 'df')"New 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."
    • Changedbrazil_grocery_basket4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • changedInput schema / properties / cidade / description
        Previous value: -"City name"New value: +"Optional Brazilian city name or slug to filter local supermarket offers."
      • addedInput schema / properties / produto
        Added value: +{
        +  "description": "Optional product search term (e.g., 'arroz', 'feijao', 'cafe', 'leite', 'cesta basica').",
        +  "type": "string"
        +}
      • changedInput schema / properties / uf / description
        Previous value: -"Brazilian state code (e.g., 'sp', 'rj')"New value: +"Two-letter Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba')."
    • Addedbrazil_list_states
    • Addedbrazil_lpg_gas_prices
    • Addedbrazil_pharma_medicines
    • Removedcost_of_living_brazil
  3. 3 tool updatesv1.0.0
    • First observedbrazil_fuel_prices
    • First observedbrazil_grocery_basket
    • First observedcost_of_living_brazil

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation3/5

Most tools map to distinct datasets (fuel, LPG, grocery, pharma, freight, tariffs, taxes, states), but the highest-level analytical tools blur badly: brazil_purchasing_power_oracle and brazil_cost_of_living both claim PPP/cost-of-living synthesis, and both duplicate thermal-parity math already owned by brazil_energy_tariffs. brazil_compare_regions also overlaps with the per-dataset price tools since they already return per-state averages. The long cross-referencing descriptions mitigate but do not eliminate the ambiguity.

Naming Consistency4/5

All 11 names share a predictable brazil_ namespace and use snake_case, which makes the set feel like one coherent product. The deviation is stylistic: brazil_list_states and brazil_compare_regions are verb-first actions while the rest are noun-phrase resources, and 'oracle' is a vague outlier term. Minor, readable inconsistency rather than chaos.

Tool Count5/5

Eleven tools is squarely in the well-scoped range for a multi-domain national price-intelligence server, and each maps to a real data source (ANP, ANEEL, CONFAZ, CMED, SEFAZ, ANTT). No filler tools and no obvious need to split or merge beyond the oracle/cost-of-living overlap.

Completeness4/5

Coverage spans fuels, LPG, grocery basket, electricity tariffs, freight, tax decomposition, pharma, state metadata, and cross-state comparison, plus higher-level cost-of-living synthesis — strong for the stated domain. The notable gap is temporal: all datasets are advertised as daily/weekly/monthly updated but no tool exposes historical series or trend deltas, and there is no station/city-level drilldown outside fuel prices.

Maintenance

ActivityMaintained
ResponsivenessLimited data

Related MCP Connectors

Related MCP Servers

  • F
    license
    B
    quality
    D
    maintenance
    Query a variety of data from Brasil resources seamlessly. Access information on postal codes, area codes, banks, holidays, taxes, and more through a unified interface. Enhance your AI agents and applications with rich and updated data from BrasilAPI effortlessly.
    6
    7
    -
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Connects AI agents to 28 Brazilian public APIs, providing over 200 tools to access data on economy, legislation, transparency, and the judiciary. It enables complex queries and cross-referencing of government datasets like IBGE, the Central Bank, and the National Congress through natural language.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides business intelligence, compliance tools, and economic data for Latin America, including Brazilian company lookups, tax ID validation for multiple countries, and economic indicators from official government sources.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables agents to query 153 live Brazilian government data tools across federal and state sources, including economy, legislature, judiciary, elections, health, education, and more, reading directly from original APIs.
    MIT