Skip to main content
Glama

Mestre Prático • Brazil Retail & Commodities MCP

brazil_pharma_medicines

Read-onlyIdempotent

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 100% free dispensing eligibility under the federal Farmacia Popular program (PFPB). When to use: Look up official regulated medicine ceiling prices (PMC), verify generic active ingredient equivalence, or check free dispensing status under Farmacia Popular across Brazilian states. When NOT to use: Do NOT use for supermarket personal care products (use brazil_grocery_basket) or non-pharmaceutical price queries. Read-only and idempotent operation; no authentication required up to 60 req/min (returns up to 15 matching presentations per call).

Input Schema

NameRequiredDescriptionDefault
ufNoTwo-letter Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba') to apply accurate regional ICMS tax bracket. Defaults to 'sp'.sp
buscaYesCommercial brand name or active pharmaceutical ingredient in Portuguese (e.g., 'dipirona', 'losartana', 'metformina', 'insulina', 'amoxicilina', 'paracetamol'). Defaults to 'losartana'.losartana
categoriaNoRegulatory medicine category filter: 'todos' (all regulated CMED entries), 'farmacia_popular' (100% free SUS program medicines), 'genericos' (bioequivalent generics), 'referencia' (innovator reference drugs), 'similares' (similar branded drugs). Defaults to 'todos'.todos

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • 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. Changed1 schema field changed
    • 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 / busca
      Added value: +{
      +  "default": "losartana",
      +  "description": "Commercial brand name or active pharmaceutical ingredient in Portuguese (e.g., 'dipirona', 'losartana', 'metformina', 'insulina', 'amoxicilina', 'paracetamol'). Defaults to 'losartana'.",
      +  "type": "string"
      +}
    • addedInput schema / properties / categoria
      Added value: +{
      +  "default": "todos",
      +  "description": "Regulatory medicine category filter: 'todos' (all regulated CMED entries), 'farmacia_popular' (100% free SUS program medicines), 'genericos' (bioequivalent generics), 'referencia' (innovator reference drugs), 'similares' (similar branded drugs). Defaults to 'todos'.",
      +  "enum": [
      +    "todos",
      +    "farmacia_popular",
      +    "genericos",
      +    "referencia",
      +    "similares"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / termo
      Removed value: -{
      -  "description": "Commercial brand name or active ingredient in Portuguese (e.g., 'dipirona', 'losartana', 'ozempic', 'amoxicilina', 'paracetamol').",
      -  "type": "string"
      -}
    • removedInput schema / properties / tipo
      Removed value: -{
      -  "description": "Regulatory category filter (default: 'todos').",
      -  "enum": [
      -    "todos",
      -    "generico",
      -    "novo",
      -    "similar",
      -    "biologico"
      -  ],
      -  "type": "string"
      -}
    • addedInput schema / properties / uf / default
      Added value: +"sp"
    • changedInput schema / properties / uf / description
      Previous value: -"Two-letter Brazilian state code (e.g., 'sp', 'rj', 'mg') to apply accurate regional ICMS tax rate (default: 'sp')."New value: +"Two-letter Brazilian state code (e.g., 'sp', 'rj', 'mg', 'ba') to apply accurate regional ICMS tax bracket. Defaults to 'sp'."
    • changedInput schema / required
      Previous value: -[
      -  "termo"
      -]New value: +[
      +  "busca"
      +]
  4. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the description's 'read-only and idempotent' line is redundant. It does add genuinely new behavior beyond the annotations: a 60 req/min rate limit, no auth requirement, and a cap of 15 presentations per call. That is real added context, but the repetition of annotation-backed traits and lack of failure-mode detail keep it at a 3.

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-loaded with what the tool returns and structurally organized into use / do-not-use / operational constraints. It is dense but the length is largely earned; minor redundancy in restating PMC and Farmacia Popular twice prevents a 5.

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 three parameters, the description covers the missing pieces: the result cap of 15 presentations, the fields returned (ingredient, lab, presentation), state-dependent tax variation, and rate limits. An agent has enough to call it correctly and set expectations on response size.

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%, so all three parameters are already documented with defaults and an enum for categoria. The description only adds indirect hints (the 18%–20% ICMS range tied to uf, free-dispensing tied to farmacia_popular) rather than syntax or edge-case guidance, so 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 (queries) and resources (PMC and PF prices for 26,635+ CMED/ANVISA-regulated medicines), and enumerates the returned facets (ICMS brackets, active ingredients, laboratory, presentation, Farmacia Popular eligibility). It explicitly distances itself from brazil_grocery_basket, so an agent can separate it from siblings 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 dedicated 'When to use' and 'When NOT to use' clauses with the specific alternative named for the wrong case (brazil_grocery_basket) plus a general exclusion for non-pharmaceutical queries. The selection condition is fully explicit.

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.