BCB BR MCP

Servidor MCP para dados econômicos do Banco Central do Brasil (BCB) — Selic, IPCA, taxas de câmbio, PIB e mais de 150 séries temporais para agentes de IA

Documentação

Banco Central do Brasil (BCB) — Servidor MCP de Séries Temporais SGS

npm version npm downloads node MCP Registry LobeHub smithery badge GitHub stars GitHub Sponsors License: MIT AllMCPs Verified mcpindex

Leia em Português

Servidor MCP (Model Context Protocol) para o Banco Central do Brasil (BCB): séries temporais SGS (SGS/BCB), a pesquisa de expectativas de mercado Focus (servida pela API OData Olinda) e taxas de câmbio PTAX.

Consulte indicadores econômicos e financeiros como Selic (taxa de juros), IPCA (inflação), taxas de câmbio, PIB e muito mais, diretamente de assistentes de IA como Claude.

Se você achar este projeto útil, considere dar uma estrela no GitHub. Isso ajuda outras pessoas a descobrirem o projeto!

Recursos: 17 ferramentas (habilidades) · 3 recursos · 3 prompts — tudo o que um cliente MCP precisa para consultar o Banco Central do Brasil: séries temporais SGS/BCB, a pesquisa de expectativas de mercado Focus e taxas de câmbio PTAX.

Veja em ação

Pergunte ao seu assistente, em português simples:

  • "Qual a taxa Selic atual?" → bcb_indicadores_atuais
  • "Mostre o IPCA mês a mês em 2024." → bcb_serie_valores
  • "Qual foi a variação do dólar nos últimos 12 meses?" → bcb_variacao
  • "O que o mercado espera do IPCA em 2027?" → bcb_focus_expectativas
  • "Qual a Selic esperada na próxima reunião do Copom?" → bcb_focus_selic
  • "Qual foi a PTAX de fechamento do euro na sexta?" → bcb_cambio_cotacao

As respostas vêm ao vivo da API SGS do Banco Central do Brasil — números exatos com procedência, não valores adivinhados a partir de dados de treinamento.

Recursos

  • Dados históricos - Consulte valores de séries temporais por código com filtros de data
  • Valores mais recentes - Obtenha os N valores mais recentes de qualquer série
  • Metadados - Informações detalhadas sobre as séries (frequência, fonte, etc.)
  • Catálogo de séries populares - 135 indicadores econômicos verificados junto à fonte, organizados por categoria
  • Busca inteligente - Encontre séries por palavra-chave (insensível a acentos)
  • Indicadores atuais - Valores mais recentes dos principais indicadores econômicos
  • Períodos longos, resolvidos - A API do BCB limita séries diárias a uma janela de 10 anos (HTTP 406) e recusa janelas abertas; as solicitações são fatiadas, buscadas e mescladas automaticamente, então uma consulta diária de 15 anos simplesmente funciona
  • Harmonização de frequência - Reamostre uma série para mensal, trimestral ou anual com uma convenção explícita, incluindo composição geométrica para séries que já são variações percentuais (IPCA mensal em IPCA anual)
  • Cálculo de variação - Variação percentual entre períodos com estatísticas
  • Comparação de séries - Compare múltiplas séries no mesmo período, com um aviso quando as periodicidades diferem
  • Pesquisa Focus - Expectativas de mercado (média, mediana, desvio padrão, mínimo, máximo, respondentes) para IPCA, PIB, câmbio e mais, por horizonte mensal/trimestral/anual ou inflação móvel de 12/24 meses, além da Selic por reunião do Copom
  • Taxas de câmbio PTAX - Cotações oficiais de fechamento para qualquer moeda publicada pelo BCB, em um único dia ou intervalo de datas

📖 Artigo (em português): Séries do Banco Central: como consultar o SGS, a Focus e a PTAX sem cair nas armadilhas — os três limites da API medidos ao vivo, séries de nível vs. taxa, os escopos da Focus e o que a ODbL exige. Também publicado no site, em português e inglês: sidneybissoli.com.

Ferramentas Disponíveis

