Skip to main content
Glama

Banco Central do Brasil (BCB) — SGS Time Series MCP Server

Server Details

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

Ownership verified
Status
Healthy
Uptime
100.0% over 53 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
SidneyBissoli/bcb-br-mcp
GitHub Stars
10
Server Listing
Banco Central do Brasil (BCB) — SGS MCP

TDQS

A4.5/5.0

Scored across 17 tools

Disambiguation4/5

Descriptions are exceptionally explicit with 'Quando usar / Quando NÃO usar' cross-references between nearly every tool, so serie_valores vs serie_ultimos vs variacao vs comparar are clearly delineated. The one real overlap is search/bcb_buscar_serie, which both search the same catalog (one for the Deep Research contract, one for series discovery), creating a minor selection ambiguity.

Naming Consistency4/5

All domain tools share the bcb_ prefix in snake_case, which is a strong, predictable anchor. However, inside the prefix conventions mix: some are verb-first (bcb_buscar_serie, bcb_comparar, bcb_deflacionar) and others noun-first (bcb_serie_valores, bcb_cambio_cotacao, bcb_focus_expectativas), and the two contract tools (search, fetch) drop the prefix entirely.

Tool Count4/5

17 tools is at the upper end but justified by covering four distinct sources (SGS series, Focus expectations, PTAX exchange, derived analytics) plus the mandatory Deep Research search/fetch pair. Each tool has a specific role; slightly heavy but not padded.

Completeness5/5

Full lifecycle is covered: discovery (buscar_serie, series_populares, focus_referencias), metadata, raw values, recent values, variation, multi-series comparison, correlation, deflation, and current snapshot, across SGS, Focus and PTAX. Read-only source means no write tools are expected, so there are no obvious gaps.

Available Tools

17 tools
bcb_buscar_serieBuscar série no catálogoA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
termoYesTermo 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, calote→inadimplência, desemprego→desocupação) e a resposta diz quando isso aconteceu (notasVocabulario).
limiteNoMáximo de séries a devolver (1-100, padrão: 20). `totalEncontradas` traz o total antes do corte.

Output Schema

NameRequiredDescription
termoYesTermo pesquisado
avisosNoAvisos de degradação (índice vencido ou indisponível)
seriesYesSéries que correspondem ao termo — as do catálogo curado primeiro
catalogoYesProveniência do índice usado na busca
mensagemNoMensagem exibida quando nada é encontrado
sugestaoNoSugestões de termos alternativos
observacaoNoAviso de corte quando há mais resultados que `limite`
provenanceYesUm bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
notasVocabularioNoQuando um termo foi ampliado para a palavra que o BCB usa (déficit→resultado primário), diz qual
totalEncontradasYesQuantidade de séries encontradas, antes do corte por `limite`

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although annotations already declare readOnly/openWorld/idempotent/non-destructive, the description goes well beyond them: 24h cache behaviour, one renewal request after expiry, no network on other searches, graceful degradation to the curated catalog when the portal is down, and the explicit coverage caveat that the index is not the whole SGS. This is exactly the kind of context structured fields cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but well front-loaded (purpose first, then usage, returns, coverage, network), with clear labelled sections. Some redundancy in enumerating return fields and warnings/output that arguably duplicate the output schema, which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-source search tool with an output schema present, the description covers purpose, alternatives, network/caching behaviour, failure degradation, and the critical coverage limitation that 'not found' does not prove non-existence. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description adds value by explaining cross-parameter behaviour (accents/case ignored, multi-term AND combination, everyday-word translation to BCB vocabulary) and the fonteNome semantics of curated names. It still overlaps with what the schema already says about 'termo', so it stops short of 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Busca) + resource (séries do BCB) and describes the two-layer mechanism (curated local catalog vs. open-data index). It explicitly distinguishes itself from siblings bcb_series_populares and bcb_serie_valores, so an agent can route without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Has explicit 'Quando usar' (to discover a series code before fetching values) and 'Quando NÃO usar' clauses that name the two alternative tools and the conditions selecting them. Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_cambio_cotacaoCotação de câmbio (PTAX)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
dataNoDia específico (yyyy-MM-dd ou dd/MM/yyyy). Não combine com dataInicial/dataFinal.
moedaNoSímbolo da moeda (ex.: USD, EUR, GBP, JPY). Padrão: USD.USD
limiteNoMáximo de boletins a devolver (1-1000, padrão 100)
dataFinalNoFim do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
dataInicialNoInício do intervalo (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 7 dias antes do fim.

Output Schema

NameRequiredDescription
moedaYesSímbolo da moeda consultada, em maiúsculas
periodoYesIntervalo consultado; num dia específico, início e fim são o mesmo dia
cotacoesYesBoletins de cotação, do mais recente para o mais antigo, até `limite`
disclaimerYesDisclaimer de responsabilidade do BCB, repassado literalmente
observacaoNoPresente quando `cotacoes` foi cortado por `limite` ou quando o intervalo voltou vazio, com o que fazer
provenanceYesUm bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
urlConsultaYesURL OData consultada, reproduzível no navegador
consultadoEmYesTimestamp ISO 8601 da consulta
totalRegistrosYesBoletins encontrados no intervalo, antes do corte por `limite`
qualificacaoParidadeNoQualificação da origem das paridades não-dólar

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, but the description adds substantial context: quotes exist only on business days with FX close, non-dollar parities come from Refinitiv via BCB rather than BCB calculation, the BCB disclaimer is passed through literally, and the default window covers 7 days to cross weekends and holidays. These are meaningful behavioral details beyond the structured annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well organized and front-loads purpose, defaults, usage, and caveats. It is somewhat long and includes a return-field enumeration even though an output schema exists, and it repeats schema defaults, but the content generally earns its place for a complex official-data tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the rich annotations, full schema coverage, and existing output schema, the description is complete enough to call the tool correctly. It covers the official source, business-day limitation, default 7-day window, sibling-tool routing, and the non-dollar parity caveat.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3; the description reinforces the USD default and explains that no dates means the last 7 days to cross weekends and holidays. It does not add syntax or meaning beyond the schema for the other parameters, and limite is not discussed in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: consulting the PTAX quote for a currency against the real, either for a specific day or a date range. It explicitly distinguishes itself from bcb_serie_valores and bcb_cambio_moedas, so an agent can tell exactly what this tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit 'Quando usar' and 'Quando NÃO usar' guidance, naming the alternatives bcb_serie_valores and bcb_cambio_moedas and the exact conditions that select them. This is about as clear as routing guidance gets.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_cambio_moedasMoedas com cotação no BCBA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
termoNoFiltro por símbolo ou nome (ex.: 'EUR', 'libra'). Opcional.

Output Schema

NameRequiredDescription
termoNoTermo aplicado no filtro; nulo quando não foi informado
moedasYesMoedas com cotação publicada pelo BCB
disclaimerYesDisclaimer de responsabilidade do BCB, repassado literalmente
observacaoNoLembrete de usar o `simbolo` em bcb_cambio_cotacao
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
totalMoedasYesMoedas na lista, depois do filtro por `termo`
urlConsultaYesURL OData consultada, reproduzível no navegador
consultadoEmYesTimestamp ISO 8601 da consulta
qualificacaoParidadeNoQualificação da origem das paridades não-dólar

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld and non-destructive, so safety is covered. The description adds real context beyond them: the PTAX/Olinda OData source, that the BCB disclaimer is passed through verbatim in `disclaimer`, and the business rule that cotações only exist on business days with closing — useful for interpreting empty results. No auth/rate-limit details, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then clearly labeled Quando usar / Quando NÃO usar / Retorna / Fonte. Slightly long — the enumerated return fields duplicate the output schema — but each labeled block serves a distinct decision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, yet the description still names the key return fields and the disclaimer caveat, and it explains the source and the business-day constraint. Nothing an agent needs to call this correctly or interpret an empty list is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single `termo` parameter is already documented with the same examples ('EUR', 'libra'). The description only restates that a term filters, adding no syntax or matching-behavior detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Lista' plus precise resource ('moedas com cotação publicada pelo Banco Central'), including the returned fields (símbolo, nome, tipo) and the filtering capability. It also explicitly positions itself against the sibling bcb_cambio_cotacao, so the agent can differentiate without reading the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Quando usar' (descobrir o símbolo correto antes de bcb_cambio_cotacao, atribuindo a cotação vazia a símbolo errado) and 'Quando NÃO usar' (para valores de cotação). This is the strongest form: positive condition, negative condition, and the named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_compararComparar sériesA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
codigosYesArray com 2 a 5 códigos de séries para comparar
agregacaoNoComo 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 (IPCA mensal, por exemplo), compondo geometricamente — somar 12 variações mensais NÃO dá a inflação do ano.ultimo
dataFinalYesData final (yyyy-MM-dd ou dd/MM/yyyy)
frequenciaNoOpcional: 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 periodicidades diferentes.
dataInicialYesData inicial (yyyy-MM-dd ou dd/MM/yyyy)

Output Schema

NameRequiredDescription
avisoNoPresente 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.
errosYesSéries que não retornaram dados, com o motivo
periodoYesJanela temporal comparada
rankingYesSéries ordenadas pela variação percentual (maior para menor)
derivacaoYesOrigem dos números calculados: o que é derivado, por qual motor e com quais convenções
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
totalSeriesYesQuantidade de séries solicitadas
harmonizacaoNoPresente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
seriesComErroYesQuantidade de séries sem dados ou com erro
seriesComDadosYesQuantidade de séries com dados no período

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent/openWorld annotations: discloses no auth requirement, best-effort rate postura, automatic retry (3 tentativas, backoff exponencial), 10-year API slicing, isolation of failing/moving-average series into `erros`, an `aviso` on incomparable frequencies, and HTTP 404 semantics. This is exactly the extra context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose, scope limit and method distinction in the first two sentences, then moves to usage, return shape and resilience in a sensible order. It is dense and somewhat long for a single paragraph block, but nearly every sentence carries information an agent could act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers the full lifecycle an agent needs: required inputs, method selection, frequency harmonization, failure isolation, retry/timeout behavior, error codes and output format. Although an output schema exists, the enumerated return fields and the dd/MM/yyyy / decimal-point conventions add useful compatibility detail rather than noise.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it explains that `metodo` differs per series type (ponta vs. acumulado encadeado) and that `agregacao: acumulada` composes geometrically because summing 12 monthly variations is wrong. The `frequencia` resampling constraint (only to coarser periods) is also clarified in prose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (comparar), a bounded resource (2 a 5 séries temporais no mesmo período) and the exact output shape (variação percentual + ranking). It explicitly distinguishes itself from the sibling bcb_variacao for single-series use and gives a natural-language example query ('qual índice de preço subiu mais em 2024') that removes ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains explicit 'Quando usar' and 'Quando NÃO usar' sections, naming bcb_variacao as the alternative for a single series. It also gives conditional guidance on harmonizing different periodicities via `frequencia`/`agregacao`, which tells the agent when to reach for the extra parameters.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_correlacaoCorrelacionar sériesA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
baseNo`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 tem correlação alta só porque ambas crescem com o tempo.nivel
metodoNo`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 parada em platôs, como a Selic entre reuniões do Copom.pearson
codigosYesArray com 2 a 5 códigos de séries para correlacionar par a par
agregacaoNoComo 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 (IPCA mensal, por exemplo), compondo geometricamente — somar 12 variações mensais NÃO dá a inflação do ano.ultimo
dataFinalYesData final (yyyy-MM-dd ou dd/MM/yyyy)
frequenciaNoOpcional: 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 periodicidades diferentes.
dataInicialYesData inicial (yyyy-MM-dd ou dd/MM/yyyy)

Output Schema

NameRequiredDescription
baseYesSe o cálculo usou os valores ou as variações
errosYesSéries que não retornaram dados, com o motivo
paresYesUm item por par de séries
metodoYesMétodo aplicado
seriesYesSéries que entraram no cálculo
periodoYesJanela temporal correlacionada
derivacaoYesOrigem dos números calculados: o que é derivado, por qual motor e com quais convenções
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
alinhamentoYesComo 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ão se sobrepõem.
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
harmonizacaoNoPresente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), yet the description adds substantial context beyond them: no auth or documented rate limit, automatic retry up to 3 attempts with exponential backoff, HTTP 404 meaning, and differing periodicities being refused rather than silently warned. It also discloses a key semantic contract — an uncomputable coefficient returns null with motivo, never 0.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the one-line purpose, then usage, then semantics, then behavior — a sensible order. It is long, and the pearson/spearman and nivel/variacao explanations are repeated almost verbatim from the schema descriptions, so a little trimming is warranted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter statistical tool with an output schema, the description covers the divergence risks an agent would otherwise hit: mixed frequencies, trending series inflating level correlation, null-vs-zero coefficients, and the explicit caveat that correlation is not causation. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline would be 3; the description earns above that by tying parameters together operationally — the same-period requirement on dataInicial/dataFinal, and frequencia as the harmonization lever that must be supplied to avoid a ~7-point-per-year spurious match. It largely restates the metodo/base prose already present in the schema fields, which caps it below 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope: computes pairwise correlation between 2-5 BCB time series over the same period. It explicitly names the sibling tools it is not (bcb_comparar for side-by-side variation, bcb_variacao for a single series), so an agent can route without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Has explicit 'Quando usar' with concrete examples (dólar/Selic, IPCA/IGP-M) and an explicit 'Quando NÃO usar' that names the two alternatives and the condition selecting each. It also gives selection guidance between pearson/spearman and nivel/variacao, which is the real decision an agent faces.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_deflacionarDeflacionar série (valores reais)A
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
codigoYesCódigo da série NOMINAL a deflacionar (ex.: 1619 para salário mínimo)
indiceNoÍndice de preços usado como deflator: IPCA (433), INPC (188) ou IGP-M (189)ipca
mesBaseNoMê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'.
agregacaoNoComo 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 (IPCA mensal, por exemplo), compondo geometricamente — somar 12 variações mensais NÃO dá a inflação do ano.ultimo
dataFinalYesData final (yyyy-MM-dd ou dd/MM/yyyy)
frequenciaNoOpcional: 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 periodicidades diferentes.
dataInicialYesData inicial (yyyy-MM-dd ou dd/MM/yyyy)

