# io.github.SidneyBissoli/bcb-br-mcp (npm · bcb-br-mcp)

Brazilian Central Bank / Banco Central do Brasil (BCB) - SGS time series MCP: Selic, IPCA, FX, GDP

- Trust score: 80/100 (high trust)
- Change this week: −13
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `bcb-br-mcp`: 80/100 (this document), [markdown](https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp.md), [page](https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp)

## Channel facts

- Registry: `npm`
- Package: `bcb-br-mcp`
- Version: `1.3.5`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to SidneyBissoli/bcb-br-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 42 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 79/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2642 tokens (~240/item across 11 items; 8 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add sidneybissoli-bcb-br-mcp -- npx -y bcb-br-mcp
```

### Codex

```bash
codex mcp add sidneybissoli-bcb-br-mcp -- npx -y bcb-br-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sidneybissoli-bcb-br-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "bcb-br-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sidneybissoli-bcb-br-mcp --command npx --arg -y --arg bcb-br-mcp
```

### Hermes

```yaml
mcp_servers:
  sidneybissoli-bcb-br-mcp:
    command: "npx"
    args: ["-y", "bcb-br-mcp"]
```

### Other

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

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 80, +44)

- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Provenance: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- [security] The attested source repository moved: SidneyBissoli/bcb-br-mcp
- [functional regression] Security disclosure: fail → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Stability: unverified → 0.23
- [functional improvement] License: unverified → pass
- [functional] Licence: MIT

### 2026-07-31 (score 36, +30)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, −87)

- [security regression] Malware scan: pass → unverified
- [security regression] Known CVEs: partial → unverified
- [security regression] Provenance: pass → unverified
- [security regression] Install scripts: pass → unverified
- [security] The attested source repository moved: SidneyBissoli/bcb-br-mcp
- [functional regression] Dependency health: partial → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional regression] License: pass → unverified
- [functional regression] Maintenance: pass → unverified
- [functional] Licence: MIT

### 2026-07-27 (score 93, +50)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 43)

First indexed and scored.

## MCP tools (8)

### `bcb_serie_valores` (~399 tokens)

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).

Input parameters:

- `codigo` (number, required): Código da série no SGS/BCB (ex: 433 para IPCA mensal, 11 para Selic)
- `dataFinal` (string): Data final no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)
- `dataInicial` (string): Data inicial no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)

Output parameters:

- `dados` (array): Observações históricas
- `observacao` (string): Mensagem informativa (ex.: quando não há dados)
- `periodoFinal` (string): Data da última observação
- `periodoInicial` (string): Data da primeira observação
- `serie` (object)
- `totalRegistros` (number): Quantidade de observações retornadas

### `bcb_serie_ultimos` (~311 tokens)

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).

Input parameters:

- `codigo` (number, required): Código da série no SGS/BCB
- `quantidade` (number): Quantidade de valores a retornar (1-1000, padrão: 10)

Output parameters:

- `dados` (array): Observações mais recentes
- `observacao` (string): Mensagem informativa (ex.: quando não há dados)
- `serie` (object)
- `totalRegistros` (number): Quantidade de observações retornadas

### `bcb_serie_metadados` (~310 tokens)

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).

Input parameters:

- `codigo` (number, required): Código da série no SGS/BCB

Output parameters:

- `categoria` (string): Categoria econômica
- `codigo` (number): Código da série no SGS/BCB
- `especial` (boolean): Indica se é uma série especial
- `fonte` (string): Fonte dos dados
- `nome` (string): Nome da série
- `observacao` (string): Observação sobre a origem dos metadados
- `periodicidade` (string): Periodicidade da série
- `ultimoValor` (object): Última observação disponível (fallback)
- `unidade` (string): Unidade de medida
- `urlConsulta` (string): URL da API do BCB para consulta completa
- `urlUltimos10` (string): URL da API do BCB para os últimos 10 valores

### `bcb_series_populares` (~242 tokens)

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.

Input parameters:

- `categoria` (string): Filtrar 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

Output parameters:

- `categorias` (number): Quantidade de categorias distintas
- `observacao` (string): Dica de uso
- `series`: Séries encontradas (array quando filtrado; objeto agrupado por categoria caso contrário)
- `totalSeries` (number): Quantidade total de séries retornadas

### `bcb_buscar_serie` (~211 tokens)

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.

Input parameters:

- `termo` (string, required): Termo de busca (mínimo 2 caracteres)

Output parameters:

- `mensagem` (string): Mensagem exibida quando nada é encontrado
- `series` (array): Séries que correspondem ao termo
- `sugestao` (string): Sugestões de termos alternativos
- `termo` (string): Termo pesquisado
- `totalEncontradas` (number): Quantidade de séries encontradas

### `bcb_indicadores_atuais` (~309 tokens)

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).

Output parameters:

- `consultadoEm` (string): Timestamp ISO 8601 da consulta
- `indicadores` (array): Indicadores com seus valores mais recentes

### `bcb_variacao` (~426 tokens)

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).

Input parameters:

- `codigo` (number, required): Código da série no SGS/BCB
- `dataFinal` (string): Data final (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o último valor disponível.
- `dataInicial` (string): Data inicial (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o primeiro valor disponível.
- `periodos` (number): Alternativa: calcular variação dos últimos N períodos (ignora datas se informado)

Output parameters:

- `analise` (object): Resultado da variação entre o primeiro e o último valor
- `estatisticas` (object): Estatísticas descritivas dos valores no período
- `periodo` (object): Janela temporal analisada
- `serie` (object): Identificação da série

### `bcb_comparar` (~362 tokens)

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).

Input parameters:

- `codigos` (array, required): Array com 2 a 5 códigos de séries para comparar
- `dataFinal` (string, required): Data final (yyyy-MM-dd ou dd/MM/yyyy)
- `dataInicial` (string, required): Data inicial (yyyy-MM-dd ou dd/MM/yyyy)

Output parameters:

- `erros` (array): Séries que não retornaram dados, com o motivo
- `periodo` (object): Janela temporal comparada
- `ranking` (array): Séries ordenadas pela variação percentual (maior para menor)
- `seriesComDados` (number): Quantidade de séries com dados no período
- `seriesComErro` (number): Quantidade de séries sem dados ou com erro
- `totalSeries` (number): Quantidade de séries solicitadas

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp#diagnostics

## Score history

- 2026-08-03: 80
- 2026-08-02: 80
- 2026-08-01: 36
- 2026-07-31: 36
- 2026-07-30: 6
- 2026-07-28: 93
- 2026-07-27: 93
- 2026-07-26: 43

## Links

- npm package: https://www.npmjs.com/package/bcb-br-mcp
- Socket report: https://socket.dev/npm/package/bcb-br-mcp
- Repository: https://github.com/SidneyBissoli/bcb-br-mcp
- Changelog RSS feed: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb-br-mcp