FerramentaDescrição
bcb_serie_valoresConsulta valores de séries por código e intervalo de datas; fatia janelas longas automaticamente e pode harmonizar a série para uma frequência mais grossa
bcb_serie_ultimosObtém os últimos N valores de uma série (qualquer N — o limite upstream de 20 é contornado)
bcb_serie_metadadosObtém metadados da série (nome, frequência, categoria, último valor)
bcb_series_popularesLista séries populares agrupadas por categoria
bcb_buscar_serieBusca séries por nome ou descrição (insensível a acentos, E entre palavras; palavras comuns resolvidas para a terminologia do BCB, e a resposta informa isso)
bcb_indicadores_atuaisValores mais recentes: Selic, IPCA, USD/BRL, IBC-Br
bcb_variacaoVariação percentual de uma série em um período: variação de nível para séries de nível, acumulação composta para séries que já são taxas período a período (IPCA, IGP-M, INPC…); analise.metodo informa qual
bcb_compararCompara 2 a 5 séries no mesmo período com classificação (mesma regra de nível/composição por série, declarada em metodo)
bcb_focus_expectativasExpectativas da pesquisa Focus para um indicador, horizonte como parâmetro (mensal, trimestral, anual, inflação móvel 12m/24m); flag top5
bcb_focus_selicExpectativas Focus para a taxa Selic, por reunião do Copom (formato R1/2026)
bcb_focus_referenciasQuais indicadores e datas de referência a pesquisa Focus realmente publica, detalhados por escopo (os cinco horizontes mais selic, cujo eixo é a reunião do Copom) — o conjunto de indicadores difere por escopo (9 mensais vs 26 anuais)
bcb_cambio_cotacaoCotação PTAX para uma moeda (USD por padrão), em um único dia ou intervalo de datas
bcb_cambio_moedasMoedas com cotações publicadas pelo BCB
searchContrato OpenAI Deep Research: busca no catálogo de séries (curado + índice do portal de dados abertos) e retorna { id, title, url } — veja ChatGPT (Deep Research)
fetchContrato OpenAI Deep Research: retorna uma série como documento legível com sua URL pública canônica

Recursos

Catálogos de referência que o servidor expõe como recursos MCP (dados contextuais somente leitura que os clientes podem anexar):

URIDescrição
bcb://series/popularesCatálogo de 135 séries econômicas verificadas do BCB, organizado por categoria (JSON)
bcb://series/categoriasLista de categorias disponíveis no catálogo de séries (JSON)
bcb://series/principaisCódigos dos indicadores mais usados — Selic, IPCA, USD/BRL, PIB, etc. (JSON)

Prompts

Modelos prontos que o servidor fornece como prompts MCP:

PromptDescrição
indicadores_atuaisConsulta os principais indicadores econômicos do Brasil (Selic, IPCA, USD/BRL, IBC-Br)
panorama_economicoGera uma visão geral completa da economia brasileira
comparar_inflacaoCompara os principais índices de inflação do Brasil (IPCA, IGP-M, INPC) nos últimos 12 meses

Instalação

Via Smithery (recomendado)

Visite bcb-br-mcp no Smithery e siga as instruções de instalação para o seu cliente MCP.

Via URL (Claude.ai, Claude Desktop, qualquer cliente MCP)

Use o endpoint HTTP diretamente, sem necessidade de instalação:

https://bcb.sidneybissoli.com/mcp

O hostname legado https://bcb.sidneybissoli.workers.dev continua funcionando, assim como a rota mais antiga POST / — clientes configurados antes do endpoint mudar para /mcp são reescritos de forma transparente, então nada que funcionava parou de funcionar. Novas configurações devem usar a URL acima.

Via npx (Claude Desktop)

Adicione ao arquivo de configuração do Claude Desktop:

Windows: %APPDATA%\Claude\claude_desktop_config.json

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

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

Via instalação global

npm install -g bcb-br-mcp
{
  "mcpServers": {
    "bcb-br": {
      "command": "bcb-br-mcp"
    }
  }
}

ChatGPT (Deep Research)

O deep research do ChatGPT (e conhecimento da empresa, e fluxos de trabalho de pesquisa via Responses API) só usa um servidor MCP que expõe exatamente search e fetch — este servidor expõe, além das bcb_* ferramentas. Aponte o conector para o endpoint hospedado, sem necessidade de chave:

https://bcb.sidneybissoli.com/mcp