Output Schema

NameRequiredDescription
baseYesMês em cujos preços os valores reais estão expressos
dadosYesObservações com o valor publicado e o valor em moeda constante
serieYesIdentificação da série nominal
avisosNoRessalvas sobre cobertura do índice ou mês base substituído
periodoYesJanela pedida da série nominal
chunkingNoPresente 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.
deflatorYesÍndice de preços usado e o intervalo que ele cobre
variacaoYesVariaçã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.
derivacaoYesOrigem dos números calculados: o que é derivado, por qual motor e com quais convenções
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
harmonizacaoNoPresente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
janelaAplicadaNoPresente 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).

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, the description discloses the public SGS API source, no authentication requirement, best-effort usage with no published rate limit, automatic retries with exponential backoff, and HTTP 404 meaning. It also explains that out-of-coverage observations return valorReal: null rather than an invented value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well structured and front-loaded, with clear sections for usage, exclusion, index, base, return, limitation, and behavior. Some return-value detail is redundant because an output schema exists, but the overall organization is efficient for a complex tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity, the description covers the critical behavioral context: source limitations, index reconstruction, null handling outside coverage, retry behavior, and error semantics. It is complete enough for correct invocation despite the output schema already describing return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all seven parameters in detail. The description adds only limited parameter meaning beyond the schema, mainly restating that indice defaults to ipca and that mesBase controls the base month in yyyy-MM.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it converts a NOMINAL BCB series into REAL values by discounting inflation. It directly distinguishes itself from bcb_serie_valores, which is named for the raw nominal series.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit when-to-use guidance: whenever values in reais from different periods are compared. It also gives explicit when-NOT-to-use guidance for series that are already percentages, indices, or rates, and names bcb_serie_valores as the alternative for raw nominal data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_focus_expectativasExpectativas de mercado (Focus)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
top5NoExpectativas do Top 5 (as cinco instituições mais assertivas) em vez do consenso; existe nos cinco horizontes
limiteNoMáximo de coletas a devolver (1-500, padrão 50)
dataFinalNoFim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
horizonteYesmensal, trimestral e anual usam `referencia`; inflacao_12m e inflacao_24m são rolantes e não usam
indicadorYesIndicador exatamente como a fonte publica (ex.: 'IPCA', 'IGP-M', 'PIB Total', 'Câmbio'). Veja bcb_focus_referencias.
suavizadaNoSó nos horizontes rolantes: série suavizada (true) ou não suavizada (false)
referenciaNoAlvo da expectativa: MM/yyyy (mensal), T/yyyy (trimestral) ou yyyy (anual). Obrigatória nesses três; proibida nos rolantes.
dataInicialNoInício da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.

