Discovery is wired in on both axes: the series search falls through from a curated catalogue to the Open Data Portal index so a plain-language term reaches a code, and the Focus reference tool exists because those tools match on the exact strings the survey publishes. Two upstream limits are absorbed rather than passed on — the ten-year cap on daily series is worked around by slicing and merging, and the variation tool compounds rather than subtracts when the series is already a rate, naming the method it used so the number is checkable. The currency list is there for the same reason: a wrong symbol is the usual cause of an empty quote.
A query layer over the Banco Central do Brasil's public data: SGS time series by code, the Focus bulletin's market expectations, and PTAX currency quotes. Thirteen tools, plus reference catalogues exposed as resources, with keyword search over a curated list and the BCB Open Data Portal index for finding a series in the first place.
- Series read at the granularity you ask for: one series' history bounded by a start and end date, the most recent observations newest-first with a count between 1 and 1000, and the metadata alone — name, unit of measure, periodicity, source and category — without any values (bcb_serie_valores, bcb_serie_ultimos, bcb_serie_metadados).
- Long windows handled rather than refused: the BCB API caps daily series at ten years and rejects open windows, so requests are sliced, fetched and merged automatically and a fifteen-year daily query simply returns.
- Frequency harmonised on request — a series resampled to monthly, quarterly or annual with the convention stated, including geometric compounding for series that are already percentage changes.
- Getting to a series code: a curated catalogue browsable by economic category, and a search that reads that catalogue first and then the Open Data Portal index, ignoring accents and case (bcb_series_populares, bcb_buscar_serie).
- A snapshot in one parameterless call — the latest annualised Selic, monthly IPCA, IPCA accumulated over 12 months, the PTAX dollar sell rate and IBC-Br (bcb_indicadores_atuais).
- Movement rather than levels, computed correctly for the series type: a percentage change over a window with descriptive statistics, using level change for level series and compounded accumulation for series that are already period-on-period rates, with the method it used named in the response; and 2 to 5 series compared over the same window and ranked (bcb_variacao, bcb_comparar).
- The Focus survey on its own two axes: expectations for one indicator across monthly, quarterly and annual horizons or rolling 12- and 24-month inflation, with mean, median, standard deviation, minimum, maximum and respondent count per collection date; and the Selic organised by Copom meeting instead, written as R1/2026 (bcb_focus_expectativas, bcb_focus_selic).
- The exact strings the survey will match, listed per scope — because the indicator set differs between horizons, and a near-miss returns nothing (bcb_focus_referencias).
- Official exchange rates: PTAX buy and sell for a day or a range, defaulting to the US dollar and adding the USD parity with its origin qualified for other currencies, plus the list of currencies the Central Bank publishes with their symbols (bcb_cambio_cotacao, bcb_cambio_moedas).
Nothing — no account and no key, because the BCB data is public. Run it locally over stdio with the npm package, or point a Streamable HTTP client at the hosted endpoint https://bcb.sidneybissoli.com/mcp with nothing installed.
One command — npx -y bcb-br-mcp