search classifica a consulta contra o catálogo de séries — as 135 séries curadas mais as milhares indexadas do Portal de Dados Abertos — e retorna { id, title, url } (os ids são sgs:<code>); fetch retorna a série como Markdown legível (nome, categoria, frequência, unidade, último valor) com a URL pública canônica, que é o que o ChatGPT cita: a página do conjunto de dados em dadosabertos.bcb.gov.br quando a série tem uma, caso contrário a consulta pública SGS para suas observações mais recentes (o SGS não tem página por série). Ambos carregam o mesmo bloco de procedência que todas as outras ferramentas. No modo desenvolvedor do ChatGPT (Configurações → Segurança e login → Modo desenvolvedor), qualquer ferramenta pode ser chamada — as ferramentas bcb_* continuam sendo as recomendadas para dados.

Exemplos de Uso

Obter a taxa Selic atual

What is the current Selic interest rate?
→ Uses bcb_indicadores_atuais

Histórico do IPCA para 2024

Show me the monthly IPCA for 2024
→ Uses bcb_serie_valores with code 433, dataInicial 2024-01-01, dataFinal 2024-12-31

Listar indicadores de inflação

What inflation series are available?
→ Uses bcb_series_populares with category "Inflação"

Buscar séries de taxa de câmbio USD

Search for series related to the dollar
→ Uses bcb_buscar_serie with term "dolar" (works without accents)

Calcular variação USD/BRL

What was the USD/BRL variation over the last 12 months?
→ Uses bcb_variacao with code 1 and periodos 12

Comparar IPCA, IGP-M e INPC

Compare IPCA, IGP-M, and INPC in 2024
→ Uses bcb_comparar with codes [433, 189, 188], dataInicial 2024-01-01, dataFinal 2024-12-31

Catálogo de Séries (135)

O catálogo curado contém 135 séries, cada uma verificada junto à fonte em 2026-08-13 (4 séries descontinuadas da FGV foram removidas em 2026-08-23).

O campo fonteNome em cada entrada informa de onde vem o nome:

  • portal (82 séries) — o nome é transcrito do conjunto de dados da série no Portal de Dados Abertos do BCB, e unidade carrega a unidade de medida publicada.
  • medido (53 séries) — a série não tem conjunto de dados no portal, então o nome é herdado; o que foi verificado junto à fonte é sua periodicidade e ordem de grandeza.

A periodicidade é sempre a medida (a partir do espaçamento entre observações), nunca um rótulo herdado. Expectativas de mercado não estão aqui — use bcb_focus_expectativas.

Juros (14)

CódigoNomePeriodicidadeFonte do nome
11Taxa de juros - SelicDiáriaportal
432Taxa de juros - Meta Selic definida pelo CopomDiáriaportal
1178Taxa de juros - Selic anualizada base 252Diáriaportal
4189Taxa de juros - Selic acumulada no mês anualizada base 252Mensalportal
4390Taxa de juros - Selic acumulada no mêsMensalportal
12Taxa de juros - CDI diáriaDiáriamedido
4389Taxa de juros - CDI anualizada base 252Diáriamedido
4391Taxa de juros - CDI acumulada no mêsMensalmedido
4392Taxa de juros - CDI acumulada no mês anualizadaMensalmedido
226Taxa Referencial (TR) - diáriaDiáriamedido
7811Taxa Referencial (TR) - mensalMensalmedido
7812Taxa Referencial (TR) - anualizadaMensalmedido
256Taxa de Juros de Longo Prazo (TJLP)Mensalmedido
253Taxa de juros - CDB pré-fixado - 30 diasDiáriamedido

Inflação (28)

