# Banco Central do Brasil (BCB) — SGS Time Series MCP Server (remote · bcb.sidneybissoli.com)

Banco Central do Brasil (BCB): SGS series, Focus expectations, PTAX, stats + provenance. 17 tools.

- Trust score: 82/100 (high trust)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- remote · `bcb.sidneybissoli.com`: 82/100 (this document), [markdown](https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb.md), [page](https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb)
- npm · `bcb-br-mcp`: 94/100, [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

- Endpoint: `https://bcb.sidneybissoli.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.12.1`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, 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-09-20.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/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 9349 tokens (~467/item across 20 items; 17 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 77/100
  - Stability observed for 23 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.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 17 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server?

Banco Central do Brasil (BCB) — SGS Time Series MCP Server is a hosted endpoint at https://bcb.sidneybissoli.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http sidneybissoli-bcb-br-mcp 'https://bcb.sidneybissoli.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "sidneybissoli-bcb-br-mcp": {
      "url": "https://bcb.sidneybissoli.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "sidneybissoli-bcb-br-mcp": {
      "type": "http",
      "url": "https://bcb.sidneybissoli.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.sidneybissoli-bcb-br-mcp]
url = "https://bcb.sidneybissoli.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sidneybissoli-bcb-br-mcp": {
      "type": "remote",
      "url": "https://bcb.sidneybissoli.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add sidneybissoli-bcb-br-mcp --url 'https://bcb.sidneybissoli.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  sidneybissoli-bcb-br-mcp:
    url: "https://bcb.sidneybissoli.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "sidneybissoli-bcb-br-mcp": {
      "Transport": "http",
      "Url": "https://bcb.sidneybissoli.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add sidneybissoli-bcb-br-mcp -t streamable-http -u 'https://bcb.sidneybissoli.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "sidneybissoli-bcb-br-mcp": {
      "type": "http",
      "url": "https://bcb.sidneybissoli.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## 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-09-20 (score 82, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-18 (score 81, +1)

No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 80, 0)

- [functional] Server version: 1.12.0 → 1.12.1

### 2026-09-16 (score 80, 0)

- [functional] Server version: 1.11.0 → 1.12.0
- [cosmetic] “bcb_buscar_serie” reworded the description of “termo”

### 2026-09-15 (score 80, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-13 (score 79, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-11 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 43 to 47. That category is still filling its 30-day observation window: 13 days of observed history at the previous scan, 14 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-09 (score 77, +1)

No change was recorded against any check on this day. Stability & Change Management went from 37 to 40. That category is still filling its 30-day observation window: 11 days of observed history at the previous scan, 12 at this one. The score rises as the window fills, whether or not the server changes.

## MCP tools (17)

### `bcb_serie_valores` (~707 tokens)

Consultar valores da série

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. Períodos longos: a API do BCB limita séries DIÁRIAS a 10 anos por consulta e recusa janela aberta (HTTP 406). Isso é tratado automaticamente — a janela é fatiada em requisições de até 3 anos e o resultado vem fundido e ordenado, com `chunking` na resposta dizendo quantas janelas foram usadas; se o período pedido estava aberto numa série diária, `janelaAplicada` diz qual janela foi usada e por quê. Harmonização: `frequencia` (mensal|trimestral|anual) reamostra a série antes de responder, com a convenção escolhida em `agregacao`; a resposta traz `harmonizacao` com `derived: true` e a nota do cálculo. 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:

- `agregacao` (string): Como agregar os valores de cada período quando `frequencia` é informada. `ultimo` (padrão) serve a nível de preço, taxa e índice; `soma` a fluxo; `acumulada` a séries que JÁ SÃO variação percentual (…
- `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)
- `frequencia` (string): Opcional: reamostra a série para esta frequência antes de responder (só agrega para períodos MAIORES; pedir frequência mais fina que a da série é recusado). Útil para comparar séries de periodicidade…

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `chunking` (object): Presente quando a consulta foi fatiada em várias requisições à origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.
- `dados` (array): Observações históricas
- `harmonizacao` (object): Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
- `janelaAplicada` (object): Presente quando o período pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).
- `observacao` (string): Mensagem informativa (ex.: quando não há dados)
- `periodoFinal` (string): Data da última observação
- `periodoInicial` (string): Data da primeira observação
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `serie` (object): Identificação da série temporal
- `totalRegistros` (number): Quantidade de observações retornadas

### `bcb_serie_ultimos` (~390 tokens)

Últimos valores da série

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`. Acima de 20: o endpoint nativo do BCB rejeita N > 20 em qualquer periodicidade, então o servidor descobre a periodicidade da série e busca por janela de datas, devolvendo os N últimos pontos. 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). A API do BCB tem teto de 20 no endpoint nativo; acima disso o servidor busca por janela de datas e devolve os N últimos.

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `chunking` (object): Presente quando a consulta foi fatiada em várias requisições à origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.
- `dados` (array): Observações mais recentes
- `observacao` (string): Mensagem informativa (ex.: quando não há dados)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `serie` (object): Identificação da série temporal
- `totalRegistros` (number): Quantidade de observações retornadas

### `bcb_serie_metadados` (~344 tokens)

Metadados da série

Obtém a descrição de UMA série do BCB (nome, periodicidade, categoria, fonte e último valor), sem trazer a série histórica. Quando usar: para confirmar o que uma série representa e com que frequência é publicada 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, periodicidade, categoria, fonte, `ultimoValor` e URLs diretas da API (urlConsulta, urlUltimos10). Limite da fonte: a API do SGS NÃO publica endpoint de metadados por série — não há unidade de medida disponível. Nome e categoria vêm do catálogo curado do servidor (135 séries verificadas contra a origem) e, fora dele, a periodicidade é inferida do espaçamento das observações, sinalizada por `periodicidadeInferida`. 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:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `categoria` (string): Categoria econômica
- `codigo` (number): Código da série no SGS/BCB
- `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
- `periodicidadeInferida` (boolean): Presente e true quando a periodicidade foi inferida do espaçamento das observações
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)
- `ultimoValor` (object): Última observação disponível
- `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` (~335 tokens)

Listar séries populares

Lista o catálogo interno curado de 135 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); 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, periodicidade e `fonteNome`. Catálogo local: não faz chamada de rede. Procedência: `fonteNome` = 'portal' quando o nome é transcrito do dataset da série no Portal de Dados Abertos do BCB (82 séries, com `unidade`), e 'medido' quando a série não tem dataset lá — nesse caso o nome é herdado e o que foi verificado contra a origem é a periodicidade e a ordem de grandeza. Expectativas do Focus NÃO estão aqui: use bcb_focus_expectativas.

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:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `categorias` (number): Quantidade de categorias distintas
- `observacao` (string): Dica de uso
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `series`: Séries encontradas. Objeto agrupado por categoria quando sem filtro; array plano quando filtrado por categoria.
- `totalSeries` (number): Quantidade total de séries retornadas

### `bcb_buscar_serie` (~513 tokens)

Buscar série no catálogo

Busca séries do BCB por palavra-chave (ou pelo código) em DUAS camadas: o catálogo curado local de 135 séries verificadas contra a origem, que vem primeiro e com `fonteNome` dizendo se o nome é transcrito do portal do BCB ou herdado, e o índice do Portal de Dados Abertos do BCB, com milhares de séries identificadas por código. Ignora acentos e maiúsculas ('inflacao' encontra 'Inflação'); vários termos são combinados com E ('ipca servicos'). Quando usar: para descobrir o código de uma série antes de consultar valores. Quando NÃO usar: para navegar tudo por categoria use bcb_series_populares; para valores use bcb_serie_valores. Retorna: `termo`, `totalEncontradas`, `series` (cada item com codigo, nome, origem — 'curado' ou 'indice' — e, no índice, `dataset` com a página do portal), `catalogo` (origem, obtidoEm, seriesIndexadas, cobertura) e, quando aplicável, `observacao`, `avisos`, `mensagem` e `sugestao`. Cobertura: o índice NÃO é o SGS inteiro, portanto não encontrar aqui não prova que a série não exista — o campo `catalogo.cobertura` diz isso explicitamente em toda resposta. Comportamento de rede: o índice é servido de cache com validade de 24 h e a renovação é feita pela primeira busca após o vencimento (uma requisição ao portal, ~1 s); as demais buscas não tocam a rede. Se o portal estiver fora, a busca degrada para o catálogo curado (ou para o último índice obtido) e sinaliza em `avisos`, sempre com a data de obtenção visível.

Input parameters:

- `limite` (number): Máximo de séries a devolver (1-100, padrão: 20). `totalEncontradas` traz o total antes do corte.
- `termo` (string, required): Termo de busca (mínimo 2 caracteres) ou o código da série. Vários termos são combinados com E, sem distinção de acento; a palavra de todo dia é traduzida para a do BCB (déficit→resultado primário, ca…

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `avisos` (array): Avisos de degradação (índice vencido ou indisponível)
- `catalogo` (object): Proveniência do índice usado na busca
- `mensagem` (string): Mensagem exibida quando nada é encontrado
- `notasVocabulario` (array): Quando um termo foi ampliado para a palavra que o BCB usa (déficit→resultado primário), diz qual
- `observacao` (string): Aviso de corte quando há mais resultados que `limite`
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)
- `series` (array): Séries que correspondem ao termo — as do catálogo curado primeiro
- `sugestao` (string): Sugestões de termos alternativos
- `termo` (string): Termo pesquisado
- `totalEncontradas` (number): Quantidade de séries encontradas, antes do corte por `limite`

### `bcb_indicadores_atuais` (~312 tokens)

Indicadores econômicos atuais

Atalho que retorna, em uma única chamada, o valor mais recente dos principais indicadores da economia brasileira: Selic (meta do Copom), IPCA mensal, IPCA acumulado 12 meses, dólar comercial de venda (série diária) 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:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `consultadoEm` (string): Timestamp ISO 8601 da consulta
- `indicadores` (array): Lista de indicadores com seus valores mais recentes
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença

### `bcb_variacao` (~716 tokens)

Variação percentual da série

Calcula a variação percentual de UMA série no período, mais estatísticas descritivas. Para série de NÍVEL (dólar, Selic, dívida, produção) é a variação entre o primeiro e o último ponto; para série que JÁ É uma variação por período (IPCA 433, INPC 188, IGP-M 189 e demais índices de preço mensais do catálogo; Selic/CDI acumulados no mês 4390/4391; rentabilidade da poupança 25/195) é o ACUMULADO do período por encadeamento — "quanto o IPCA acumulou em 2024" ou "quanto a Selic rendeu em 2024" é esta tool. O campo `analise.metodo` diz qual das duas contas foi feita; código fora do catálogo curado é tratado como nível. Série de acumulado móvel (IPCA em 12 meses, 13522) é recusada com orientação — o valor publicado já é a resposta. 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/acumulado 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` (metodo, valorInicial, valorFinal, diferencaAbsoluta — nula quando encadeado —, variacaoPercentual, variacaoFormatada) e `estatisticas` (maximo, minimo, media, amplitude). Períodos longos são tratados automaticamente: janela diária acima de 10 anos é fatiada (a API do BCB responde 406) e `periodos` acima de 20 é atendido por janela de datas; `chunking` e `janelaAplicada` aparecem na resposta quando isso acontece. 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 =…

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). Acima de 20 o servidor busca por janela de datas, porque o endpoint nativo do BCB tem esse teto.

Output parameters:

- `analise` (object): Resultado da variação no período. Em `metodo: "nivel"` é a variação entre o primeiro e o último valor; em `metodo: "encadeamento"` (série que já é variação por período, como IPCA e IGP-M mensais) é o…
- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `chunking` (object): Presente quando a consulta foi fatiada em várias requisições à origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.
- `derivacao` (object): Origem dos números calculados: o que é derivado, por qual motor e com quais convenções
- `estatisticas` (object): Estatísticas descritivas dos valores no período
- `janelaAplicada` (object): Presente quando o período pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).
- `periodo` (object): Janela temporal analisada
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `serie` (object): Identificação da série