Output Schema

NameRequiredDescription
baseYesconsenso (todas as instituições) ou top5 (as cinco mais assertivas)
filtroYesFiltro efetivamente aplicado na origem; nulo onde o parâmetro não foi informado
horizonteYesHorizonte consultado
indicadorYesIndicador consultado, como pedido
observacaoNoPresente quando `expectativas` foi cortado por `limite` ou quando a janela voltou vazia, com o que fazer
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
urlConsultaYesURL OData consultada, reproduzível no navegador
consultadoEmYesTimestamp ISO 8601 da consulta
expectativasYesExpectativas por data de coleta, da mais recente para a mais antiga, até `limite`
totalRegistrosYesColetas encontradas (contagem client-side)

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe-read profile, but the description adds substantial non-structured context: the vintage semantics of coletadoEm versus referencia, that counting is done client-side because the source ignores $count, that a filter is mandatory because unfiltered queries never complete, and that per-institution microdata is withheld for confidentiality. The contract rules about referencia being rejected on rolling horizons and suavizada being valid only there are exactly the kind of constraint an agent would otherwise discover through failed calls.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded and organized into purpose, usage, contract rules, then caveats, so an agent can stop reading once it has what it needs. It loses a point for enumerating the return fields even though an output schema exists — that paragraph restates structured data and is the one part that does not earn its space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter open-world read tool with an output schema, everything an agent needs is present: valid horizon-to-parameter combinations, the indicator-lookup prerequisite, the 30-day default window, top5 semantics, and the vintage model that explains why repeated references appear across collections. Nothing required to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns extra by consolidating the cross-parameter contract in one place — referencia required on calendar horizons and refused on rolling ones, suavizada only on rolling, top5 available across all five horizons. It also flags the most common empty-result cause (asking for an indicator in a horizon where the source does not publish it), which the per-field schema cannot express.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Consulta as expectativas de mercado do boletim Focus') and immediately narrows scope to 'UM indicador' with the horizon as a selector. That single-indicator scoping distinguishes it cleanly from bcb_series_populares and bcb_indicadores_atuais without the agent needing to open a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Quando usar' and 'Quando NÃO usar' blocks that name two sibling tools and the condition selecting each: bcb_focus_selic for Selic por reunião do Copom, bcb_serie_valores for realized values. It also routes to bcb_focus_referencias as a prerequisite lookup, which is a real when-to-call-first rule rather than a generic suggestion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_focus_referenciasIndicadores e referências do FocusA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
escopoNoRestringe 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.
indicadorNoFiltrar por um indicador específico, para ver em quais escopos ele existe (opcional)

Output Schema

NameRequiredDescription
falhasNoEscopos que não responderam nesta consulta
filtroNoFiltro pedido; nulo onde o parâmetro não foi informado
janelaYesJanela de coleta observada para montar as listas
escoposYesUm bloco por escopo: regras do contrato mais o que a fonte publica nele
observacaoNoComo usar as listas: o texto é sensível ao nome EXATO e o conjunto muda por escopo
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
indicadoresYesUnião dos indicadores de todos os escopos consultados
referenciasYesUnião das referências de todos os escopos consultados
consultadoEmYesTimestamp ISO 8601 da consulta
totalRegistrosYesLinhas lidas da fonte, somadas em todos os escopos que responderam
observacaoFalhasNoPresente quando algum escopo não respondeu, ou quando nenhum escopo publica o indicador pedido

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description nonetheless adds substantial behavior: partial-failure tolerance with `falhas`, client-side counting because the source ignores `$count`, mandatory filter by construction, vintage semantics (coletadoEm vs referencia), and that institution-level microdata are not exposed. These are real disclosures beyond the annotations, though the scoring bar is lower here since annotations carry the basics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose and is organized into use/don't-use/returns/source blocks, so it is navigable despite length. It is dense and somewhat repetitive (the escopo→consumer mapping is stated twice, and the return-shape enumeration is long), costing a point on economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an optional-parameter discovery tool with an output schema, the description still documents return keys, partial-failure behavior, source and timing semantics, and the data-availability constraints. Nothing an agent needs to decide whether and how to call it is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds semantics the schema does not: omitting `escopo` queries all six scopes and merges results, supplying it restricts to one, and 'selic' maps to Copom meetings rather than a horizon. The `indicador` parameter's cross-scope discovery use is implied but not elaborated beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb and resource ('Lista, POR ESCOPO, os indicadores e as referências que o Focus efetivamente publica') and immediately positions the tool as a discovery aid for bcb_focus_expectativas and bcb_focus_selic. The sibling differentiation is explicit, including the clarification that 'selic' is not a horizon but a Copom-meeting axis consumed by a different tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Has explicit 'Quando usar' (before first Focus query, or when a query returns empty) and 'Quando NÃO usar' (for the expectation values themselves) sections, and names the failure mode it prevents: the indicator not existing in that scope (9 monthly vs 26 annual, 'PIB Total' absent in monthly) or a reference-format mismatch. Alternatives and exclusions are both covered.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_focus_selicExpectativas de Selic (Focus)A
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
top5NoExpectativas do Top 5 em vez do consenso
limiteNoMáximo de coletas a devolver (1-500, padrão 50)
reuniaoNoReunião do Copom no formato R1/2026 (opcional; sem ela, todas as reuniões da janela)
dataFinalNoFim da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: hoje.
dataInicialNoInício da janela de COLETA (yyyy-MM-dd ou dd/MM/yyyy). Padrão: 30 dias antes do fim.

Output Schema

NameRequiredDescription
baseYesconsenso (todas as instituições) ou top5 (as cinco mais assertivas)
filtroYesFiltro efetivamente aplicado; `reuniao` é nula quando não foi informada
observacaoNoPresente quando `expectativas` foi cortado por `limite` ou quando a janela voltou vazia, com o que fazer
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
urlConsultaYesURL OData consultada, reproduzível no navegador
consultadoEmYesTimestamp ISO 8601 da consulta
expectativasYesExpectativas por data de coleta, da mais recente para a mais antiga, até `limite`; `referencia` é a reunião
observacaoEixoNoLembrete de que o eixo é a reunião do Copom, não o calendário
totalRegistrosYesColetas encontradas na janela (contagem client-side), antes do corte por `limite`

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only/idempotent/non-destructive, but the description adds traits annotations cannot carry: the filter is mandatory by construction because unfiltered queries never complete at the source, counting is done client-side because the origin ignores $count, the default window is 30 days, and per-institution microdata are deliberately not exposed for confidentiality reasons. It also explains the vintage semantics (coletadoEm vs referencia), which is essential to interpreting results correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded: purpose, then when-to-use, then when-not, then return shape and caveats. Nearly every sentence carries information, though the closing note on microdata plus the enumerated return-field list makes it heavier than strictly necessary for tool selection. Slightly long, but not padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description needn't enumerate return fields, yet it goes further by giving defaults, source provenance, the vintage interpretation model, and known source quirks (mandatory filter, ignored $count). Nothing an agent needs to call this tool correctly or interpret its output is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real value beyond the schema: it decodes the `reuniao` format ('R1/2026 = 1ª reunião de 2026') and states the 30-day default window that governs dataInicial/dataFinal. It does not elaborate on `top5` or `limite` semantics, which keeps it from a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Consulta as expectativas de mercado do Focus para a taxa Selic') plus the organizing axis ('organizadas pela REUNIÃO do Copom'), with the R1/2026 example removing ambiguity. It explicitly separates itself from bcb_focus_expectativas (calendar-year horizon) and bcb_serie_valores (realized Selic), so an agent can pick it without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Contains explicit 'Quando usar' (expectation for the next Copom meeting, expected rate trajectory) and 'Quando NÃO usar' clauses that name the exact sibling tools and even the series codes (432, 1178, 4390) for the realized-rate case. The rationale for the split ('o eixo temporal é a reunião do Copom, não o calendário') removes any residual routing doubt.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_indicadores_atuaisIndicadores econômicos atuaisA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
indicadoresYesLista de indicadores com seus valores mais recentes
consultadoEmYesTimestamp ISO 8601 da consulta

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly/idempotent/openWorld), and the description adds substantial context beyond them: no auth or API key, best-effort/no published rate limit, automatic retry up to 3 times with exponential backoff, isError:true with Portuguese messages, HTTP 404 meaning, and per-indicator fault isolation. This is rich operational disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and organized into clear sections (Quando usar, Quando NÃO usar, Retorna, Comportamento). It is on the long side, and the 'Retorna' block partially restates what the output schema already provides, but nearly every sentence adds operative value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-param, read-only shortcut with an output schema, the description covers selection criteria, error handling, retry behavior, auth, and result shape, leaving nothing an agent needs to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters, so the schema already carries nothing to document. The description explicitly confirms 'Não recebe parâmetros', which removes any ambiguity about whether a period or code can be supplied.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (returns the most recent value of the main Brazilian economic indicators) and enumerates exactly which series (Selic/Copom, IPCA monthly, IPCA 12m, dollar, IBC-Br). An agent can distinguish it from the generic series siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides 'Quando usar' (quick economic panorama) and 'Quando NÃO usar' (any other series, historical data, or period selection), naming the alternatives bcb_serie_ultimos and bcb_serie_valores. This is the model when/when-not/alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_serie_metadadosMetadados da sérieA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
codigoYesCódigo da série no SGS/BCB