CódigoNomePeriodicidadeFonte do nome
433IPCA - Variação mensalMensalmedido
13522IPCA - Variação acumulada em 12 mesesMensalmedido
7478IPCA-15 - Variação mensalMensalmedido
10764IPCA-E - Variação mensalMensalmedido
16121Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo por exclusão - ex2Mensalportal
16122Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo de dupla ponderaçãoMensalportal
11426Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo médias aparadas sem suavizaçãoMensalportal
11427Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo por exclusão - Sem monitorados e alimentos no domicílioMensalportal
10841Índice de Preços ao Consumidor-Amplo (IPCA) - Bens não-duráveisMensalportal
10842Índice de Preços ao Consumidor-Amplo (IPCA) - Bens semi-duráveisMensalportal
10843Índice de Preços ao Consumidor-Amplo (IPCA) - DuráveisMensalportal
10844Índice de Preços ao Consumidor-Amplo (IPCA) - ServiçosMensalportal
4449Índice nacional de preços ao consumidor-Amplo (IPCA) - Preços monitorados - TotalMensalportal
11428Índice nacional de preços ao consumidor - Amplo (IPCA) - Itens livresMensalportal
188INPC - Variação mensalMensalmedido
189IGP-M - Variação mensalMensalmedido
7447IGP-10 - Variação mensalMensalmedido
7448IGP-M - 1ª préviaMensalmedido
7449IGP-M - 2ª préviaMensalmedido
190IGP-DI - Variação mensalMensalmedido
7450IPA-M - Variação mensalMensalmedido
225IPA-DI - Geral - Variação mensalMensalmedido
7459IPA-DI - Produtos industriaisMensalmedido
7460IPA-DI - Produtos agrícolasMensalmedido
191IPC-DI - Variação mensalMensalmedido
193IPC-Fipe - Variação mensalMensalmedido
17679IPC-3i - Variação mensalMensalmedido
17680IPC-C1 - Variação mensalMensalmedido

Câmbio (13)

CódigoNomePeriodicidadeFonte do nome
1Taxa de câmbio - Livre - Dólar americano (venda) - diárioDiáriaportal
10813Taxa de câmbio - Livre - Dólar americano (compra)Diáriaportal
3698Taxa de câmbio - PTAX - Dólar americano (venda)Mensalmedido
3697Taxa de câmbio - PTAX - Dólar americano (compra)Mensalmedido
3695Taxa de câmbio - PTAX - Dólar americano (média)Mensalmedido
21619Taxa de câmbio - Euro (venda)Diáriamedido
21620Taxa de câmbio - Euro (compra)Diáriamedido
21623Taxa de câmbio - Libra Esterlina (venda)Diáriamedido
21624Taxa de câmbio - Libra Esterlina (compra)Diáriamedido
21621Taxa de câmbio - Iene (venda)Diáriamedido
21622Taxa de câmbio - Iene (compra)Diáriamedido
21625Taxa de câmbio - Franco Suíço (venda)Diáriamedido
21626Taxa de câmbio - Franco Suíço (compra)Diáriamedido

Atividade Econômica (21)

CódigoNomePeriodicidadeFonte do nome
4380PIB mensal - Valores correntes (R$ milhões)Mensalmedido
4381PIB acumulado no ano - Valores correntes (R$ milhões)Mensalmedido
4382PIB acumulado dos últimos 12 meses - Valores correntes (R$ milhões)Mensalmedido
4385PIB mensal em US$ (milhões)Mensalmedido
4386PIB acumulado no ano em US$ (milhões)Mensalmedido
7324PIB anual em US$ (milhões)Anualmedido
24363Índice de Atividade Econômica do Banco Central - IBC-BrMensalportal
24364Índice de Atividade Econômica do Banco Central (IBC-Br) - com ajuste sazonalMensalportal
29601Índice de Atividade Econômica do Banco Central (IBC-Br) AgropecuáriaMensalportal
29602Índice de Atividade Econômica do Banco Central (IBC-Br) Agropecuária - com ajuste sazonalMensalportal
29603Índice de Atividade Econômica do Banco Central (IBC-Br) IndústriaMensalportal
29604Índice de Atividade Econômica do Banco Central (IBC-Br) Indústria - com ajuste sazonalMensalportal
29605Índice de Atividade Econômica do Banco Central (IBC-Br) ServiçosMensalportal
29606Índice de Atividade Econômica do Banco Central (IBC-Br) Serviços - com ajuste sazonalMensalportal
22103Exportação de bens e serviços - TrimestralTrimestralmedido
22104Importação de bens e serviços - TrimestralTrimestralmedido
22109Consumo das famílias - TrimestralTrimestralmedido
22110Consumo do governo - TrimestralTrimestralmedido
22111Formação bruta de capital fixo - TrimestralTrimestralmedido
21859Produção industrial - Geral - Variação mensalMensalmedido
21862Utilização da capacidade instalada - IndústriaMensalmedido

Emprego (4)

CódigoNomePeriodicidadeFonte do nome
24369Taxa de desocupação - PNAD ContínuaMensalmedido
24380Rendimento médio real habitual - Todos os trabalhosMensalmedido
24381Massa de rendimento real habitualMensalmedido
28561CAGED - Saldo de empregos formaisMensalmedido