### `bcb_comparar` (~712 tokens)

Comparar séries

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). Série de nível entra pela variação entre as pontas; série que já é variação por período (IPCA, INPC, IGP-M mensais do catálogo; Selic/CDI acumulados no mês; poupança) entra pelo ACUMULADO encadeado do período — cada item diz em `metodo` qual conta foi feita, então "qual índice de preço subiu mais em 2024" é esta tool. 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, metodo, valorInicial, valorFinal, variacaoPercentual, maximo, minimo, media) e `erros`. Resiliente: séries sem dados no período, e séries de acumulado móvel (IPCA em 12 meses), são isoladas em `erros` sem invalidar a comparação. Periodicidades diferentes: comparar uma série diária com uma mensal alinha pontos que não são comparáveis, e a resposta avisa isso em `aviso`; informe `frequencia` (mensal|trimestral|anual) para harmonizar todas na mesma grade antes de comparar, escolhendo a convenção em `agregacao`. Janelas longas em séries diárias são fatiadas automaticamente (limite de 10 anos da API do BCB). 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:

- `agregacao` (string): Como agregar os valores de cada período quando `frequencia` é informada. `ultimo` (padrão) serve a nível de preço, taxa e índice; `soma` a fluxo; `acumulada` a séries que JÁ SÃO variação percentual (…
- `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)
- `frequencia` (string): Opcional: reamostra a série para esta frequência antes de responder (só agrega para períodos MAIORES; pedir frequência mais fina que a da série é recusado). Útil para comparar séries de periodicidade…

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `aviso` (string): Presente quando as séries comparadas têm periodicidades diferentes e nenhuma harmonização foi pedida — os números do ranking, nesse caso, não são diretamente comparáveis entre si.
- `derivacao` (object): Origem dos números calculados: o que é derivado, por qual motor e com quais convenções
- `erros` (array): Séries que não retornaram dados, com o motivo
- `harmonizacao` (object): Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
- `periodo` (object): Janela temporal comparada
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `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

### `bcb_correlacao` (~906 tokens)

Correlacionar séries

Calcula a correlação estatística entre 2 a 5 séries temporais do BCB no MESMO período (dataInicial e dataFinal obrigatórias), par a par. Quando usar: para medir se dois indicadores se movem juntos (ex.: dólar e Selic, IPCA e IGP-M). Quando NÃO usar: para comparar a variação de cada série lado a lado use bcb_comparar; para uma série só use bcb_variacao. Métodos: `pearson` (padrão) mede relação LINEAR entre os valores; `spearman` mede relação MONÓTONA entre os postos e é o adequado quando a relação não é reta ou quando uma série fica parada em platôs (taxa de juros entre reuniões do Copom). Base: `nivel` (padrão) correlaciona os valores; `variacao` correlaciona a mudança percentual de um ponto para o outro — prefira `variacao` quando as duas séries têm tendência (preço, índice, estoque), porque o nível de duas séries crescentes tem correlação alta só porque ambas crescem com o tempo. Retorna: `periodo`, `metodo`, `base`, `series`, `alinhamento` (datas cruzadas, completas e parciais), `pares` (cada um com codigoA/codigoB, `coeficiente` entre -1 e 1, `n`, `descartados` e `interpretacao` em prosa), `erros` e `derivacao`. Coeficiente que não pode ser calculado vem `null` com `motivo` — nunca 0, que significaria ausência medida de relação. Periodicidades diferentes são RECUSADAS, não avisadas: cruzar uma série diária com uma mensal por data casa só as datas coincidentes (cerca de 7 por ano) e produziria um coeficiente sobre esse punhado; informe `frequencia` para harmonizar todas na mesma grade antes de correlacionar. Correlação não estabelece causalidade. 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 r…

Input parameters:

- `agregacao` (string): Como agregar os valores de cada período quando `frequencia` é informada. `ultimo` (padrão) serve a nível de preço, taxa e índice; `soma` a fluxo; `acumulada` a séries que JÁ SÃO variação percentual (…
- `base` (string): `nivel` correlaciona os valores; `variacao` correlaciona a mudança percentual de um ponto para o seguinte. Prefira `variacao` quando as duas séries têm tendência: o nível de duas séries crescentes te…
- `codigos` (array, required): Array com 2 a 5 códigos de séries para correlacionar par a par
- `dataFinal` (string, required): Data final (yyyy-MM-dd ou dd/MM/yyyy)
- `dataInicial` (string, required): Data inicial (yyyy-MM-dd ou dd/MM/yyyy)
- `frequencia` (string): Opcional: reamostra a série para esta frequência antes de responder (só agrega para períodos MAIORES; pedir frequência mais fina que a da série é recusado). Útil para comparar séries de periodicidade…
- `metodo` (string): `pearson` mede relação linear entre os valores; `spearman` mede relação monótona entre os postos (com posto médio nos empates) e é o adequado quando a relação não é reta ou quando uma das séries fica…

Output parameters:

- `alinhamento` (object): Como as grades foram cruzadas. `completas` é o que efetivamente entra num coeficiente: datas em que TODAS as séries publicam. A distância entre `datas` e `completas` é a medida de quanto as séries nã…
- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `base` (string): Se o cálculo usou os valores ou as variações
- `derivacao` (object): Origem dos números calculados: o que é derivado, por qual motor e com quais convenções
- `erros` (array): Séries que não retornaram dados, com o motivo
- `harmonizacao` (object): Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
- `metodo` (string): Método aplicado
- `pares` (array): Um item por par de séries
- `periodo` (object): Janela temporal correlacionada
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `series` (array): Séries que entraram no cálculo

### `bcb_deflacionar` (~770 tokens)

Deflacionar série (valores reais)

Converte uma série NOMINAL do BCB em valores REAIS (moeda constante), descontando a inflação do período — a diferença entre 'o salário mínimo subiu 46% desde 2020' e 'o salário mínimo subiu 5% em poder de compra'. Quando usar: sempre que valores em reais de épocas diferentes forem comparados. Quando NÃO usar: para séries que já são percentuais, índices ou taxas (deflacionar uma taxa de juros não significa nada); para a série nominal crua use bcb_serie_valores. Índice: `ipca` (padrão), `inpc` ou `igpm`. Base: `mesBase` no formato yyyy-MM define em reais de que mês os valores são expressos; sem ele, usa o último mês publicado do índice ('em reais de hoje'). Retorna: `serie`, `deflator` (índice, código, cobertura), `base`, `periodo`, `dados` (cada ponto com valorNominal, `valorReal` e `fator`), `variacao` (a percentual nominal ao lado da real no mesmo período), `derivacao` e `avisos`. Limite da fonte: o SGS não publica número-índice, então o índice é reconstruído compondo as variações mensais — reconstrução conferida contra a própria fonte (diferença máxima de 0,0052 ponto percentual contra o acumulado oficial em 12 meses). Observação fora da cobertura do índice recebe `valorReal: null`, nunca um valor inventado; como o índice sai com defasagem, o mês corrente costuma cair nesse caso. 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:

- `agregacao` (string): Como agregar os valores de cada período quando `frequencia` é informada. `ultimo` (padrão) serve a nível de preço, taxa e índice; `soma` a fluxo; `acumulada` a séries que JÁ SÃO variação percentual (…
- `codigo` (number, required): Código da série NOMINAL a deflacionar (ex.: 1619 para salário mínimo)
- `dataFinal` (string, required): Data final (yyyy-MM-dd ou dd/MM/yyyy)
- `dataInicial` (string, required): Data inicial (yyyy-MM-dd ou dd/MM/yyyy)
- `frequencia` (string): Opcional: reamostra a série para esta frequência antes de responder (só agrega para períodos MAIORES; pedir frequência mais fina que a da série é recusado). Útil para comparar séries de periodicidade…
- `indice` (string): Índice de preços usado como deflator: IPCA (433), INPC (188) ou IGP-M (189)
- `mesBase` (string): Mês em cujos preços os valores serão expressos, no formato yyyy-MM. Sem ele, usa o último mês publicado do índice — isto é, 'em reais de hoje'.

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `avisos` (array): Ressalvas sobre cobertura do índice ou mês base substituído
- `base` (object): Mês em cujos preços os valores reais estão expressos
- `chunking` (object): Presente quando a consulta foi fatiada em várias requisições à origem, por causa do limite de 10 anos por janela em séries diárias. As fatias são fundidas e ordenadas antes de responder.
- `dados` (array): Observações com o valor publicado e o valor em moeda constante
- `deflator` (object): Índice de preços usado e o intervalo que ele cobre
- `derivacao` (object): Origem dos números calculados: o que é derivado, por qual motor e com quais convenções
- `harmonizacao` (object): Presente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
- `janelaAplicada` (object): Presente quando o período pedido estava aberto numa série diária e o servidor aplicou uma janela própria (a origem recusa janela aberta em série diária com HTTP 406).
- `periodo` (object)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `serie` (object): Identificação da série nominal
- `variacao` (object|null): Variação percentual do período em moeda corrente ao lado da variação em moeda constante — é a comparação que a tool existe para entregar. `null` quando há menos de duas observações deflacionadas.

### `bcb_focus_expectativas` (~753 tokens)

Expectativas de mercado (Focus)

Consulta as expectativas de mercado do boletim Focus para UM indicador, com o horizonte como parâmetro: mensal, trimestral, anual, inflação nos próximos 12 meses e nos próximos 24 meses. Devolve média, mediana, desvio padrão, mínimo, máximo e número de respondentes por data de coleta. Quando usar: para expectativa de IPCA, IGP-M, PIB, câmbio e afins em um mês, trimestre ou ano específico, ou para a inflação rolante. Quando NÃO usar: para expectativa de Selic por reunião do Copom use bcb_focus_selic; para o valor REALIZADO (não esperado) use bcb_serie_valores. Regras do contrato: `referencia` é obrigatória nos horizontes de calendário (mensal, trimestral, anual) e recusada nos rolantes; `suavizada` só vale nos rolantes; `top5: true` traz as expectativas das cinco instituições mais assertivas e existe nos cinco horizontes. Se não souber o texto exato do indicador ou da referência, chame bcb_focus_referencias primeiro — o conjunto de indicadores MUDA por horizonte, e pedir um indicador no horizonte em que a fonte não o publica é a causa mais comum de resposta vazia. Retorna: `indicador`, `horizonte`, `base` (consenso|top5), `filtro` (referencia, dataInicial, dataFinal, janelaPadrao, suavizada), `totalRegistros`, `expectativas` (array normalizado), `urlConsulta`, `consultadoEm` e, quando aplicável, `observacao`. Sem datas, a janela padrão é de 30 dias. Fonte: Expectativas de Mercado (Focus) do Banco Central do Brasil, via Olinda OData. O Focus é vintage por construção: `coletadoEm` é a data da coleta e `referencia` é o alvo da expectativa — a mesma referência aparece em muitas coletas, e é isso que permite ver a expectativa mudar no tempo. A contagem é feita do nosso lado porque a fonte ignora `$count`; e o filtro é obrigatório por construção porque consulta sem filtro não completa na origem. Microdados por instituição NÃO são expostos: a fonte desativou esse recurso por risco de quebra de confidencialidade.

Input parameters:

- `dataFinal` (string): Fim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
- `dataInicial` (string): Início da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.
- `horizonte` (string, required): mensal, trimestral e anual usam `referencia`; inflacao_12m e inflacao_24m são rolantes e não usam
- `indicador` (string, required): Indicador exatamente como a fonte publica (ex.: 'IPCA', 'IGP-M', 'PIB Total', 'Câmbio'). Veja bcb_focus_referencias.
- `limite` (number): Máximo de coletas a devolver (1-500, padrão 50)
- `referencia` (string): Alvo da expectativa: MM/yyyy (mensal), T/yyyy (trimestral) ou yyyy (anual). Obrigatória nesses três; proibida nos rolantes.
- `suavizada` (boolean): Só nos horizontes rolantes: série suavizada (true) ou não suavizada (false)
- `top5` (boolean): Expectativas do Top 5 (as cinco instituições mais assertivas) em vez do consenso; existe nos cinco horizontes

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `base` (string)
- `consultadoEm` (string): Timestamp ISO 8601 da consulta
- `expectativas` (array)
- `filtro` (object): Filtro efetivamente aplicado na origem; nulo onde o parâmetro não foi informado
- `horizonte` (string)
- `indicador` (string)
- `observacao` (string)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `totalRegistros` (number): Coletas encontradas (contagem client-side)
- `urlConsulta` (string): URL OData consultada, reproduzível no navegador

### `bcb_focus_selic` (~506 tokens)

Expectativas de Selic (Focus)

Consulta as expectativas de mercado do Focus para a taxa Selic, organizadas pela REUNIÃO do Copom (formato R1/2026 = 1ª reunião de 2026). Devolve média, mediana, desvio padrão, mínimo, máximo e número de respondentes por data de coleta. Quando usar: para 'o que o mercado espera da Selic na próxima reunião' ou a trajetória esperada de juros. Quando NÃO usar: para expectativa de Selic média de um ano civil use bcb_focus_expectativas com horizonte anual; para a Selic REALIZADA use bcb_serie_valores (códigos 432, 1178, 4390). É separada de bcb_focus_expectativas porque o eixo temporal é a reunião do Copom, não o calendário. Retorna: `base` (consenso|top5), `filtro`, `totalRegistros`, `expectativas` (com `referencia` = reunião), `urlConsulta`, `consultadoEm` e `observacaoEixo`. Sem datas, a janela padrão é de 30 dias. Fonte: Expectativas de Mercado (Focus) do Banco Central do Brasil, via Olinda OData. O Focus é vintage por construção: `coletadoEm` é a data da coleta e `referencia` é o alvo da expectativa — a mesma referência aparece em muitas coletas, e é isso que permite ver a expectativa mudar no tempo. A contagem é feita do nosso lado porque a fonte ignora `$count`; e o filtro é obrigatório por construção porque consulta sem filtro não completa na origem. Microdados por instituição NÃO são expostos: a fonte desativou esse recurso por risco de quebra de confidencialidade.

Input parameters:

- `dataFinal` (string): Fim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
- `dataInicial` (string): Início da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.
- `limite` (number): Máximo de coletas a devolver (1-500, padrão 50)
- `reuniao` (string): Reunião do Copom no formato R1/2026 (opcional; sem ela, todas as reuniões da janela)
- `top5` (boolean): Expectativas do Top 5 em vez do consenso

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `base` (string)
- `consultadoEm` (string)
- `expectativas` (array)
- `filtro` (object): Filtro efetivamente aplicado; `reuniao` é nula quando não foi informada
- `observacao` (string)
- `observacaoEixo` (string)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `totalRegistros` (number)
- `urlConsulta` (string)

### `bcb_focus_referencias` (~531 tokens)

Indicadores e referências do Focus

Lista, POR ESCOPO, os indicadores e as referências que o Focus efetivamente publica, para você usar o texto EXATO em bcb_focus_expectativas e em bcb_focus_selic. Escopo = os cinco horizontes de bcb_focus_expectativas mais 'selic', que não é horizonte: o eixo dela é a reunião do Copom, e quem a consome é bcb_focus_selic. Cada bloco diz em `tool` quem o consome. Quando usar: antes da primeira consulta ao Focus, ou quando uma consulta volta vazia — a causa mais comum não é o dado faltar, é o indicador não existir NAQUELE escopo (a fonte publica 9 indicadores no mensal e 26 no anual: 'PIB Total', por exemplo, não existe no mensal) ou a referência estar num formato diferente do publicado. Quando NÃO usar: para os valores das expectativas em si. Sem `escopo`, consulta os seis e devolve tudo; com `escopo`, consulta só aquele. Retorna: `escopos` (para cada um: `tool` que o consome, `formatoReferencia`, `exigeReferencia`, `temTop5`, `indicadores`, `referencias`, `urlConsulta` e `disponivel`), mais `indicadores` e `referencias` como união de todos, `janela`, `totalRegistros` e `consultadoEm`. Se algum escopo não responder, os demais voltam mesmo assim, com `falhas` preenchido. Fonte: Expectativas de Mercado (Focus) do Banco Central do Brasil, via Olinda OData. O Focus é vintage por construção: `coletadoEm` é a data da coleta e `referencia` é o alvo da expectativa — a mesma referência aparece em muitas coletas, e é isso que permite ver a expectativa mudar no tempo. A contagem é feita do nosso lado porque a fonte ignora `$count`; e o filtro é obrigatório por construção porque consulta sem filtro não completa na origem. Microdados por instituição NÃO são expostos: a fonte desativou esse recurso por risco de quebra de confidencialidade.

Input parameters:

- `escopo` (string): Restringe a descoberta a um escopo (opcional). 'selic' descobre as reuniões do Copom para bcb_focus_selic; os demais são os horizontes de bcb_focus_expectativas.
- `indicador` (string): Filtrar por um indicador específico, para ver em quais escopos ele existe (opcional)

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `consultadoEm` (string)
- `escopos` (array): Um bloco por escopo: regras do contrato mais o que a fonte publica nele
- `falhas` (array): Escopos que não responderam nesta consulta
- `filtro` (object): Filtro pedido; nulo onde o parâmetro não foi informado
- `indicadores` (array): União dos indicadores de todos os escopos consultados
- `janela` (object): Janela de coleta observada para montar as listas
- `observacao` (string)
- `observacaoFalhas` (string)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `referencias` (array): União das referências de todos os escopos consultados
- `totalRegistros` (number)

### `bcb_cambio_cotacao` (~513 tokens)

Cotação de câmbio (PTAX)

Consulta a cotação PTAX de uma moeda contra o real, em um dia específico ou num intervalo de datas. Padrão: dólar americano (USD). Devolve compra, venda, data/hora e tipo de boletim; para moedas não-dólar devolve também a paridade contra o USD, com a origem qualificada. Quando usar: para a cotação oficial de fechamento de um dia ou a série de um período curto. Quando NÃO usar: para a série histórica longa do dólar como série temporal do SGS use bcb_serie_valores (códigos 1 = livre venda, 3698 = PTAX venda, 3697 = PTAX compra, 3695 = PTAX média) — esta tool é a fonte primária do boletim, com compra e venda no mesmo registro; para descobrir o símbolo da moeda use bcb_cambio_moedas. Retorna: `moeda`, `periodo` (dataInicial, dataFinal, janelaPadrao), `totalRegistros`, `cotacoes`, `disclaimer`, `qualificacaoParidade` (só para moedas não-dólar), `urlConsulta`, `consultadoEm` e, quando aplicável, `observacao`. Sem datas, cobre os últimos 7 dias (para atravessar fim de semana e feriado). Fonte: PTAX / Cotações e boletins de câmbio do Banco Central do Brasil, via Olinda OData. A resposta repassa literalmente o disclaimer de responsabilidade do BCB, em `disclaimer`. Cotações existem só em dia útil com fechamento de câmbio. As paridades de moedas não-dólar vêm de agência de informação (Refinitiv), redistribuídas pelo BCB — não são apuradas pelo Banco Central.

Input parameters:

- `data` (string): Dia específico (yyyy-MM-dd ou dd/MM/yyyy). Não combine com dataInicial/dataFinal.
- `dataFinal` (string): Fim do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
- `dataInicial` (string): Início do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 7 dias antes do fim.
- `limite` (number): Máximo de boletins a devolver (1-1000, padrão 100)
- `moeda` (string): Símbolo da moeda (ex.: USD, EUR, GBP, JPY). Padrão: USD.

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `consultadoEm` (string)
- `cotacoes` (array)
- `disclaimer` (string): Disclaimer de responsabilidade do BCB, repassado literalmente
- `moeda` (string)
- `observacao` (string)
- `periodo` (object)
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)
- `qualificacaoParidade` (string): Qualificação da origem das paridades não-dólar
- `totalRegistros` (number)
- `urlConsulta` (string)

### `bcb_cambio_moedas` (~206 tokens)

Moedas com cotação no BCB

Lista as moedas com cotação publicada pelo Banco Central, com símbolo, nome e tipo, e aceita um termo para filtrar. Quando usar: para descobrir o símbolo correto antes de chamar bcb_cambio_cotacao (é a causa mais comum de cotação vazia). Quando NÃO usar: para valores de cotação. Retorna: `termo`, `totalMoedas`, `moedas` (simbolo, nome, tipo), `disclaimer`, `qualificacaoParidade`, `urlConsulta` e `consultadoEm`. Fonte: PTAX / Cotações e boletins de câmbio do Banco Central do Brasil, via Olinda OData. A resposta repassa literalmente o disclaimer de responsabilidade do BCB, em `disclaimer`. Cotações existem só em dia útil com fechamento de câmbio.

Input parameters:

- `termo` (string): Filtro por símbolo ou nome (ex.: 'EUR', 'libra'). Opcional.

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `consultadoEm` (string)
- `disclaimer` (string)
- `moedas` (array)
- `observacao` (string)
- `provenance` (object): Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença
- `qualificacaoParidade` (string)
- `termo` (string|null): Termo aplicado no filtro; nulo quando não foi informado
- `totalMoedas` (number)
- `urlConsulta` (string)

### `search` (~228 tokens)

Busca para Deep Research

Searches the Banco Central do Brasil time series (SGS: interest rates, inflation, exchange rates, credit, fiscal and external sector — the curated catalog plus the open data portal index) catalog and returns up to 10 matching documents as { id, title, url }, ordered by relevance (an empty list means nothing matched).

This tool exists for the OpenAI Deep Research contract: ChatGPT deep research, company knowledge and research workflows over the Responses API require exactly the tools `search` and `fetch`. Pass one of the returned ids to `fetch` to read the document.
For direct questions and for data (values, series, rankings) prefer the `bcb_*` tools, which return the actual data with provenance — this is a catalog index, not a data query.

Query: natural language or keywords, Portuguese or English; accents and case are ignored.

Behavior: read-only and idempotent — the catalog comes from the public source and is cached in memory.

Input parameters:

- `query` (string, required): Termos de busca em linguagem natural ou palavras-chave (acentos e caixa são ignorados)

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)
- `results` (array): Documentos encontrados, em ordem de relevância

### `fetch` (~175 tokens)

Documento para Deep Research

Returns the full document for an id obtained from `search`, as { id, title, text, url, metadata }: `text` is the readable content (Markdown) and `url` the canonical public page to cite.

Companion of `search` in the OpenAI Deep Research contract, over the Banco Central do Brasil time series (SGS: interest rates, inflation, exchange rates, credit, fiscal and external sector — the curated catalog plus the open data portal index) catalog. Only ids returned by `search` are valid; an unknown id returns an error.
The `bcb_*` tools remain the tools for data queries.

Behavior: read-only and idempotent — a live GET against the public source when the document needs it.

Input parameters:

- `id` (string, required): Identificador de um documento devolvido por `search`

Output parameters:

- `attribution` (array): URLs canônicas das fontes desta resposta (lista de atribuição)
- `id` (string): Identificador único do documento no servidor; é o que `fetch` recebe
- `metadata` (object): Pares chave/valor adicionais sobre o documento (tipo, fonte, período…)
- `provenance` (array): Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)
- `text` (string): Conteúdo integral do documento, legível (Markdown)
- `title` (string): Título legível do documento
- `url` (string): URL pública canônica do documento — a citação do ChatGPT depende dela