Output Schema

NameRequiredDescription
nomeYesNome da série
fonteYesFonte dos dados
codigoYesCódigo da série no SGS/BCB
categoriaNoCategoria econômica
observacaoNoObservação sobre a origem dos metadados
provenanceYesUm bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
ultimoValorNoÚltima observação disponível
urlConsultaNoURL da API do BCB para consulta completa
urlUltimos10NoURL da API do BCB para os últimos 10 valores
periodicidadeNoPeriodicidade da série
periodicidadeInferidaNoPresente e true quando a periodicidade foi inferida do espaçamento das observações

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the readOnly/idempotent/openWorld annotations, it discloses no auth or API key needed, no published rate limit (best-effort), automatic retry up to 3 attempts with exponential backoff, isError:true with a Portuguese message on persistent failure, HTTP 404 semantics, and that the SGS API publishes no metadata endpoint so no unit of measure is available. It also explains data provenance (curated 135-series catalog) and flags inferred periodicity via `periodicidadeInferida` — behavior an agent cannot infer from structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then cleanly segmented into Quando usar / Quando NÃO usar / Retorna / Limite da fonte / Comportamento. It is long and a few statements (e.g. restating the JSON return shape) duplicate the output schema, but almost every sentence carries actionable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description still usefully previews the returned fields and formats (dd/MM/yyyy dates, decimal values) and covers failure, retry, provenance, and source limitations. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (codigo) with 100% schema description coverage, so the schema already documents it. The description adds surrounding context about series codes and source limitations but no syntax or format detail for the parameter itself; baseline 3 applies when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Obtém a descrição de UMA série do BCB') and immediately delimits scope with 'sem trazer a série histórica', enumerating the returned metadata fields. An agent can distinguish this from bcb_serie_valores and bcb_serie_ultimos without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit 'Quando usar' (confirm what a series represents and its publication frequency before querying data) and 'Quando NÃO usar' clauses that name the two exact alternative tools for values. Both the positive and negative routing conditions are spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_series_popularesListar séries popularesA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
categoriaNoFiltrar 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 Schema

NameRequiredDescription
seriesYesSéries encontradas. Objeto agrupado por categoria quando sem filtro; array plano quando filtrado por categoria.
categoriasYesQuantidade de categorias distintas
observacaoNoDica de uso
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
totalSeriesYesQuantidade total de séries retornadas

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a safe read-only, idempotent, closed-world operation, and the description corroborates rather than contradicts them ('Catálogo local: não faz chamada de rede'). It goes well beyond the annotations by explaining provenance of fonteNome ('portal' vs 'medido'), that 82 series carry a verified 'unidade', and what was actually verified for the rest.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core verb/resource, then organized under clear labels (Quando usar, Quando NÃO usar, Retorna, Procedência). Every section is useful, though the procedência paragraph is granular and slightly long for a one-parameter listing tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for a filtered catalog tool: it covers scope, the filter's effect on output shape, local/no-network behavior, and provenance caveats. Since an output schema exists, the description need not carry the full return contract, yet it still summarizes it usefully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description adds meaning beyond the schema by tying the filter to the return shape ('objeto agrupado por categoria quando sem filtro, ou array plano quando filtrado'). It does not however document the accepted filter values beyond restating the category names already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Lista o catálogo interno curado de 135 séries econômicas do BCB com seus códigos'), including size, grouping, and the accepted filter. It explicitly distinguishes itself from the sibling bcb_buscar_serie and from bcb_focus_expectativas, so an agent can pick it without opening any other schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit 'Quando usar' (navigate/discover series by theme) and 'Quando NÃO usar' (keyword search → bcb_buscar_serie; no value lookup; Focus expectations → bcb_focus_expectativas). The routing conditions are stated, not inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_serie_ultimosÚltimos valores da sérieA
Read-onlyIdempotent
Inspect

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. O que cada número é: data é a data de referência na convenção do SGS — em série mensal, trimestral ou anual, o PRIMEIRO dia do período (01/03/2026 = março de 2026). Algumas séries já chegam ACUMULADAS da origem e só o nome diz isso: acumulado no ano (PIB 4381, 4386) e acumulado em 12 meses (13522, 4382, 5793) — o valor numa data é o acumulado até aquele período, então não some esses valores nem subtraia um do outro; para o valor de um mês, use a série mensal. Revisões: o valor é o que o SGS publica no instante da extração (retrieved_at na proveniência). O BCB revisa séries como PIB, IBC-Br, balanço de pagamentos e crédito, e o SGS não guarda a versão originalmente divulgada — um ponto passado pode mudar entre duas consultas, e este servidor não tem como devolver o número da primeira divulgação. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna isError: true com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em structuredContent (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).

NameRequiredDescriptionDefault
codigoYesCódigo da série no SGS/BCB
quantidadeNoQuantidade 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 Schema

NameRequiredDescription
dadosYesObservações mais recentes
serieYesIdentificação da série temporal
chunkingNoPresente 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.
observacaoNoMensagem informativa (ex.: quando não há dados)
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
totalRegistrosYesQuantidade de observações retornadas

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations already covering read-only, idempotent, and non-destructive status, the description goes well beyond them: no authentication required, best-effort rate limits, automatic retries with exponential backoff, HTTP 404 meaning, revision behavior, and a workaround for the native N>20 endpoint limit. It also flags accumulated series that should not be summed, which is critical for correct interpretation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well front-loaded: purpose, usage, return shape, then caveats. Some material duplicates the schema (quantidade limits) and output schema (return fields), keeping it from a perfect 5, but most sentences carry important financial-data semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex time-series tool with revisions, accumulated series, date conventions, and endpoint limits, the description covers all critical operational and interpretive details. With an output schema present, it also appropriately clarifies the response envelope and date format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are fully described in the schema, including the N>20 workaround. The description largely repeats this information (range 1–1000, default 10) without adding new input-parameter meaning, so the schema baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: obtains the last N observations of one BCB time series, most recent first. It explicitly distinguishes itself from the sibling bcb_serie_valores by scope, so an agent can pick correctly without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'Quando usar' and 'Quando NÃO usar' sections, names the exact alternative (bcb_serie_valores) for date ranges or full history, and gives a concrete example (últimos 12 meses do IPCA). Routing is fully specified.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_serie_valoresConsultar valores da sérieA
Read-onlyIdempotent
Inspect

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. O que cada número é: data é a data de referência na convenção do SGS — em série mensal, trimestral ou anual, o PRIMEIRO dia do período (01/03/2026 = março de 2026). Algumas séries já chegam ACUMULADAS da origem e só o nome diz isso: acumulado no ano (PIB 4381, 4386) e acumulado em 12 meses (13522, 4382, 5793) — o valor numa data é o acumulado até aquele período, então não some esses valores nem subtraia um do outro; para o valor de um mês, use a série mensal. Revisões: o valor é o que o SGS publica no instante da extração (retrieved_at na proveniência). O BCB revisa séries como PIB, IBC-Br, balanço de pagamentos e crédito, e o SGS não guarda a versão originalmente divulgada — um ponto passado pode mudar entre duas consultas, e este servidor não tem como devolver o número da primeira divulgação. Comportamento: consome a API pública SGS do Banco Central do Brasil — sem autenticação, chave de API ou cadastro, e sem limite de requisições divulgado (uso é best-effort). Em falha transitória ou timeout a chamada é repetida automaticamente (até 3 tentativas, backoff exponencial); persistindo o erro, retorna isError: true com mensagem em português (HTTP 404 = série inexistente ou sem dados no período solicitado). O resultado vem como JSON tanto em texto quanto em structuredContent (conforme o outputSchema); datas no formato dd/MM/yyyy e valores numéricos (ponto decimal).

