# com.brazilmacro/brazil-macro-ai

> Brazil Macroeconomic and Financial Data AI Platform for AI agents.

- name: com.brazilmacro/brazil-macro-ai
- version: 0.2.0
- connection class: unknown (unknown)
- trust: 77/100 flags: no-repository
- quality: 76/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.brazilmacro%2Fbrazil-macro-ai
- tools: https://api.protogrid.dev/v1/servers/com.brazilmacro%2Fbrazil-macro-ai/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "brazil-macro-ai": {
      "type": "http",
      "url": "https://api.brazilmacro.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 45
- drivers: +dns-namespace +reachable +uptime-100% ~updated-36d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 76/100 (good)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 64 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 7 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_brazil_copom_path (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); brazil_macro_actual (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); compare_brazil_market_vs_focus (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 5,365 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 11, about 5,365 tokens to load them all
- tool set hash: 5054c4d1af8dcda82a69562f27f43933
- badge: [![protogrid quality](https://protogrid.dev/badge/com.brazilmacro/brazil-macro-ai.svg)](https://protogrid.dev/servers/com.brazilmacro/brazil-macro-ai)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://api.brazilmacro.com/mcp (streamable-http, auth unknown, reachable true, uptime30d 1)

## Packages

_none_

## Tools (11)

- `brazil_focus_revisions`: Detects whether Brazilian economists are revising inflation
    (IPCA), policy-rate (Selic), growth (PIB Total) or FX (Câmbio)
    expectations, and measures the speed and dispersion of those revisions
    — 1-week, 4-week and 13-week changes in the Focus survey median, plus a
    deterministic rising/falling/stable direction and accelerating/
    decelerating/stable speed classification (method_id focus_revisions_v1).
    Built directly on Focus historical vintages — never recalculates a past
    date using data published after it.

    Use when: assessing sentiment shifts among professional economists for
    Brazil's main macro indicators, or whether a recent revision is
    speeding up or slowing down.
    Do not use when: you want market-implied pricing (use
    get_brazil_copom_path) or a market-vs-consensus comparison (use
    compare_brazil_market_vs_focus) — this tool is Focus-survey-only.
    Units are NOT always basis points — check the `unit` field in the
    response (bps for Selic/IPCA, percentage_points for PIB Total, BRL for
    Câmbio).

    Args:
        indicator: one of "Selic", "IPCA", "PIB Total", "Câmbio".
        reference_period: e.g. "2027" (the forecast year). Defaults to the
            current year.
        segment: "general" (all respondents) or "top5". Never mixed.
        as_of: optional YYYY-MM-DD date. Defaults to today.
        payment_token: required in staging ($0.05/call per pricing.yaml).
    
- `brazil_inflation_breakeven`: Market-implied Brazilian inflation breakeven — Fisher's EXACT
    identity ((1+nominal)/(1+real) - 1), never the linear approximation —
    computed only where the nominal and real curves both have support at
    the same tenor (method_id breakeven_fisher_v1). Returns
    `nominal_zero_rate_pct` and `real_zero_rate_pct` alongside the
    breakeven so the result is auditable.

    IMPORTANT: this is NOT "expected inflation" — it embeds risk premium,
    liquidity and convexity effects. The response field is deliberately
    named `market_implied_inflation_breakeven`.

    Use when: assessing what the market is pricing for future inflation,
    as distinct from Focus survey expectations (use
    brazil_focus_revisions with indicator="IPCA" for that).
    Do not use when: you need either curve alone (use brazil_yield_curve /
    brazil_real_curve).

    Args:
        as_of: optional YYYY-MM-DD. Defaults to today.
        tenors: comma-separated subset of 1Y,2Y,3Y,5Y,7Y,10Y. Default: all.
        quote_side: "buy", "sell", or "mid" (default).
        payment_token: required in staging ($0.03/call per pricing.yaml).
    
- `brazil_macro_actual`: Returns a Brazilian macro headline actual (IPCA, IPCA-15, GDP,
    PIM-PF industrial production, PMC retail sales, PMS services volume,
    or PNAD Contínua unemployment) with full release-vintage provenance —
    built on a release/vintage layer that NEVER overwrites an original
    published number when a later revision arrives (method_id
    macro_actual_v1).

    Use when: you need the current headline reading for a Brazilian macro
    indicator, or (via `vintage`) what was known at a specific historical
    instant vs. what is currently the revised/correct value.
    Do not use when: you want the surprise vs. consensus (use
    brazil_macro_surprise, IPCA only) or the release schedule (use
    brazil_macro_calendar).

    Args:
        indicator: one of IPCA, IPCA15, GDP, PIM_PF, PMC, PMS, PNAD_UNEMPLOYMENT.
        reference_period: e.g. "2026-07" (monthly) or "2026-Q2" (GDP).
        as_of: YYYY-MM-DD, REQUIRED when vintage="as_known".
        vintage: "latest" (currently-correct value, default), "first"
            (original release, revision_number=0), or "as_known" (what was
            known publicly at `as_of`).
    
- `brazil_macro_calendar`: Official IBGE release calendar for Brazilian macro indicators
    (IPCA, IPCA-15, GDP, PIM-PF, PMC, PMS, PNAD Contínua unemployment),
    with status transitions scheduled -> released -> corrected.

    Use when: you need to know when the next release of a Brazilian macro
    indicator is scheduled, or whether a given period has been released yet.

    Args:
        event: optional filter to one indicator (e.g. "IPCA"). Omit for all.
        upcoming_only: if true (default), only events not yet released.
        limit: max events returned (default 20).
    
- `brazil_macro_surprise`: Compare a Brazilian macroeconomic release with the latest public
    consensus that was available before the release, with full vintage and
    source provenance (method_id macro_surprise_v1). The consensus is
    ALWAYS the last Focus survey reading published strictly before the
    official release timestamp — never a reading published after it, and
    the actual is always the FIRST release, never a later revision.

    IMPORTANT: only computed for indicators with a methodologically valid,
    event-specific public consensus — currently IPCA only. GDP/PIM-PF/PMC/
    PMS/PNAD_UNEMPLOYMENT raise an error rather than fabricate a consensus
    (use brazil_macro_actual for those — actual/momentum only, no surprise).

    Args:
        indicator: currently only "IPCA" is eligible.
        reference_period: e.g. "2026-07".
    
- `brazil_monetary_policy_divergence`: Assess divergence between Brazilian market-implied monetary policy,
    economist expectations, inflation breakevens and realized inflation
    surprises, using point-in-time public data with full provenance
    (method_id monetary_policy_divergence_v1).

    Consumes ONLY the already-homologated capability layer (market-vs-Focus
    meeting gaps, Focus Selic/IPCA 4-week revisions, the 5Y inflation
    breakeven and its 20-business-day change, and the latest eligible IPCA
    surprise) — never recomputes those engines and never fabricates a
    number a component doesn't support. Each of the 5 evidence components
    gets its own deterministic classification (strong_dovish..strong_
    hawkish) with a versioned threshold set (threshold_version
    B4_THRESHOLDS_V1), quality-weighted by the underlying engine's own
    quality_status. `overall_signal` is a QUALITATIVE composite
    (strong_dovish/dovish/balanced/hawkish/strong_hawkish/
    insufficient_evidence) — deliberately NOT a fabricated 0-100 score.
    `evidence_agreement` (0-1) tells you separately whether the components
    agree with each other, independent of the direction of the signal.

    IMPORTANT: `product_validation_status` is "internal_validated_external_
    pending" until C0's external benchmark passes (see
    docs/C0_external_validation_protocol.md), then "validated" — several
    inputs (the market-implied Copom path, the real/breakeven curve) are
    themselves still individually pending external benchmark validation,
    never hidden here. This is macro intelligence, NOT an investment
    recommendation.

    Use when: assessing whether Brazilian market pricing, economist
    consensus, market-implied inflation and realized inflation data agree
    or diverge on the direction of monetary policy pressure.
    Do not use when: you need only one dimension — use
    compare_brazil_market_vs_focus, brazil_focus_revisions,
    brazil_inflation_breakeven, or brazil_macro_surprise directly.

    Args:
        as_of: optional YYYY-MM-DD date. Defaults to today.
        horizon_meetings: must be 4 in v1 (the PolicyGap weighting
            0.40/0.30/0.20/0.10 is fixed for exactly 4 meetings).
        include_evidence: if true (default), include the full per-component
            evidence table (value, signal, quality_status, weights,
            validation status, source vintage).
        payment_token: required in staging ($0.25/call per pricing.yaml).
    
- `brazil_real_curve`: Real (IPCA-linked) Brazilian sovereign zero-coupon curve,
    bootstrapped from Tesouro Direto NTN-B Principal (zero-coupon) and
    NTN-B (semi-annual real coupon) offered-security quotes. Built entirely
    from the bonds' own quoted real yields — no Focus/IPCA projection is
    used anywhere in this engine.

    curve_scope = "tesouro_direto_offered_securities" (see brazil_yield_curve).
    Note: Tesouro currently offers no short-dated real zero-coupon bond, so
    this curve typically has NO coverage for 1Y/2Y tenors — check `status`
    per tenor.

    Use when: you need Brazil's real (inflation-protected) rate curve.
    Do not use when: you need the nominal curve (brazil_yield_curve) or
    breakeven inflation (brazil_inflation_breakeven).

    Args:
        as_of: optional YYYY-MM-DD. Defaults to today.
        tenors: comma-separated subset of 1Y,2Y,3Y,5Y,7Y,10Y. Default: all.
        quote_side: "buy", "sell", or "mid" (default).
        payment_token: required in staging ($0.03/call per pricing.yaml).
    
- `brazil_yield_curve`: Nominal Brazilian sovereign zero-coupon curve, bootstrapped from
    Tesouro Direto LTN (zero-coupon) and NTN-F (semi-annual coupon)
    offered-security quotes (method_id sovereign_zero_curve_bootstrap_v1).

    curve_scope = "tesouro_direto_offered_securities": this is NOT an
    institutional ANBIMA/Bloomberg ETTJ — it's derived from retail-offered
    public securities, published as open data (ODbL license). Tenors
    outside the curve's actual node coverage return
    status="unsupported", never extrapolated.

    Use when: you need Brazil's nominal risk-free curve shape or a
    specific nominal zero rate.
    Do not use when: you need the real (inflation-linked) curve (use
    brazil_real_curve) or breakeven inflation (use
    brazil_inflation_breakeven).

    Args:
        as_of: optional YYYY-MM-DD. Defaults to today.
        tenors: comma-separated subset of 1Y,2Y,3Y,5Y,7Y,10Y. Default: all.
        quote_side: "buy", "sell", or "mid" (default).
        payment_token: required in staging ($0.01/call per pricing.yaml).
    
- `compare_brazil_market_vs_focus`: Compares the market-implied Copom path (DI1-derived) against the BCB
    Focus survey median, meeting-by-meeting (not just year-end), returning
    the gap in basis points per meeting and an overall dovish/hawkish
    classification (method_id market_vs_focus_meetings_v1).

    Use when: assessing whether Brazilian rates markets are pricing more or
    less monetary policy action than professional economists' consensus —
    useful for research agents, news agents, or risk agents monitoring
    Brazil-specific policy surprises.
    Do not use when: you only need one side of the comparison (use
    get_brazil_copom_path for market pricing alone, or Focus data directly
    for consensus alone).

    Args:
        as_of: optional YYYY-MM-DD date. Defaults to today.
        horizon: number of upcoming Copom meetings to compare (1-8, default 4).
        payment_token: required in staging ($0.15/call per pricing.yaml).
    
- `get_brazil_copom_path`: Returns market-implied Brazilian Selic expectations for upcoming
    Copom meetings, derived from B3 DI1 futures via a meeting-step bootstrap
    (method_id copom_path_di1_v1). Each entry gives the implied Selic level
    and the implied change in basis points for that specific meeting date —
    not rounded to 25bp increments.

    Use when: estimating expected BCB policy changes, the terminal rate, or
    cumulative easing/tightening priced by the market over the next 1-8
    Copom meetings.
    Do not use when: you want economists' survey expectations instead of
    market pricing (use brazil_focus_revisions) or a direct comparison
    between the two (use compare_brazil_market_vs_focus).
    Limitations: requires liquid DI1 data for the as_of date's most recent
    trading day; DU counts use the validated B3 trading calendar (A6.1).

    Args:
        as_of: optional YYYY-MM-DD date. Defaults to today.
        meetings: number of upcoming Copom meetings to return (1-8, default 4).
        agent_id, session_id, discovery_source: optional C1 telemetry fields.
        payment_token: required in staging for this priced capability
            ($0.10/call per pricing.yaml) — omit to get the simulated
            payment_required response instead of a result.
    
- `get_brazil_selic_snapshot`: Returns Brazil's current policy rate (Selic target) plus realized
    short-term rates (Selic 252, CDI) and the last Copom decision.

    Use when: you need the current or historical Brazilian policy rate, or
    the most recent Copom decision, without needing forward-looking pricing.
    Do not use when: you need market expectations for FUTURE meetings — use
    get_brazil_copom_path or compare_brazil_market_vs_focus instead.

    Args:
        as_of: optional YYYY-MM-DD date for a historical snapshot (respects
            vintage — never uses data published after this date). Defaults
            to today.
        agent_id, session_id, discovery_source, payment_token: optional
            telemetry/access-policy fields (C1) — safe to omit; this
            capability is free and always returns 200 either way.
    