## Diagnostics

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

## Score history

- 2026-09-20: 82
- 2026-09-19: 81
- 2026-09-18: 81
- 2026-09-17: 80
- 2026-09-16: 80
- 2026-09-15: 80
- 2026-09-14: 79
- 2026-09-13: 79
- 2026-09-12: 78
- 2026-09-11: 78
- 2026-09-10: 77
- 2026-09-09: 77
- 2026-09-08: 76
- 2026-09-07: 76
- 2026-09-06: 75
- 2026-09-05: 75
- 2026-09-04: 74
- 2026-09-03: 74
- 2026-09-02: 69
- 2026-09-01: 69
- 2026-08-31: 68
- 2026-08-30: 68
- 2026-08-29: 67
- 2026-08-28: 67

## Common questions

### What is the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server?

Banco Central do Brasil (BCB) — SGS Time Series MCP Server is listed in the public MCP registry as io.github.SidneyBissoli/bcb-br-mcp. Banco Central do Brasil (BCB): SGS series, Focus expectations, PTAX, stats + provenance. 17 tools. This page covers its hosted endpoint (https://bcb.sidneybissoli.com/mcp).

### Is the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server safe to use?

Banco Central do Brasil (BCB) — SGS Time Series MCP Server scores 82 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server expose?

Banco Central do Brasil (BCB) — SGS Time Series MCP Server exposes 17 tools: bcb_serie_valores, bcb_serie_ultimos, bcb_serie_metadados, bcb_series_populares, bcb_buscar_serie, and 12 more. Their descriptions and schemas cost roughly 8,617 tokens of context every time the server is loaded.

### Does the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server require authentication?

No. We connected to Banco Central do Brasil (BCB) — SGS Time Series MCP Server without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Banco Central do Brasil (BCB) — SGS Time Series MCP Server server still maintained?

Banco Central do Brasil (BCB) — SGS Time Series MCP Server is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://bcb.sidneybissoli.com/mcp
- Repository: https://github.com/SidneyBissoli/bcb-br-mcp
- Website: https://bcb.sidneybissoli.com/
- Changelog RSS feed: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb.xml
- Changelog JSON feed: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb.json
- HTML version of this page: https://verifymcp.io/servers/sidneybissoli-bcb-br-mcp/bcb
