# Brazilian Central Bank (BCB) MCP [Verified] [Health: Active]

**Category:** 💰 Finance & Fintech  
**Repository:** https://github.com/SidneyBissoli/bcb-br-mcp  
**GitHub Stars:** 8  
**npm Downloads (last month):** 1093328  
**Views:** 7  
**Installs:** 0  
**Upvotes:** 1  
**Directory Page:** https://allmcps.com/mcp/sidneybissoli-bcb-br-mcp

## Description
MCP server for the Brazilian Central Bank (Banco Central do Brasil): SGS time series (Selic, IPCA, exchange rates, GDP and 139 curated, source-verified indicators), the Focus market-expectations survey and PTAX official exchange rates. 15 tools, 3 resources and 3 prompts, with provenance metadata on every response. Runs locally via npx (stdio) or through the hosted endpoint at https://bcb.sidneybissoli.com/mcp — no API key or signup required.

## Tools
Capabilities this server exposes over MCP:

- **bcb_serie_valores** — Consulta o histórico de valores de UMA série temporal do BCB pelo código SGS, opcionalmente limitado por um intervalo de datas (dataInicial/dataFinal). Quando usar: para obter a série histórica completa ou uma janela de datas específica. Quando NÃO usar: para apenas os pontos mais recentes use bcb_serie_ultimos; para a variação percentual use bcb_variacao; para comparar várias séries use bcb_comparar; se não souber o código, descubra-o antes com bcb_buscar_serie ou bcb_series_populares. Retorna: objeto `serie` (codigo, nome, categoria, periodicidade), `totalRegistros`, `periodoInicial`, `periodoFinal` e `dados` (array de {data, valor}); quando não há dados, `totalRegistros` = 0 e uma `observacao` explicativa. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).
- **bcb_serie_ultimos** — Obtém as últimas N observações de UMA série temporal do BCB (mais recentes primeiro a partir do fim da série). Quando usar: para ver os dados mais recentes sem precisar calcular datas (ex.: últimos 12 meses do IPCA). Quantidade entre 1 e 1000 (padrão 10). Quando NÃO usar: para um intervalo de datas ou o histórico completo use bcb_serie_valores. Retorna: objeto `serie`, `totalRegistros` e `dados` (array de {data, valor}); sem dados, `totalRegistros` = 0 com `observacao`. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).
- **bcb_serie_metadados** — Obtém os metadados descritivos de UMA série do BCB (nome, unidade de medida, periodicidade, fonte, categoria), sem trazer a série de valores. Quando usar: para confirmar o que uma série representa e em que unidade antes de consultar os dados. Quando NÃO usar: para os valores em si use bcb_serie_valores ou bcb_serie_ultimos. Retorna: codigo, nome, unidade, periodicidade, fonte, categoria, especial e URLs diretas da API (urlConsulta, urlUltimos10). Se o endpoint de metadados do BCB não responder, faz fallback para o catálogo interno ou para o último valor disponível, sinalizando a origem em `observacao`. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).
- **bcb_series_populares** — Lista o catálogo interno curado de 150+ séries econômicas do BCB com seus códigos, agrupadas por categoria (Juros, Inflação, Câmbio, Atividade Econômica, Emprego, Fiscal, Setor Externo, Crédito, Agregados Monetários, Poupança, Índices de Mercado, Expectativas); aceita filtro por categoria. Quando usar: para navegar/descobrir as séries disponíveis por tema. Quando NÃO usar: para busca por palavra-chave use bcb_buscar_serie; esta ferramenta não busca valores. Retorna: `totalSeries`, `categorias` (nº de categorias) e `series` — objeto agrupado por categoria quando sem filtro, ou array plano quando filtrado por categoria; cada item tem codigo, nome, categoria e periodicidade. Catálogo local: não faz chamada de rede.
- **bcb_buscar_serie** — Busca séries no catálogo interno curado por nome ou categoria, ignorando acentos e maiúsculas (ex.: 'inflacao' encontra 'Inflação'; 'dolar' encontra 'Dólar'). Quando usar: para encontrar o código de uma série a partir de uma palavra-chave (selic, ipca, cambio, pib, emprego, credito...). Quando NÃO usar: para listar tudo por categoria use bcb_series_populares. Limitação: pesquisa apenas o catálogo curado (150+ séries), não o SGS completo (dezenas de milhares); quando nada é encontrado, retorna sugestões e o link do portal SGS. Retorna: `termo`, `totalEncontradas`, `series` (array de {codigo, nome, categoria, periodicidade}) e, quando vazio, `mensagem` e `sugestao`. Catálogo local: não faz chamada de rede.
- **bcb_indicadores_atuais** — Atalho que retorna, em uma única chamada, o valor mais recente dos principais indicadores da economia brasileira: Selic anualizada, IPCA mensal, IPCA acumulado 12 meses, Dólar PTAX (venda) e IBC-Br. Não recebe parâmetros. Quando usar: para um panorama econômico rápido. Quando NÃO usar: para qualquer outra série, para dados históricos ou para escolher o período use bcb_serie_ultimos ou bcb_serie_valores. Retorna: `consultadoEm` (timestamp ISO 8601) e `indicadores` (array com indicador, codigo, data, valor — ou `erro` no item). Resiliente: cada indicador é buscado de forma independente, então a falha de um não derruba os demais. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).
- **bcb_variacao** — Calcula a variação percentual de UMA série entre o primeiro e o último ponto do período, mais estatísticas descritivas. O período pode ser definido por datas (dataInicial/dataFinal) OU pelos últimos N períodos (parâmetro `periodos`, que tem precedência e ignora as datas). Quando usar: para medir tendência/variação de uma única série. Quando NÃO usar: para comparar várias séries use bcb_comparar; para os valores brutos use bcb_serie_valores. Requer ao menos 2 observações no período (senão retorna `isError`). Retorna: `serie`, `periodo` (dataInicial, dataFinal, totalPeriodos), `analise` (valorInicial, valorFinal, diferencaAbsoluta, variacaoPercentual, variacaoFormatada) e `estatisticas` (maximo, minimo, media, amplitude). Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).
- **bcb_comparar** — Compara de 2 a 5 séries temporais no MESMO período (dataInicial e dataFinal obrigatórias), calculando a variação percentual de cada uma e ordenando-as num ranking (maior para menor variação). Quando usar: para comparar/correlacionar a evolução de vários indicadores lado a lado. Quando NÃO usar: para uma única série use bcb_variacao. Retorna: `periodo`, `totalSeries`, `seriesComDados`, `seriesComErro`, `ranking` (cada item com posicao, codigo, nome, valorInicial, valorFinal, variacaoPercentual, maximo, minimo, media) e `erros`. Resiliente: séries sem dados no período são isoladas em `erros` sem invalidar a comparação. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna `isError: true` com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em `structuredContent` (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "brazilian-central-bank-bcb-mcp": {
    "command": "npx",
    "args": ["-y","@modelcontextprotocol/inspector"]
  }
}
```

## Documentation

## What Brazilian Central Bank (BCB) MCP MCP server does

The Brazilian Central Bank (BCB) MCP MCP server gives AI assistants access to public economic and financial data from Banco Central do Brasil. Its main data source is SGS, which provides time series for indicators such as Selic, IPCA, exchange rates, GDP, employment, credit, fiscal measures, and monetary aggregates. The server also exposes the Focus survey for market expectations and PTAX official exchange-rate quotations.

The package includes 15 MCP tools, three read-only resources, and three prompts. Responses include provenance metadata, and structured results are available alongside JSON text output where the tool defines an output schema. The catalog contains more than 150 curated, source-verified series, organized by economic category.

## How it works

Agents can first search the local catalog by keyword or list popular series by category, then use the returned SGS code to retrieve data. Historical queries accept date ranges, while another tool returns the latest N observations. Metadata queries provide a series name, unit, frequency, source, category, and direct API URLs without retrieving the full value history.

Analysis tools calculate percentage changes and descriptive statistics for one series or rank two to five series over the same period. The current-indicators shortcut fetches recent Selic, IPCA, USD/BRL, and IBC-Br values independently, so one failed indicator does not invalidate the others. Additional tools cover Focus expectations by indicator or Copom meeting, available Focus references, PTAX quotations, and currencies published by the BCB.

The server handles transient SGS failures with up to three attempts and exponential backoff. Long date windows and upstream observation limits are handled by slicing requests and merging results where applicable. Series can also be harmonized to coarser monthly, quarterly, or annual frequencies using the documented conventions.

## Setup and configuration

The Brazilian Central Bank (BCB) MCP MCP server can run locally with the npm package and stdio transport:

```json
{
  "mcpServers": {
    "bcb-br": {
      "command": "npx",
      "args": ["-y", "bcb-br-mcp"]
    }
  }
}
```

It is explicitly documented for Claude Desktop, with configuration paths for Windows and macOS. A global npm installation is also supported through `npm install -g bcb-br-mcp`, followed by the `bcb-br-mcp` command. Alternatively, MCP clients can connect to `https://bcb.sidneybissoli.com/mcp` without local installation. No API key, credentials, or signup are required for the documented public-data access.

## Tools and capabilities

- Discover curated BCB series by category or accent-insensitive keyword.
- Retrieve complete or date-bounded series histories and recent observations.
- Inspect series metadata and access direct BCB API URLs.
- Fetch a compact set of current Brazilian economic indicators.
- Calculate single-series variation, statistics, and compounded rates where applicable.
- Compare multiple series over a common period.
- Query Focus expectations and PTAX currency quotations.
- Attach catalog resources for popular series, categories, and principal indicators.
- Use prompts for current indicators, an economic panorama, or inflation comparisons.

## Limitations and notes

Catalog search is limited to the curated collection rather than the full SGS catalog, which contains many more series. A series code may therefore need to be found through the BCB SGS portal when the local catalog has no match. Date and value formatting follows the server output: dates use `dd/MM/yyyy`, and numeric values use a decimal point.

The public BCB endpoints are used without authentication, and no request limit is stated; usage is best-effort. A persistent upstream failure produces an MCP error, while missing data or an HTTP 404 is reported as an unavailable series or period. Comparison requires two to five series and a shared date range, and variation requires at least two observations. Focus and PTAX capabilities depend on the data published by their respective BCB sources.

_Full upstream README: https://allmcps.com/mcp/sidneybissoli-bcb-br-mcp/readme_