Fiscal (7)

CódigoNomePeriodicidadeFonte do nome
4503Dívida Líquida do Setor Público (% PIB) - Total - Governo Federal e Banco CentralMensalportal
4513Dívida Líquida do Setor Público (% PIB) - Total - Setor público consolidadoMensalportal
4505Dívida Líquida do Setor Público (% PIB) - Total - Banco CentralMensalportal
4536Dívida líquida do governo geral (% PIB)Mensalportal
4537Dívida bruta do governo geral (% PIB) - Metodologia utilizada até 2007Mensalportal
5364Receita total do governo centralMensalmedido
5793NFSP sem desvalorização cambial (% PIB) - Fluxo acumulado em 12 meses - Resultado primário - Total - Setor público consolidadoMensalportal

Setor Externo (12)

CódigoNomePeriodicidadeFonte do nome
3546Reservas internacionais - Conceito liquidez - TotalMensalmedido
13621Reservas internacionais - Conceito caixa - Total - diáriaDiáriaportal
22707Balança comercial - Balanço de Pagamentos - mensal - saldoMensalportal
22708Exportação de bens - Balanço de Pagamentos - mensalMensalportal
22709Importação de bens - Balanço de Pagamentos - mensalMensalportal
22714Bens exportados sob merchanting - exportações positivas - mensalMensalportal
22701Transações correntes - mensal - saldoMensalportal
22704Balança comercial e Serviços - mensal - saldoMensalportal
22715Bens importados sob merchanting - exportações negativas - mensalMensalportal
22716Balança comercial - ouro não monetário - Balanço de Pagamentos - mensal - saldoMensalportal
22846Renda secundária - Demais setores - Transferências pessoais - mensal - receitaMensalportal
22885Investimentos diretos no país - IDP - mensal - líquidoMensalportal

Crédito (30)

CódigoNomePeriodicidadeFonte do nome
20539Saldo da carteira de crédito - TotalMensalportal
20540Saldo da carteira de crédito - Pessoas jurídicas - TotalMensalportal
20541Saldo da carteira de crédito - Pessoas físicas - TotalMensalportal
20542Saldo da carteira de crédito com recursos livres - TotalMensalportal
20570Saldo da carteira de crédito com recursos livres - Pessoas físicas - TotalMensalportal
20592Saldo da carteira de crédito com recursos livres - Pessoas físicas - Outros créditos livresMensalportal
20615Saldo da carteira de crédito com recursos direcionados - Pessoas físicas - Financiamento agroindustrial com recursos do BNDESMensalportal
20631Concessões de crédito - TotalMensalportal
20665Concessões de crédito com recursos livres - Pessoas físicas - Cheque especialMensalportal
20714Taxa média de juros das operações de crédito - TotalMensalportal
20716Taxa média de juros das operações de crédito - Pessoas físicas - TotalMensalportal
20740Taxa média de juros das operações de crédito com recursos livres - Pessoas físicas - TotalMensalportal
20749Taxa média de juros das operações de crédito com recursos livres - Pessoas físicas - Aquisição de veículosMensalportal
20772Taxa média de juros das operações de crédito com recursos direcionados - Pessoas físicas - Financiamento imobiliário com taxas de mercadoMensalportal
25497Taxa média mensal de juros das operações de crédito com recursos direcionados - Pessoas físicas - Financiamento imobiliário com taxas de mercadoMensalportal
20783Spread médio das operações de crédito - TotalMensalportal
20785Spread médio das operações de crédito - Pessoas físicas - TotalMensalportal
20786Spread médio das operações de crédito com recursos livres - TotalMensalportal
21082Inadimplência da carteira de crédito - TotalMensalportal
21084Inadimplência da carteira de crédito - Pessoas físicas - TotalMensalportal
21085Inadimplência da carteira de crédito com recursos livres - TotalMensalportal
21128Inadimplência da carteira de crédito com recursos livres - Pessoas físicas - Cartão de crédito parceladoMensalportal
21129Inadimplência da carteira de crédito com recursos livres - Pessoas físicas - Cartão de crédito totalMensalportal
13685Inadimplência da carteira de crédito das instituições financeiras sob controle privado - TotalMensalportal
29033Comprometimento de renda das famílias com juros da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF)Mensalportal
29034Comprometimento de renda das famílias com o serviço da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF)Mensalportal
29035Comprometimento de renda das famílias com o serviço da dívida com o Sistema Financeiro Nacional exceto crédito habitacional - Com ajuste sazonal (RNDBF)Mensalportal
29036Comprometimento de renda das famílias com amortização da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF)Mensalportal
29037Endividamento das famílias com o Sistema Financeiro Nacional em relação à renda acumulada dos últimos doze meses (RNDBF)Mensalportal
29038Endividamento das famílias com o Sistema Financeiro Nacional exceto crédito habitacional em relação à renda acumulada dos últimos 12 meses (RNDBF)Mensalportal