NameRequiredDescriptionDefault
codigoYesCódigo da série no SGS/BCB (ex: 433 para IPCA mensal, 11 para Selic)
agregacaoNoComo 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 (IPCA mensal, por exemplo), compondo geometricamente — somar 12 variações mensais NÃO dá a inflação do ano.ultimo
dataFinalNoData final no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)
frequenciaNoOpcional: 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 periodicidades diferentes.
dataInicialNoData inicial no formato yyyy-MM-dd ou dd/MM/yyyy (opcional)

Output Schema

NameRequiredDescription
dadosYesObservações históricas
serieYesIdentificação da série temporal
chunkingNoPresente 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.
observacaoNoMensagem informativa (ex.: quando não há dados)
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
harmonizacaoNoPresente quando `frequencia` foi informada: descreve a reamostragem aplicada. Valor DERIVADO — calculado por este servidor, não publicado pelo Banco Central.
periodoFinalNoData da última observação
janelaAplicadaNoPresente 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).
periodoInicialNoData da primeira observação
totalRegistrosYesQuantidade de observações retornadas

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly, idempotent, openWorld, non-destructive), the description discloses operational behavior: no authentication or documented rate limit, automatic retries up to three attempts with exponential backoff, HTTP 406/404 handling, chunking of daily series beyond 10 years, harmonization behavior, and revision caveats for PIB/IBC-Br and similar series.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose, usage, and exclusions, and uses clear sections for return shape, period limits, harmonization, data conventions, revisions, and API behavior. It is information-dense, but the length and repetition of details already present in the schema and output schema keep it from being maximally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and the rich output schema, the description is exceptionally complete: it explains return structure, error behavior, date conventions, accumulated series caveats, revision caveats, chunking, and harmonization. An agent has all the context needed to call and interpret this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents codigo, dataInicial, dataFinal, frequencia, and agregacao in detail. The description reinforces enum usage but adds little parameter-specific syntax or format information beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence states a specific verb and resource: querying the historical values of ONE BCB time series by SGS code, optionally bounded by dates. It explicitly names the sibling tools it is not for (bcb_serie_ultimos, bcb_variacao, bcb_comparar), so an agent can disambiguate without opening another schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit 'Quando usar' and 'Quando NÃO usar' sections, routing the agent to alternatives for recent points, percentage variation, series comparison, and code discovery. The conditions for selecting each alternative are clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

bcb_variacaoVariação percentual da sérieA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
codigoYesCódigo da série no SGS/BCB
periodosNoAlternativa: 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.
dataFinalNoData final (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o último valor disponível.
dataInicialNoData inicial (yyyy-MM-dd ou dd/MM/yyyy). Se não informada, usa o primeiro valor disponível.

Output Schema

NameRequiredDescription
serieYesIdentificação da série
analiseYesResultado 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 acumulado composto de todas as observações
periodoYesJanela temporal analisada
chunkingNoPresente 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.
derivacaoYesOrigem dos números calculados: o que é derivado, por qual motor e com quais convenções
provenanceYesBloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)
estatisticasYesEstatísticas descritivas dos valores no período
janelaAplicadaNoPresente 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).

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this as read-only, idempotent, open-world, and non-destructive, and the description adds substantial behavioral context beyond that. It discloses no authentication, no disclosed rate limit, retry/backoff behavior, chunking for long windows, error semantics including HTTP 404, and output formatting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but front-loads the core purpose and decision rules, and most sentences carry useful operational detail. It loses a point because the return-value listing and JSON/structuredContent note partly duplicate the output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema, annotations, and full parameter coverage, the description is more than complete for correct invocation. It covers method selection, period resolution, retry/chunking behavior, errors, and output format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description adds meaningful semantics about the curated series catalog, how unknown codes are treated, and how `periodos` overrides dates and is handled above 20. Some of this overlaps the schema, but the catalog and method-selection context add real value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: calculating percent variation for ONE series over a period, plus descriptive statistics. It distinguishes level series from series that are already period variations, explains the accumulated chaining behavior, and names sibling tools for adjacent tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly includes "Quando usar" and "Quando NÃO usar" sections, routing multi-series comparison to bcb_comparar and raw values to bcb_serie_valores. It also states edge conditions such as minimum 2 observations and refusal of moving-accumulated series.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetchDocumento para Deep ResearchA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
idYesIdentificador de um documento devolvido por `search`

Output Schema

