bcb-br-mcp 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,388 @@
1
+ # BCB BR MCP Server
2
+
3
+ [![npm version](https://badge.fury.io/js/bcb-br-mcp.svg)](https://www.npmjs.com/package/bcb-br-mcp)
4
+ [![npm downloads](https://img.shields.io/npm/dm/bcb-br-mcp.svg)](https://www.npmjs.com/package/bcb-br-mcp)
5
+ [![Smithery](https://img.shields.io/badge/Smithery-bcb--br--mcp-orange)](https://smithery.ai/server/@sidneybissoli/bcb-br-mcp)
6
+ [![MCP Registry](https://img.shields.io/badge/MCP-Registry-blue)](https://registry.modelcontextprotocol.io)
7
+ [![LobeHub](https://lobehub.com/badge/mcp/sidneybissoli-bcb-br-mcp)](https://lobehub.com/mcp/sidneybissoli-bcb-br-mcp)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+
10
+ [Read in English](README.md)
11
+
12
+ Servidor MCP (Model Context Protocol) para acesso às séries temporais do Banco Central do Brasil (SGS/BCB).
13
+
14
+ Permite consultar indicadores econômicos e financeiros como **Selic**, **IPCA**, **câmbio**, **PIB**, entre outros, diretamente em assistentes de IA como Claude.
15
+
16
+ ## Funcionalidades
17
+
18
+ - **Consulta de séries históricas** - Busca valores de séries por código com filtro de datas
19
+ - **Últimos valores** - Obtém os N valores mais recentes de uma série
20
+ - **Metadados** - Informações detalhadas sobre séries (periodicidade, fonte, etc.)
21
+ - **Catálogo de séries populares** - Lista de 150+ indicadores econômicos organizados em 12 categorias
22
+ - **Busca inteligente** - Encontra séries por termo de busca (com ou sem acentos)
23
+ - **Indicadores atuais** - Valores mais recentes dos principais indicadores econômicos
24
+ - **Cálculo de variação** - Variação percentual entre períodos com estatísticas
25
+ - **Comparação de séries** - Compara múltiplas séries no mesmo período
26
+
27
+ ## Ferramentas Disponíveis
28
+
29
+ | Ferramenta | Descrição |
30
+ |------------|-----------|
31
+ | `bcb_serie_valores` | Consulta valores de uma série por código e período |
32
+ | `bcb_serie_ultimos` | Obtém os últimos N valores de uma série |
33
+ | `bcb_serie_metadados` | Retorna informações/metadados de uma série |
34
+ | `bcb_series_populares` | Lista séries populares agrupadas por categoria |
35
+ | `bcb_buscar_serie` | Busca séries por nome ou descrição (aceita termos sem acento) |
36
+ | `bcb_indicadores_atuais` | Valores mais recentes: Selic, IPCA, Dólar, IBC-Br |
37
+ | `bcb_variacao` | Calcula variação percentual entre duas datas ou últimos N períodos |
38
+ | `bcb_comparar` | Compara 2 a 5 séries no mesmo período com ranking |
39
+
40
+ ## Instalação
41
+
42
+ ### Via Smithery (recomendado)
43
+
44
+ Acesse [bcb-br-mcp no Smithery](https://smithery.ai/server/@sidneybissoli/bcb-br-mcp) e siga as instruções de instalação para o seu cliente MCP.
45
+
46
+ ### Via URL (Claude.ai, Claude Desktop, qualquer cliente MCP)
47
+
48
+ Use o endpoint HTTP diretamente, sem instalar nada:
49
+
50
+ ```
51
+ https://bcb.sidneybissoli.workers.dev
52
+ ```
53
+
54
+ ### Via npx (Claude Desktop)
55
+
56
+ Adicione ao arquivo de configuração do Claude Desktop:
57
+
58
+ **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
59
+
60
+ **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
61
+
62
+ ```json
63
+ {
64
+ "mcpServers": {
65
+ "bcb-br": {
66
+ "command": "npx",
67
+ "args": ["-y", "bcb-br-mcp"]
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ ### Via instalação global
74
+
75
+ ```bash
76
+ npm install -g bcb-br-mcp
77
+ ```
78
+
79
+ ```json
80
+ {
81
+ "mcpServers": {
82
+ "bcb-br": {
83
+ "command": "bcb-br-mcp"
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ## Exemplos de Uso
90
+
91
+ ### Consultar a Selic atual
92
+
93
+ ```
94
+ Qual a taxa Selic atual?
95
+ → Usa bcb_indicadores_atuais
96
+ ```
97
+
98
+ ### Histórico do IPCA em 2024
99
+
100
+ ```
101
+ Mostre o IPCA mensal de 2024
102
+ → Usa bcb_serie_valores com código 433, dataInicial 2024-01-01, dataFinal 2024-12-31
103
+ ```
104
+
105
+ ### Listar indicadores de inflação
106
+
107
+ ```
108
+ Quais séries de inflação estão disponíveis?
109
+ → Usa bcb_series_populares com categoria "Inflação"
110
+ ```
111
+
112
+ ### Buscar séries sobre dólar
113
+
114
+ ```
115
+ Busque séries relacionadas ao dólar
116
+ → Usa bcb_buscar_serie com termo "dolar" (funciona mesmo sem acento)
117
+ ```
118
+
119
+ ### Calcular variação do dólar
120
+
121
+ ```
122
+ Qual foi a variação do dólar nos últimos 12 meses?
123
+ → Usa bcb_variacao com código 1 e periodos 12
124
+ ```
125
+
126
+ ### Comparar IPCA, IGP-M e INPC
127
+
128
+ ```
129
+ Compare IPCA, IGP-M e INPC em 2024
130
+ → Usa bcb_comparar com códigos [433, 189, 188], dataInicial 2024-01-01, dataFinal 2024-12-31
131
+ ```
132
+
133
+ ## Catálogo de Séries (150+)
134
+
135
+ O servidor inclui um catálogo com mais de 150 séries organizadas em 12 categorias.
136
+
137
+ ### Juros e Taxas
138
+
139
+ | Código | Descrição |
140
+ |--------|-----------|
141
+ | 11 | Taxa Selic acumulada no mês |
142
+ | 432 | Taxa Selic anualizada base 252 |
143
+ | 1178 | Taxa Selic - Meta definida pelo Copom |
144
+ | 12 | CDI diária |
145
+ | 4389 | CDI anualizada base 252 |
146
+ | 226 | Taxa Referencial (TR) - diária |
147
+ | 256 | Taxa de Juros de Longo Prazo (TJLP) |
148
+
149
+ ### Inflação (30+ séries)
150
+
151
+ | Código | Descrição |
152
+ |--------|-----------|
153
+ | 433 | IPCA - Variação mensal |
154
+ | 13522 | IPCA - Acumulado 12 meses |
155
+ | 7478 | IPCA-15 - Variação mensal |
156
+ | 188 | INPC - Variação mensal |
157
+ | 189 | IGP-M - Variação mensal |
158
+ | 190 | IGP-DI - Variação mensal |
159
+ | 7447 | IGP-10 - Variação mensal |
160
+ | 10841-10850 | IPCA por grupo (Alimentação, Habitação, Transportes, etc.) |
161
+ | 4449 | IPCA - Preços administrados |
162
+ | 11428 | IPCA - Preços livres |
163
+ | 16121-16122 | IPCA - Núcleos |
164
+
165
+ ### Câmbio (15+ séries)
166
+
167
+ | Código | Descrição |
168
+ |--------|-----------|
169
+ | 1 | Dólar americano (venda) |
170
+ | 10813 | Dólar americano (compra) |
171
+ | 3698/3697 | Dólar PTAX (venda/compra) |
172
+ | 21619/21620 | Euro (venda/compra) |
173
+ | 21623/21624 | Libra Esterlina (venda/compra) |
174
+ | 21621/21622 | Iene (venda/compra) |
175
+ | 21637/21638 | Peso Argentino (venda/compra) |
176
+ | 21639/21640 | Yuan Chinês (venda/compra) |
177
+
178
+ ### Atividade Econômica (25+ séries)
179
+
180
+ | Código | Descrição |
181
+ |--------|-----------|
182
+ | 4380 | PIB mensal (R$ milhões) |
183
+ | 4382 | PIB acumulado 12 meses (R$ milhões) |
184
+ | 4385 | PIB mensal em US$ |
185
+ | 7324 | PIB anual em US$ |
186
+ | 24363/24364 | IBC-Br (sem/com ajuste sazonal) |
187
+ | 29601-29606 | IBC-Br setorial (Agropecuária, Indústria, Serviços) |
188
+ | 22099 | PIB trimestral - Taxa de variação |
189
+ | 21859 | Produção industrial - Variação mensal |
190
+ | 21862 | Utilização da capacidade instalada |
191
+
192
+ ### Emprego (10+ séries)
193
+
194
+ | Código | Descrição |
195
+ |--------|-----------|
196
+ | 24369 | Taxa de desocupação - PNAD Contínua |
197
+ | 24370 | Taxa de participação na força de trabalho |
198
+ | 24380 | Rendimento médio real |
199
+ | 24381 | Massa de rendimento real |
200
+ | 28561 | CAGED - Saldo de empregos formais |
201
+
202
+ ### Fiscal (10+ séries)
203
+
204
+ | Código | Descrição |
205
+ |--------|-----------|
206
+ | 4503 | Dívida líquida do setor público (% PIB) |
207
+ | 4513 | Dívida bruta do governo geral (% PIB) |
208
+ | 4537 | Resultado primário (% PIB) |
209
+ | 4539 | Resultado nominal (% PIB) |
210
+ | 5364 | Receita total do governo central |
211
+
212
+ ### Setor Externo (15+ séries)
213
+
214
+ | Código | Descrição |
215
+ |--------|-----------|
216
+ | 3546 | Reservas internacionais - diário |
217
+ | 22707 | Balança comercial - Saldo mensal |
218
+ | 22708 | Exportação de bens - mensal |
219
+ | 22709 | Importação de bens - mensal |
220
+ | 22701 | Transações correntes - Saldo |
221
+ | 22846 | Investimento direto no país |
222
+ | 13690 | Dívida externa total |
223
+
224
+ ### Crédito (30+ séries)
225
+
226
+ | Código | Descrição |
227
+ |--------|-----------|
228
+ | 20539 | Saldo de crédito - Total |
229
+ | 20540/20541 | Saldo de crédito - PF/PJ |
230
+ | 20714 | Taxa média de juros - Total |
231
+ | 20749 | Taxa média - Aquisição de veículos |
232
+ | 20772 | Taxa média - Financiamento imobiliário |
233
+ | 20783 | Spread médio - Total |
234
+ | 21082 | Inadimplência - Total |
235
+ | 21128/21129 | Inadimplência - Cartão de crédito |
236
+
237
+ ### Agregados Monetários
238
+
239
+ | Código | Descrição |
240
+ |--------|-----------|
241
+ | 1788 | Base monetária |
242
+ | 27788-27791 | Meios de pagamento M1, M2, M3, M4 |
243
+ | 27815 | Multiplicador monetário |
244
+
245
+ ### Poupança
246
+
247
+ | Código | Descrição |
248
+ |--------|-----------|
249
+ | 25 | Poupança - Rendimento mensal |
250
+ | 195 | Poupança - Saldo total |
251
+ | 7165 | Poupança - Captação líquida |
252
+
253
+ ### Índices de Mercado
254
+
255
+ | Código | Descrição |
256
+ |--------|-----------|
257
+ | 12466 | IMA-B |
258
+ | 12467 | IMA-B5 |
259
+ | 12468 | IMA-B5+ |
260
+ | 7832 | Ibovespa mensal |
261
+
262
+ ### Expectativas (Focus)
263
+
264
+ | Código | Descrição |
265
+ |--------|-----------|
266
+ | 29033/29034 | Expectativa IPCA (ano corrente/próximo) |
267
+ | 29035/29036 | Expectativa Selic (ano corrente/próximo) |
268
+ | 29037/29038 | Expectativa PIB (ano corrente/próximo) |
269
+ | 29039/29040 | Expectativa Câmbio (ano corrente/próximo) |
270
+
271
+ ## Encontrar Outras Séries
272
+
273
+ O SGS possui mais de 18.000 séries temporais. Para encontrar o código de outras séries:
274
+
275
+ 1. Acesse o [Portal SGS do BCB](https://www3.bcb.gov.br/sgspub/)
276
+ 2. Use a busca para encontrar a série desejada
277
+ 3. Anote o código da série
278
+ 4. Use esse código nas ferramentas deste servidor
279
+
280
+ ## Características Técnicas
281
+
282
+ ### Robustez
283
+
284
+ - **Timeout**: 30 segundos por requisição (evita travamentos)
285
+ - **Retry automático**: 3 tentativas com backoff exponencial (1s, 2s, 4s)
286
+ - **Tratamento de erros**: Mensagens claras em português
287
+
288
+ ### Busca Inteligente
289
+
290
+ A ferramenta `bcb_buscar_serie` normaliza os termos de busca, permitindo encontrar séries mesmo sem acentos:
291
+
292
+ - `"inflacao"` → encontra "Inflação"
293
+ - `"cambio"` → encontra "Câmbio"
294
+ - `"credito"` → encontra "Crédito"
295
+
296
+ ## Desenvolvimento
297
+
298
+ ### Requisitos
299
+
300
+ - Node.js >= 18.0.0
301
+
302
+ ### Setup
303
+
304
+ ```bash
305
+ git clone https://github.com/SidneyBissoli/bcb-br-mcp.git
306
+ cd bcb-br-mcp
307
+ npm install
308
+ ```
309
+
310
+ ### Build
311
+
312
+ ```bash
313
+ npm run build
314
+ ```
315
+
316
+ ### Teste local
317
+
318
+ ```bash
319
+ npm run dev
320
+ ```
321
+
322
+ Ou use o MCP Inspector:
323
+
324
+ ```bash
325
+ npx @modelcontextprotocol/inspector npm run dev
326
+ ```
327
+
328
+ ## API do BCB
329
+
330
+ Este servidor utiliza a API pública do Banco Central do Brasil:
331
+
332
+ - **Endpoint base:** `https://api.bcb.gov.br/dados/serie/bcdata.sgs.{codigo}/dados`
333
+ - **Formato:** JSON
334
+ - **Autenticação:** Nenhuma (API pública)
335
+ - **Documentação:** [Dados Abertos BCB](https://dadosabertos.bcb.gov.br/)
336
+
337
+ ## Changelog
338
+
339
+ ### v1.2.0
340
+
341
+ - Endpoint HTTP via Cloudflare Workers (`https://bcb.sidneybissoli.workers.dev`)
342
+ - Publicado no Smithery.ai
343
+ - Refatoração: lógica das tools extraída para `src/tools.ts` (compartilhada entre stdio e HTTP)
344
+
345
+ ### v1.1.0
346
+
347
+ - ✨ Nova ferramenta `bcb_variacao` para cálculo de variação percentual
348
+ - ✨ Nova ferramenta `bcb_comparar` para comparação de múltiplas séries
349
+ - 🔧 Timeout de 30 segundos nas requisições
350
+ - 🔧 Retry automático com backoff exponencial (3 tentativas)
351
+ - 🔧 Busca normalizada (aceita termos sem acentos)
352
+ - 📊 Estatísticas adicionais (máximo, mínimo, média, amplitude)
353
+
354
+ ### v1.0.0
355
+
356
+ - 🎉 Lançamento inicial
357
+ - 6 ferramentas básicas
358
+ - Catálogo com 150+ séries
359
+
360
+ ## Contribuição
361
+
362
+ Contribuições são bem-vindas! Por favor:
363
+
364
+ 1. Faça um fork do repositório
365
+ 2. Crie uma branch para sua feature (`git checkout -b feature/nova-feature`)
366
+ 3. Commit suas mudanças (`git commit -m 'Adiciona nova feature'`)
367
+ 4. Push para a branch (`git push origin feature/nova-feature`)
368
+ 5. Abra um Pull Request
369
+
370
+ ## Licença
371
+
372
+ MIT - veja [LICENSE](LICENSE) para detalhes.
373
+
374
+ ## Autor
375
+
376
+ **Sidney da Silva Pereira Bissoli**
377
+
378
+ - GitHub: [@SidneyBissoli](https://github.com/SidneyBissoli)
379
+ - Email: sbissoli76@gmail.com
380
+
381
+ ## Links Úteis
382
+
383
+ - [Portal SGS BCB](https://www3.bcb.gov.br/sgspub/)
384
+ - [Dados Abertos BCB](https://dadosabertos.bcb.gov.br/)
385
+ - [Model Context Protocol](https://modelcontextprotocol.io/)
386
+ - [MCP Registry](https://registry.modelcontextprotocol.io/)
387
+ - [Smithery: bcb-br-mcp](https://smithery.ai/server/@sidneybissoli/bcb-br-mcp)
388
+ - [npm: bcb-br-mcp](https://www.npmjs.com/package/bcb-br-mcp)