Agregados Monetários (8)

CódigoNomePeriodicidadeFonte do nome
1788BM - Base monetária restrita (saldo em final de período)Mensalportal
1833Base Monetária Ampliada (saldo em final de período)Mensalportal
27788Meios de pagamento - M1 (média dos dias úteis do mês) - NovoMensalportal
27789Meios de pagamento - Papel moeda em poder do público (saldo em final de período) - NovoMensalportal
27790Meios de pagamento - Depósitos à vista (saldo em final de período) - NovoMensalportal
27791Meios de pagamento - M1 (saldo em final de período) - NovoMensalportal
27815Meios de pagamento amplos - M4 (saldo em final de período) - NovoMensalportal
7530Comportamento monetário - Comportamento do público - CMensalportal

Poupança (2)

CódigoNomePeriodicidadeFonte do nome
25Depósitos de poupança até 03.05.2012 - Rentabilidade no períodoDiáriaportal
195Depósitos de poupança a partir de 04.05.2012 - Rentabilidade no períodoDiáriaportal

O catálogo completo legível por máquina é servido como o recurso bcb://series/populares e por bcb_series_populares. Milhares de outras séries são acessíveis por meio de bcb_buscar_serie, que também consulta o índice do Portal de Dados Abertos do BCB.

Encontrando Outras Séries

O banco de dados SGS contém mais de 18.000 séries temporais. Para encontrar códigos de outras séries:

  1. Visite o Portal SGS do BCB
  2. Pesquise a série desejada
  3. Anote o código da série
  4. Use esse código com as ferramentas deste servidor

Pergunte com suas palavras, não com as do BCB

bcb_buscar_serie combina suas palavras, todas elas (E), com o catálogo curado (135 séries: nome e categoria) e com os slugs de conjuntos de dados do portal de dados abertos do BCB (3.579 séries identificadas por código). Acentos já eram ignorados; a palavra não era. Medido em ambas as camadas em 16/09/2026, corrigido desde a versão 1.12.0: a palavra do dia a dia é expandida para a palavra do próprio BCB, e a resposta informa isso em notasVocabulario; resultados zero vêm com uma saída.

você perguntaresultados antes (curado / portal)o BCB escreveresultados
déficit, superávit0 / 0resultado primário, resultado nominal1 / 26, 0 / 22
calote0 / 0inadimplência6 / 484
juros básicos0 / 0Selic5 / 7
desemprego0 / 0desocupação1 / 0
arrecadação, gasto0 / 0receita, despesa2 / 8, 0 / 8
investimento estrangeiro0 / 0investimento direto1 / 12
conta corrente0 / 0transações correntes1 / 5

Apenas pares medidos entram na tabela (src/vocabulario.ts): a palavra que você usa ausente em ambas as camadas, a palavra do BCB presente. O que o BCB não publica sob nenhum desses nomes fica de fora e ainda retorna zero — salário mínimo, ibovespa, bitcoin, meta de inflação — porque um alias para uma série que não existe promete o que a fonte não tem; e empréstimo não é mapeado para crédito de propósito (o portal já responde com 45 conjuntos de dados; o mapeamento os afogaria em 2.000). A mesma tabela alimenta o índice de Deep Research search.

Detalhes Técnicos

Robustez

  • Tempo limite: 30 segundos por solicitação (evita travamentos)
  • Repetição automática: 3 tentativas com backoff exponencial (1s, 2s, 4s) para falhas transitórias; erros de cliente (4xx) não são repetidos, pois são determinísticos
  • Tratamento de erros: Mensagens de erro claras

Contornando os limites do SGS