NameRequiredDescription
idYesIdentificador único do documento no servidor; é o que `fetch` recebe
urlYesURL pública canônica do documento — a citação do ChatGPT depende dela
textYesConteúdo integral do documento, legível (Markdown)
titleYesTítulo legível do documento
metadataNoPares chave/valor adicionais sobre o documento (tipo, fonte, período…)
provenanceYesUm bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)
attributionYesURLs canônicas das fontes desta resposta (lista de atribuição)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds real value beyond them: a live GET against the public source when the document is needed, and explicit error behavior for unknown ids. It stops short of describing the network failure/pagination surface, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the return shape and canonical-url guidance, then contracts, then behavior. It is somewhat dense with parentheticals and mixes languages, but each sentence carries a distinct fact rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, the description need not explain return values, yet it still names the return shape, the citation url, the companion contract, id validity, error behavior, and sibling routing. Nothing needed to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the id parameter is already documented, giving a baseline of 3. The description adds provenance semantics beyond the schema: only ids from `search` are valid and an unknown id returns an error, which constrains how the value may be sourced.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (returns the full document for an id from `search`) and immediately names the sibling it is not, explicitly saying the bcb_* tools remain the tools for data queries. An agent can distinguish it from the fifteen bcb_* siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use and when-not: valid only for ids returned by `search`, unknown ids error out, and data queries should go to bcb_* instead. The routing rule and the alternative tool are both named.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • Changedbcb_cambio_cotacao9 fields changed
      • addedOutput schema / properties / consultadoEm / description
        Added value: +"Timestamp ISO 8601 da consulta"
      • addedOutput schema / properties / cotacoes / description
        Added value: +"Boletins de cotação, do mais recente para o mais antigo, até `limite`"
      • addedOutput schema / properties / moeda / description
        Added value: +"Símbolo da moeda consultada, em maiúsculas"
      • addedOutput schema / properties / observacao / description
        Added value: +"Presente quando `cotacoes` foi cortado por `limite` ou quando o intervalo voltou vazio, com o que fazer"
      • addedOutput schema / properties / periodo / description
        Added value: +"Intervalo consultado; num dia específico, início e fim são o mesmo dia"
      • addedOutput schema / properties / periodo / properties / dataFinal / description
        Added value: +"Fim do intervalo (yyyy-MM-dd)"
      • addedOutput schema / properties / periodo / properties / dataInicial / description
        Added value: +"Início do intervalo (yyyy-MM-dd)"
      • addedOutput schema / properties / totalRegistros / description
        Added value: +"Boletins encontrados no intervalo, antes do corte por `limite`"
      • addedOutput schema / properties / urlConsulta / description
        Added value: +"URL OData consultada, reproduzível no navegador"
    • Changedbcb_cambio_moedas7 fields changed
      • addedOutput schema / properties / consultadoEm / description
        Added value: +"Timestamp ISO 8601 da consulta"
      • addedOutput schema / properties / disclaimer / description
        Added value: +"Disclaimer de responsabilidade do BCB, repassado literalmente"
      • addedOutput schema / properties / moedas / description
        Added value: +"Moedas com cotação publicada pelo BCB"
      • addedOutput schema / properties / observacao / description
        Added value: +"Lembrete de usar o `simbolo` em bcb_cambio_cotacao"
      • addedOutput schema / properties / qualificacaoParidade / description
        Added value: +"Qualificação da origem das paridades não-dólar"
      • addedOutput schema / properties / totalMoedas / description
        Added value: +"Moedas na lista, depois do filtro por `termo`"
      • addedOutput schema / properties / urlConsulta / description
        Added value: +"URL OData consultada, reproduzível no navegador"
    • Changedbcb_comparar2 fields changed
      • addedOutput schema / properties / periodo / properties / dataFinal / description
        Added value: +"Data final pedida, em dd/MM/yyyy"
      • addedOutput schema / properties / periodo / properties / dataInicial / description
        Added value: +"Data inicial pedida, em dd/MM/yyyy"
    • Changedbcb_correlacao2 fields changed
      • addedOutput schema / properties / periodo / properties / dataFinal / description
        Added value: +"Data final pedida, em dd/MM/yyyy"
      • addedOutput schema / properties / periodo / properties / dataInicial / description
        Added value: +"Data inicial pedida, em dd/MM/yyyy"
    • Changedbcb_deflacionar16 fields changed
      • addedOutput schema / properties / base / properties / descricao / description
        Added value: +"O mês base em prosa, para repetir ao leitor"
      • addedOutput schema / properties / deflator / properties / cobertura / description
        Added value: +"Primeiro e último mês com deflator — observação fora deste intervalo sai com `valorReal: null`"
      • addedOutput schema / properties / deflator / properties / codigo / description
        Added value: +"Código SGS da série de variação mensal do índice"
      • addedOutput schema / properties / deflator / properties / indice / description
        Added value: +"Índice usado como deflator: IPCA, INPC ou IGPM"
      • addedOutput schema / properties / deflator / properties / nome / description
        Added value: +"Nome da série do índice"
      • addedOutput schema / properties / periodo / description
        Added value: +"Janela pedida da série nominal"
      • addedOutput schema / properties / periodo / properties / dataFinal / description
        Added value: +"Data final pedida, em dd/MM/yyyy"
      • addedOutput schema / properties / periodo / properties / dataInicial / description
        Added value: +"Data inicial pedida, em dd/MM/yyyy"
      • addedOutput schema / properties / serie / properties / categoria / description
        Added value: +"Categoria econômica no catálogo curado; 'Desconhecida' quando o código está fora dele"
      • addedOutput schema / properties / serie / properties / codigo / description
        Added value: +"Código da série no SGS/BCB"
      • addedOutput schema / properties / serie / properties / nome / description
        Added value: +"Nome da série no catálogo curado; 'Série N' quando o código está fora dele"
      • addedOutput schema / properties / serie / properties / periodicidade / description
        Added value: +"Periodicidade (Diária, Mensal, etc.): a do catálogo curado ou, fora dele, a inferida das observações"
      • addedOutput schema / properties / serie / properties / periodicidadeInferida / description
        Added value: +"Presente e true quando a periodicidade foi inferida do espaçamento das observações, e não lida do catálogo — a API do SGS não publica metadados de série."
      • addedOutput schema / properties / serie / properties / totalRegistros / description
        Added value: +"Quantidade de observações em `dados`"
      • addedOutput schema / properties / variacao / properties / dataFinal / description
        Added value: +"Data da última observação deflacionada (dd/MM/yyyy)"
      • addedOutput schema / properties / variacao / properties / dataInicial / description
        Added value: +"Data da primeira observação deflacionada (dd/MM/yyyy)"
    • Changedbcb_focus_expectativas9 fields changed
      • addedOutput schema / properties / base / description
        Added value: +"consenso (todas as instituições) ou top5 (as cinco mais assertivas)"
      • addedOutput schema / properties / expectativas / description
        Added value: +"Expectativas por data de coleta, da mais recente para a mais antiga, até `limite`"
      • addedOutput schema / properties / filtro / properties / dataFinal / description
        Added value: +"Fim da janela de coleta aplicada (yyyy-MM-dd)"
      • addedOutput schema / properties / filtro / properties / dataInicial / description
        Added value: +"Início da janela de coleta aplicada (yyyy-MM-dd)"
      • addedOutput schema / properties / filtro / properties / referencia / description
        Added value: +"Referência pedida; nula quando não informada"
      • addedOutput schema / properties / filtro / properties / suavizada / description
        Added value: +"Filtro de série suavizada pedido; nulo quando não informado"
      • addedOutput schema / properties / horizonte / description
        Added value: +"Horizonte consultado"
      • addedOutput schema / properties / indicador / description
        Added value: +"Indicador consultado, como pedido"
      • addedOutput schema / properties / observacao / description
        Added value: +"Presente quando `expectativas` foi cortado por `limite` ou quando a janela voltou vazia, com o que fazer"
    • Changedbcb_focus_referencias7 fields changed
      • addedOutput schema / properties / consultadoEm / description
        Added value: +"Timestamp ISO 8601 da consulta"
      • addedOutput schema / properties / filtro / properties / indicador / description
        Added value: +"Indicador pedido; nulo quando não informado"
      • addedOutput schema / properties / janela / properties / dataFinal / description
        Added value: +"Fim da janela (yyyy-MM-dd): hoje"
      • addedOutput schema / properties / janela / properties / dataInicial / description
        Added value: +"Início da janela (yyyy-MM-dd): 15 dias antes de hoje"
      • addedOutput schema / properties / observacao / description
        Added value: +"Como usar as listas: o texto é sensível ao nome EXATO e o conjunto muda por escopo"
      • addedOutput schema / properties / observacaoFalhas / description
        Added value: +"Presente quando algum escopo não respondeu, ou quando nenhum escopo publica o indicador pedido"
      • addedOutput schema / properties / totalRegistros / description
        Added value: +"Linhas lidas da fonte, somadas em todos os escopos que responderam"
    • Changedbcb_focus_selic11 fields changed
      • addedOutput schema / properties / base / description
        Added value: +"consenso (todas as instituições) ou top5 (as cinco mais assertivas)"
      • addedOutput schema / properties / consultadoEm / description
        Added value: +"Timestamp ISO 8601 da consulta"
      • addedOutput schema / properties / expectativas / description
        Added value: +"Expectativas por data de coleta, da mais recente para a mais antiga, até `limite`; `referencia` é a reunião"
      • addedOutput schema / properties / filtro / properties / dataFinal / description
        Added value: +"Fim da janela de coleta aplicada (yyyy-MM-dd)"
      • addedOutput schema / properties / filtro / properties / dataInicial / description
        Added value: +"Início da janela de coleta aplicada (yyyy-MM-dd)"
      • addedOutput schema / properties / filtro / properties / janelaPadrao / description
        Added value: +"true quando a janela de 30 dias foi assumida"
      • addedOutput schema / properties / filtro / properties / reuniao / description
        Added value: +"Reunião do Copom pedida (R1/2026); nula quando não informada"
      • addedOutput schema / properties / observacao / description
        Added value: +"Presente quando `expectativas` foi cortado por `limite` ou quando a janela voltou vazia, com o que fazer"
      • addedOutput schema / properties / observacaoEixo / description
        Added value: +"Lembrete de que o eixo é a reunião do Copom, não o calendário"
      • addedOutput schema / properties / totalRegistros / description
        Added value: +"Coletas encontradas na janela (contagem client-side), antes do corte por `limite`"
      • addedOutput schema / properties / urlConsulta / description
        Added value: +"URL OData consultada, reproduzível no navegador"
    • Changedbcb_variacao11 fields changed
      • addedOutput schema / properties / analise / properties / variacaoFormatada / description
        Added value: +"variacaoPercentual em texto, com sinal e duas casas (ex.: \"+4.83%\")"
      • addedOutput schema / properties / estatisticas / properties / amplitude / description
        Added value: +"maximo − minimo (derivada, 4 casas)"
      • addedOutput schema / properties / estatisticas / properties / maximo / description
        Added value: +"Maior valor do período, verbatim da fonte"
      • addedOutput schema / properties / estatisticas / properties / media / description
        Added value: +"Média aritmética dos valores do período (derivada, 4 casas)"
      • addedOutput schema / properties / estatisticas / properties / minimo / description
        Added value: +"Menor valor do período, verbatim da fonte"
      • addedOutput schema / properties / periodo / properties / dataFinal / description
        Added value: +"Data da última observação usada (dd/MM/yyyy, como o SGS publica)"
      • addedOutput schema / properties / periodo / properties / dataInicial / description
        Added value: +"Data da primeira observação usada (dd/MM/yyyy, como o SGS publica)"
      • addedOutput schema / properties / periodo / properties / totalPeriodos / description
        Added value: +"Quantidade de observações no período"
      • addedOutput schema / properties / serie / properties / categoria / description
        Added value: +"Categoria econômica no catálogo curado; 'Desconhecida' quando o código está fora dele"
      • addedOutput schema / properties / serie / properties / codigo / description
        Added value: +"Código da série no SGS/BCB"
      • addedOutput schema / properties / serie / properties / nome / description
        Added value: +"Nome da série no catálogo curado; 'Série N' quando o código está fora dele"
  2. 17 tool updates
    • Changedbcb_buscar_serie6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_cambio_cotacao6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_cambio_moedas5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_comparar5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_correlacao6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / series / items / properties / natureza
        Added value: +{
        +  "description": "O que o valor da série é em cada data: 'nivel' (o valor da grandeza no período — saldo, fluxo, preço, taxa vigente, razão ou índice), 'variacao_no_periodo' (a variação ou rendimento do próprio período, como o IPCA mensal), 'acumulado_no_ano' ou 'acumulado_12_meses' (o acumulado até aquela data: não some nem subtraia esses valores). null = tipo não identificado: a série está fora do catálogo curado ou o catálogo não diz o que ela mede.",
        +  "enum": [
        +    "nivel",
        +    "variacao_no_periodo",
        +    "acumulado_no_ano",
        +    "acumulado_12_meses",
        +    null
        +  ],
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedbcb_deflacionar6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / serie / properties / natureza
        Added value: +{
        +  "description": "O que o valor da série é em cada data: 'nivel' (o valor da grandeza no período — saldo, fluxo, preço, taxa vigente, razão ou índice), 'variacao_no_periodo' (a variação ou rendimento do próprio período, como o IPCA mensal), 'acumulado_no_ano' ou 'acumulado_12_meses' (o acumulado até aquela data: não some nem subtraia esses valores). null = tipo não identificado: a série está fora do catálogo curado ou o catálogo não diz o que ela mede.",
        +  "enum": [
        +    "nivel",
        +    "variacao_no_periodo",
        +    "acumulado_no_ano",
        +    "acumulado_12_meses",
        +    null
        +  ],
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedbcb_focus_expectativas5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_focus_referencias5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_focus_selic5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_indicadores_atuais5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_serie_metadados6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_serie_ultimos6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / serie / properties / natureza
        Added value: +{
        +  "description": "O que o valor da série é em cada data: 'nivel' (o valor da grandeza no período — saldo, fluxo, preço, taxa vigente, razão ou índice), 'variacao_no_periodo' (a variação ou rendimento do próprio período, como o IPCA mensal), 'acumulado_no_ano' ou 'acumulado_12_meses' (o acumulado até aquela data: não some nem subtraia esses valores). null = tipo não identificado: a série está fora do catálogo curado ou o catálogo não diz o que ela mede.",
        +  "enum": [
        +    "nivel",
        +    "variacao_no_periodo",
        +    "acumulado_no_ano",
        +    "acumulado_12_meses",
        +    null
        +  ],
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedbcb_serie_valores6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
      • addedOutput schema / properties / serie / properties / natureza
        Added value: +{
        +  "description": "O que o valor da série é em cada data: 'nivel' (o valor da grandeza no período — saldo, fluxo, preço, taxa vigente, razão ou índice), 'variacao_no_periodo' (a variação ou rendimento do próprio período, como o IPCA mensal), 'acumulado_no_ano' ou 'acumulado_12_meses' (o acumulado até aquela data: não some nem subtraia esses valores). null = tipo não identificado: a série está fora do catálogo curado ou o catálogo não diz o que ela mede.",
        +  "enum": [
        +    "nivel",
        +    "variacao_no_periodo",
        +    "acumulado_no_ano",
        +    "acumulado_12_meses",
        +    null
        +  ],
        +  "type": [
        +    "string",
        +    "null"
        +  ]
        +}
    • Changedbcb_series_populares5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedbcb_variacao5 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedfetch6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
    • Changedsearch6 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (bloco de proveniência do portfólio; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"New value: +"Bloco de proveniência: fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando há o que dizer, de onde veio cada parte, avisos da fonte, o que o servidor calculou e se o dado ainda pode mudar"
      • addedOutput schema / properties / provenance / items / properties / derivation_note
        Added value: +{
        +  "description": "O que o servidor calculou; presente junto com derived",
        +  "type": "string"
        +}
      • addedOutput schema / properties / provenance / items / properties / derived
        Added value: +{
        +  "description": "Presente (true) só quando o servidor calculou o valor em vez de repassá-lo como veio da fonte",
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / provenance / items / properties / notices
        Added value: +{
        +  "description": "Avisos que a fonte publica junto com o dado (quebra de série, unidade, frescor), verbatim. Ausente quando não há aviso",
        +  "items": {
        +    "type": "string"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • addedOutput schema / properties / provenance / items / properties / revision
        Added value: +{
        +  "additionalProperties": false,
        +  "description": "Se o dado ainda pode mudar na fonte",
        +  "properties": {
        +    "note": {
        +      "description": "O específico da fonte: o que revisa, quando, por quê",
        +      "type": [
        +        "string",
        +        "null"
        +      ]
        +    },
        +    "status": {
        +      "description": "current = versão vigente, a fonte pode revisá-la; provisional = preliminar, incompleta ou sujeita a mudança (não compare como se fosse fechada); final = não muda mais, declarado pela fonte",
        +      "enum": [
        +        "current",
        +        "provisional",
        +        "final"
        +      ],
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "status",
        +    "note"
        +  ],
        +  "type": "object"
        +}
  3. 3 tool updates
    • Changedbcb_serie_metadados1 field changed
      • changedOutput schema / properties / ultimoValor / properties / data / description
        Previous value: -"Data da observação (dd/MM/yyyy)"New value: +"Data de referência da observação (dd/MM/yyyy), na convenção do SGS: em série mensal, trimestral ou anual é o PRIMEIRO dia do período (01/03/2026 = março de 2026); em série diária, o próprio dia"
    • Changedbcb_serie_ultimos1 field changed
      • changedOutput schema / properties / dados / items / properties / data / description
        Previous value: -"Data da observação (dd/MM/yyyy)"New value: +"Data de referência da observação (dd/MM/yyyy), na convenção do SGS: em série mensal, trimestral ou anual é o PRIMEIRO dia do período (01/03/2026 = março de 2026); em série diária, o próprio dia"
    • Changedbcb_serie_valores1 field changed
      • changedOutput schema / properties / dados / items / properties / data / description
        Previous value: -"Data da observação (dd/MM/yyyy)"New value: +"Data de referência da observação (dd/MM/yyyy), na convenção do SGS: em série mensal, trimestral ou anual é o PRIMEIRO dia do período (01/03/2026 = março de 2026); em série diária, o próprio dia"
  4. 17 tool updates
    • Changedbcb_buscar_serie3 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_cambio_cotacao3 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_cambio_moedas3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_comparar3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_correlacao3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_deflacionar3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_focus_expectativas3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_focus_referencias3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_focus_selic3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_indicadores_atuais3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_serie_metadados3 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_serie_ultimos3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_serie_valores3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_series_populares3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedbcb_variacao3 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedfetch3 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
    • Changedsearch3 fields changed
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"New value: +"Bloco de proveniência (contrato v1.2): fonte, URL, competência, extração, diagnóstico de origem, citação e licença; e, só quando a resposta junta partes de origens ou momentos distintos, de onde veio cada parte"
      • addedOutput schema / properties / provenance / items / properties / field_sources
        Added value: +{
        +  "description": "Presente só quando a resposta junta partes de origens ou momentos distintos: para cada grupo de campos, a URL, a extração e se veio do cache. Ausente nas respostas de uma origem só",
        +  "items": {
        +    "additionalProperties": false,
        +    "description": "Proveniência de um grupo de campos da resposta: de onde veio e quando foi extraído",
        +    "properties": {
        +      "data_vintage": {
        +        "description": "Vintage/competência da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "dataset_id": {
        +        "description": "Identificador do conjunto da sub-fonte",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "fields": {
        +        "description": "Campos do payload atribuídos a esta sub-fonte",
        +        "items": {
        +          "type": "string"
        +        },
        +        "minItems": 1,
        +        "type": "array"
        +      },
        +      "retrieved_at": {
        +        "description": "ISO-8601 da extração desta sub-fonte na origem",
        +        "type": [
        +          "string",
        +          "null"
        +        ]
        +      },
        +      "served_from_cache": {
        +        "description": "true se esta sub-fonte veio do cache do servidor (retrieved_at é o da extração original); false se foi buscada nesta chamada; null se o servidor não distingue",
        +        "type": [
        +          "boolean",
        +          "null"
        +        ]
        +      },
        +      "source_url": {
        +        "description": "URL canônica da sub-fonte que originou estes campos",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "fields",
        +      "source_url",
        +      "dataset_id",
        +      "data_vintage",
        +      "retrieved_at"
        +    ],
        +    "type": "object"
        +  },
        +  "minItems": 1,
        +  "type": "array"
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante. Quando a resposta junta partes extraídas em momentos distintos, é o MAIS ANTIGO deles (field_sources diz cada um)"
  5. 17 tool updates
    • Changedbcb_buscar_serie9 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / items / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / items / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / items / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / items / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_cambio_cotacao9 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / items / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / items / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / items / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / items / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_cambio_moedas8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_comparar8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_correlacao8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_deflacionar8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_focus_expectativas8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_focus_referencias8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_focus_selic8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_indicadores_atuais8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_serie_metadados9 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / items / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / items / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / items / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / items / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_serie_ultimos8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_serie_valores8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_series_populares8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedbcb_variacao8 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedfetch9 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / items / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / items / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / items / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / items / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
    • Changedsearch9 fields changed
      • changedOutput schema / properties / provenance / description
        Previous value: -"Um bloco por procedência que contribuiu com esta resposta (contrato v1.0; licenças nunca se fundem)"New value: +"Um bloco por procedência que contribuiu com esta resposta (contrato v1.1; licenças nunca se fundem)"
      • changedOutput schema / properties / provenance / items / description
        Previous value: -"Bloco de proveniência (contrato v1.0): fonte, URL, competência, extração e licença"New value: +"Bloco de proveniência (contrato v1.1): fonte, URL, competência, extração, diagnóstico de origem, citação e licença"
      • changedOutput schema / properties / provenance / items / properties / citation / description
        Previous value: -"Citação pronta para uso"New value: +"Citação/atribuição pronta para uso"
      • changedOutput schema / properties / provenance / items / properties / data_vintage / description
        Previous value: -"Competência do dado segundo a fonte; null quando a fonte não expõe"New value: +"Competência/vintage do dado segundo a fonte; null quando a fonte não expõe"
      • changedOutput schema / properties / provenance / items / properties / license / description
        Previous value: -"Regime legal do dado"New value: +"Regime legal do dado (id SPDX quando há, senão o nome da licença)"
      • addedOutput schema / properties / provenance / items / properties / retrieval
        Added value: +{
        +  "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade; null quando o servidor não mede",
        +  "oneOf": [
        +    {
        +      "additionalProperties": false,
        +      "description": "Diagnóstico de origem da chamada: como o dado foi obtido. Medição real do servidor; unstable=true pede ao agente que trate o dado como obtido com dificuldade",
        +      "properties": {
        +        "anomalies": {
        +          "description": "Anomalias superadas até o sucesso, somadas por classe, em ordem fixa; [] se nenhuma",
        +          "items": {
        +            "additionalProperties": false,
        +            "properties": {
        +              "count": {
        +                "description": "Ocorrências desta classe na chamada",
        +                "minimum": 1,
        +                "type": "integer"
        +              },
        +              "kind": {
        +                "description": "Classe da anomalia (vocabulário fechado do contrato)",
        +                "enum": [
        +                  "timeout",
        +                  "network",
        +                  "http_4xx",
        +                  "http_5xx",
        +                  "rate_limited",
        +                  "malformed_body"
        +                ],
        +                "type": "string"
        +              }
        +            },
        +            "required": [
        +              "kind",
        +              "count"
        +            ],
        +            "type": "object"
        +          },
        +          "type": "array"
        +        },
        +        "attempts": {
        +          "description": "Tentativas somadas, incluindo as repetidas (>= requests)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "requests": {
        +          "description": "Idas distintas à origem que compõem esta resposta (fatias, páginas)",
        +          "minimum": 1,
        +          "type": "integer"
        +        },
        +        "unstable": {
        +          "description": "true se houve repetição (attempts > requests) ou alguma anomalia",
        +          "type": "boolean"
        +        }
        +      },
        +      "required": [
        +        "requests",
        +        "attempts",
        +        "anomalies",
        +        "unstable"
        +      ],
        +      "type": "object"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / provenance / items / properties / retrieved_at / description
        Previous value: -"Instante REAL da extração na origem (ISO-8601, horário de Brasília). Resposta servida de cache mantém o instante do fetch ORIGINAL, que é a data de extração relevante."New value: +"Instante REAL da extração na origem (ISO-8601, fuso do servidor). Resposta servida de cache mantém o instante do fetch original, que é a data de extração relevante"
      • changedOutput schema / properties / provenance / items / properties / source_url / description
        Previous value: -"URL canônica que reproduz a consulta"New value: +"URL canônica que reproduz a consulta na fonte"
      • changedOutput schema / properties / provenance / items / required
        Previous value: -[
        -  "source",
        -  "source_url",
        -  "data_vintage",
        -  "retrieved_at",
        -  "citation",
        -  "license"
        -]New value: +[
        +  "source",
        +  "source_url",
        +  "data_vintage",
        +  "retrieved_at",
        +  "retrieval",
        +  "citation",
        +  "license"
        +]
  6. 1 tool update
    • Changedbcb_buscar_serie2 fields changed
      • changedInput schema / properties / termo / description
        Previous value: -"Termo de busca (mínimo 2 caracteres) ou o código da série. Vários termos são combinados com E."New value: +"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, calote→inadimplência, desemprego→desocupação) e a resposta diz quando isso aconteceu (notasVocabulario)."
      • addedOutput schema / properties / notasVocabulario
        Added value: +{
        +  "description": "Quando um termo foi ampliado para a palavra que o BCB usa (déficit→resultado primário), diz qual",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
  7. 17 tool updates
    • First observedbcb_buscar_serie
    • First observedbcb_cambio_cotacao
    • First observedbcb_cambio_moedas
    • First observedbcb_comparar
    • First observedbcb_correlacao
    • First observedbcb_deflacionar
    • First observedbcb_focus_expectativas
    • First observedbcb_focus_referencias
    • First observedbcb_focus_selic
    • First observedbcb_indicadores_atuais
    • First observedbcb_serie_metadados
    • First observedbcb_serie_ultimos
    • First observedbcb_serie_valores
    • First observedbcb_series_populares
    • First observedbcb_variacao
    • First observedfetch
    • First observedsearch

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides tools to query Brazilian Central Bank public data, including SGS time series and PTAX exchange rates.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides point-in-time Brazilian market data and official statistics, enabling accurate backtesting and AI agent access to vintage, unrevised data, as well as Brazilian financial primitives like PIX code generation and business day calculations.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Banco Central do Brasil MCP server that enables querying Brazilian central bank economic indicators via SGS codes.
    12 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Gives AI assistants access to all 261 Copom meeting minutes and official Banco Central do Brasil indicators, supporting hybrid keyword/semantic search, paragraph-level citations, structured meeting analysis, and Brazilian Portuguese queries. It also exposes resources and prompts for comparing meetings and extracting tone, risks, and forward guidance.
    5
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.