Medido contra a API ao vivo, não inferido da documentação:

  • Uma janela de datas acima de 10 anos em uma série diária é recusada com HTTP 406, assim como uma janela aberta (sem dataInicial, ou sem datas). O limite se aplica à janela implícita: sem dataFinal, a API assume hoje. As solicitações são divididas em janelas de até 3 anos, buscadas com concorrência limitada e mescladas em ordem de data sem duplicar as emendas; a resposta informa isso em chunking. A fatia é de 3 anos em vez dos 10 permitidos porque uma janela diária de 10 anos custa 10–20 s a montante e pode ser cortada em torno de 30 s.
  • dados/ultimos/N é limitado a 20 pela API, em todas as periodicidades. Acima de 20, o servidor infere a periodicidade da série e busca por janela de datas.
  • Não há endpoint de metadados por série (/metadados responde 404). A frequência é inferida do espaçamento das observações e sinalizada com periodicidadeInferida; a unidade de medida não está disponível em nenhuma fonte.

Valores derivados

Qualquer coisa que este servidor calcula — variação, estatísticas descritivas, séries harmonizadas — é marcada com derived: true e traz uma nota com as convenções usadas. As estatísticas vêm de @sbissoli/mcp-stats. Um valor publicado pelo BCB é sempre retornado literalmente; apenas valores calculados são arredondados (para 4 casas decimais).

Busca Inteligente

bcb_buscar_serie pesquisa duas camadas: o catálogo curado de 135 séries verificadas (que classifica primeiro, com a fonte do nome declarada) e o índice do Portal de Dados Abertos do BCB, com milhares de séries identificadas por código. Os termos são insensíveis a acentos e maiúsculas/minúsculas, e vários termos são combinados com E:

  • "inflacao" → encontra "Inflação"
  • "cambio" → encontra "Câmbio"
  • "ipca servicos" → ambos os termos devem corresponder

O índice do portal é servido a partir de um cache de 24 horas, renovado pela primeira busca após expirar (uma solicitação ao portal, apenas metadados — códigos e nomes de séries, nunca observações). Cada resposta traz catalogo.cobertura: o índice não é o SGS inteiro, então não encontrar uma série aqui não é prova de que ela não existe.

Fonte de dados e licença

Dados obtidos do Banco Central do Brasil (SGS / Olinda-Expectativas / PTAX), publicados sob a Open Data Commons Open Database License (ODbL) v1.0 — https://opendatacommons.org/licenses/odbl/1-0/. Re-verificado contra a fonte em 13/08/2026: 4.259 dos 4.260 conjuntos de dados do portal declaram license_id: "odc-odbl". Esta não é CC0, CC BY ou domínio público — a ODbL traz atribuição, compartilhamento pela mesma licença (em bancos de dados derivados) e cláusulas anti-DRM. As respostas de taxa de câmbio passam pelo aviso de responsabilidade do próprio BCB literalmente; as paridades entre moedas não são compiladas pelo BCB — elas vêm de uma agência de informações (Refinitiv) e são redistribuídas pelo BCB, e as ferramentas informam isso.

O código do próprio servidor é MIT; os dados não são. Veja NOTICE.md. Privacidade: nenhum dado do usuário é registrado, por nenhum canal — veja PRIVACY.md.

Bloco de proveniência

Toda resposta bem-sucedida de ferramenta traz um bloco de proveniência (contrato de portfólio v1.0) em dois canais: structuredContent.provenance + attribution (visível ao modelo) e um espelho _meta sob br.com.sidneybissoli.bcb/* (fora de banda, zero tokens). Cada bloco nomeia a fonte, a URL canônica que reproduz a consulta, a safra dos dados, o instante real de extração a montante e a licença.

Dois detalhes fáceis de errar e tratados aqui:

  • retrieved_at é o instante real de extração, não "agora". O índice do portal é servido a partir de um cache de 24 horas, então uma busca respondida do cache informa o instante em que o índice foi realmente buscado — que pode ter um dia, e é a data legalmente relevante.
  • Um bloco por proveniência, nunca mesclado. bcb_buscar_serie separa o índice do portal do BCB do catálogo curado do próprio servidor; bcb_serie_metadados separa a leitura ao vivo do SGS do catálogo; bcb_cambio_cotacao separa as taxas de dólar compiladas pelo BCB das paridades entre moedas de fonte de agência.

Desenvolvimento

Requisitos

  • Node.js >= 18.0.0

Configuração

git clone https://github.com/SidneyBissoli/bcb-br-mcp.git
cd bcb-br-mcp
npm install

Build

npm run build

Teste local (stdio)

npm run dev

Teste local (worker HTTP)

npm run dev:worker

Ou use o MCP Inspector:

npx @modelcontextprotocol/inspector npm run dev

API do BCB

Este servidor usa a API pública do Banco Central do Brasil:

  • Endpoint base: https://api.bcb.gov.br/dados/serie/bcdata.sgs.{code}/dados
  • Formato: JSON
  • Autenticação: Nenhuma (API pública)
  • Documentação: Dados Abertos do BCB

Histórico de versões

v1.4.1

  • bcb_focus_referencias: o parâmetro agora é escopo, não horizonte, e o array de resposta é escopos. Os escopos são os cinco horizontes de bcb_focus_expectativas mais selic — e selic não é um horizonte: seu eixo é a reunião do Copom. Cada bloco nomeia o tool que o consome. O nome anterior implicava que selic era um horizonte consultável de bcb_focus_expectativas, o que não é. Nunca foi publicado no npm sob o nome antigo.

v1.4.0

  • Três APIs sob um único contrato, 8 ferramentas → 13. Foco na pesquisa de expectativas de mercado (bcb_focus_expectativas, bcb_focus_selic, bcb_focus_referencias) e nas taxas de câmbio PTAX (bcb_cambio_cotacao, bcb_cambio_moedas), consolidadas por parâmetro em vez de espelhar os ~18 recursos OData da fonte.
  • Busca real. bcb_buscar_serie agora consulta o índice do Portal de Dados Abertos (mais de 3.500 séries, cache de 24 horas, apenas metadados) além do catálogo curado, e informa a cobertura do índice em vez de afirmar que uma série não existe.
  • Cada nome de campo do Focus e da PTAX foi verificado contra a API ao vivo, incluindo o recurso Top 5 Selic, que publica seus campos em um formato de caixa diferente dos outros doze.
  • Obrigações da ODbL incluídas nas ferramentas de taxa de câmbio: o aviso legal do BCB é repassado integralmente, e as paridades não-USD são qualificadas como dados de terceiros (Refinitiv) redistribuídos pelo BCB.

v1.2.0

  • Endpoint HTTP via Cloudflare Workers (https://bcb.sidneybissoli.workers.dev)
  • Publicado no Smithery.ai
  • Refatorado: a lógica das ferramentas foi extraída para src/tools.ts (compartilhada entre stdio e HTTP)

v1.1.0

  • Nova ferramenta bcb_variacao para cálculo de variação percentual
  • Nova ferramenta bcb_comparar para comparar múltiplas séries
  • Timeout de 30 segundos nas requisições
  • Nova tentativa automática com backoff exponencial (3 tentativas)
  • Busca normalizada (insensível a acentos)
  • Estatísticas adicionais (máximo, mínimo, média, amplitude)

v1.0.0

  • Lançamento inicial
  • 6 ferramentas básicas
  • Catálogo com 135 séries verificadas

Contribuindo

Contribuições são bem-vindas! Por favor:

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/new-feature)
  3. Faça commit das suas alterações (git commit -m 'Add new feature')
  4. Envie para o branch (git push origin feature/new-feature)
  5. Abra um Pull Request

Licença

Duas licenças, e elas não são a mesma coisa.

  • Código: MIT — veja LICENSE.
  • Dados: do Banco Central do Brasil, sob a Open Data Commons Open Database License (ODbL) v1.0 — https://opendatacommons.org/licenses/odbl/1-0/. Não é CC0, não é CC BY, não é domínio público: a ODbL exige atribuição, tem uma cláusula de compartilhamento pela mesma licença em bancos de dados derivados e uma cláusula anti-DRM.

Toda resposta bem-sucedida traz um bloco de proveniência com a fonte, a URL da consulta, a data dos dados, o instante real da extração e a licença. Respostas de taxa de câmbio repassam o aviso legal do BCB integralmente, e paridades não-USD são qualificadas como dados de agência de informação (Refinitiv) redistribuídos pelo BCB — não como dados compilados pelo Banco Central.

Detalhes e obrigações em NOTICE.md. Privacidade: nenhum dado do usuário é registrado, por nenhum dos canais — veja PRIVACY.md.

Autor

Sidney da Silva Pereira Bissoli

Links Úteis