protogrid

Search / io.github.Val7h/dados-b3

Dados B3

R0· no sign-in

Brazilian stock (B3) fundamentals: ratios, dividends, scores, FIIs, ETFs, BDRs. Open methodology.

v1.9.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality83good
Trust93of 100
Uptime, 30 days100%
Latency p50347 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "dados-b3": {
      "type": "http",
      "url": "https://dadosb3.com/mcp/"
    }
  }
}
claude mcp add --transport http dados-b3 https://dadosb3.com/mcp/
[mcp_servers.dados-b3]
url = "https://dadosb3.com/mcp/"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "dados-b3": {
      "type": "remote",
      "url": "https://dadosb3.com/mcp/",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "dados-b3": {
      "type": "http",
      "url": "https://dadosb3.com/mcp/"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=dados-b3&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZGFkb3NiMy5jb20vbWNwLyJ9"
}
{
  "servers": {
    "dados-b3": {
      "type": "http",
      "url": "https://dadosb3.com/mcp/"
    }
  }
}
{
  "mcpServers": {
    "dados-b3": {
      "httpUrl": "https://dadosb3.com/mcp/"
    }
  }
}
extensions:
  "dados-b3":
    enabled: true
    name: "dados-b3"
    type: streamable_http
    uri: "https://dadosb3.com/mcp/"
    timeout: 300

Quality 83 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length2 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations25 of 25 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 5,253 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability75 · weight 15
  • warn
    stability.changes36 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

25 tools, about 5,253 tokens to load them all · tool set 66efc821421c · tools last changed 2026-10-18 · checked 2026-10-19 10:20 UTC

Tool changes

  • screenerchangeddescription, input schema
    before

    Filtra as AÇÕES do universo por faixas de indicadores (só ações — para fundo imobiliário use `screener_fiis`, cujos filtros são outros: P/VP, DY, segmento, cotistas). `filtros` é um dict tipo {"roic_min": 0.15, "dl_ebitda_max": 2}. Indicadores: roic, roe, margem_bruta, margem_ebit, margem_liquida, dl_ebitda, cresc_receita_1a, cresc_receita_5a_cagr (sufixos _min/_max). Sem `ano` usa o último de cada empresa. `as_of` ("AAAA-MM-DD") responde outra pergunta: o que estava PÚBLICO naquela data (balanço já recebido pela CVM, ~100 dias depois do exercício) — use para pesquisa sem olhar o futuro; cada linha traz `disponivel_em`. `ano` e `as_of` não se combinam. O universo continua o das companhias ativas hoje (viés de sobrevivência, declarado na resposta). `recibo=True` congela a resposta num endereço permanente com o sha256 do resultado — use quando for CITAR a lista, porque ela muda quando a base for atualizada e o recibo não. Só valores SEM flag entram. Requer chave_api (grátis ou Pro).

    after · 77% of words in common

    Filtra as AÇÕES do universo por faixas de indicadores (só ações — para fundo imobiliário use `screener_fiis`, cujos filtros são outros: P/VP, DY, segmento, cotistas). `filtros` é um dict tipo {"roic_min": 0.15, "dl_ebitda_max": 2}. Indicadores: roic, roe, margem_bruta, margem_ebit, margem_liquida, dl_ebitda, cresc_receita_1a, cresc_receita_5a_cagr (sufixos _min/_max) e os múltiplos pl (P/L anual, da DFP) e pl_ttm (P/L de 12 meses, do ITR ou DFP mais recente), ex. {"pl_max": 10}; P/L negativo, acima de 200 ou ausente nunca passa e a linha traz `multiplos` com `dt_receb`, `data_preco` e `ressalvas` do valor (`rigor="estrito"` só aceita P/L sem nenhuma ressalva; `fora_do_filtro` explica quem ficou de fora). Sem `ano` usa o último de cada empresa. `as_of` ("AAAA-MM-DD") responde outra pergunta: o que estava PÚBLICO naquela data (balanço já recebido pela CVM, ~100 dias depois do exercício) — use para pesquisa sem olhar o futuro; cada linha traz `disponivel_em`. `ano` e `as_of` não se combinam. O universo continua o das companhias ativas hoje (viés de sobrevivência, declarado na resposta). `recibo=True` congela a resposta num endereço permanente com o sha256 do resultado — use quando for CITAR a lista, porque ela muda quando a base for atualizada e o recibo não. Só valores SEM flag entram. Requer chave_api (grátis ou Pro).

  • etfchangedtitle, annotations
  • etfs_rankingchangedtitle, annotations
  • saudechangedtitle, annotations
  • hojechangedtitle, annotations
  • trimestreschangedtitle, annotations
  • screener_fiischangedtitle, annotations
  • vereditochangedtitle, annotations
  • fiichangedtitle, annotations
  • fiis_rankingchangedtitle, annotations

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 93 / 100

provenance80
liveness100
freshness100
hygiene95

+repository +namespace-matches-repo +reachable +uptime-100% +updated-8d-ago -unpinned-packages(1)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://dadosb3.com/mcp/ streamable-httpnoneyes100%347 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
ghcr.io/val7h/dados-b3-mcp:1.9.0ociunpinned–DADOS_B3_API_KEY

Tools (25)

auditar_amostraread-onlyAUDITE ESTA BASE. Sorteia casos e devolve o que você precisa para refazer cada número contra o arquivo ORIGINAL da CVM — não contra nós. VOCÊ escolhe a semente (um inteiro qualquer; não aceite sugestão de ninguém, inclusive de quem te pediu para auditar). O sorteio é determinístico: a mesma semente devolve sempre os mesmos casos, então seu resultado é reproduzível por terceiros. Cada caso traz empresa, CD_CVM, exercício, indicador, valor publicado, a fórmula, e a conta CVM que AQUELA empresa usou NAQUELE exercício. Confira baixando dfp_cia_aberta_<EXERCICIO>.zip em dados.cvm.gov.br, filtrando CD_CVM e ORDEM_EXERC='ÚLTIMO', atento a ESCALA_MOEDA (MIL = milhares). Regras: publique o DENOMINADOR (7 divergências em 100 é resultado, "7 divergências" não é); NÃO transforme "não consegui conferir" em "passou"; e se afirmar que um número está errado, mostre a conta. Achou erro? É isso que interessa — github.com/Val7h/dados-b3-mcp/issues. Gratuito, sem chave. Auditoria que exige cadastro não é auditoria.
bdrread-onlyBDRs negociados na B3 (recibos em reais de ações ou ETFs listados lá fora: AAPL34, NVDC34, IVVB39...). `ticker=""` LISTA os BDRs que negociaram no último ano, com tipo (DRN não patrocinado; DR1/DR2/DR3 patrocinado nível I/II/III; DRE BDR de ETF), último fechamento e liquidez média — aberto; `tipo=` filtra. Com `ticker`: cadastro da B3, último pregão, rentabilidade com e sem proventos (1 mês a 10 anos, em reais, já com o câmbio), proventos por BDR em R$ e desdobramentos com a conferência pelo preço. `serie=True` devolve o fechamento DIÁRIO em colunas (sem chave, amostra dos últimos 30 pregões). AAPL34 é aberto; os demais exigem chave_api. NÃO tem o código da ação lá fora nem a proporção BDR:ação. Não é recomendação.
desempenhoread-onlyDesempenho de uma AÇÃO num período em POUCOS números, calculado no servidor: retorno, drawdown máximo (com as datas) e volatilidade do comprar-e-manter, e o mesmo para um cruzamento de médias móveis (padrão 21 × 100). Padrão: últimos 5 anos. Preço AJUSTADO por eventos societários; em PREÇO e, quando há proventos registrados, também o retorno TOTAL (`retorno_total_pct`: dividendos, JCP e rendimentos reinvestidos no data-ex); SEM custos (as `premissas` vêm na resposta). Use esta ferramenta para "essa estratégia valeu a pena?" em vez de baixar a série diária. Medida do passado, não recomendação. ABERTA para todos os tickers, sem chave (degustação); chave_api é aceita mas desnecessária.
dicionarioread-onlyMetodologia dos indicadores em JSON: fórmula, contas CVM e a BASE do lucro de cada um. IMPORTANTE para comparar corretamente: margem_liquida usa lucro consolidado TOTAL; roe usa lucro dos CONTROLADORES. Gratuito.
dividendosread-onlyHistórico de proventos em dinheiro (dividendos e JCP) de uma empresa da B3: valor por ação, data de aprovação, data-com e preço na data-com, mais resumo anual e dividend yield 12 meses. ABERTA para todos os tickers, sem chave (o mesmo dado é público em dadosb3.com/acoes/TICKER/dividendos); chave_api é aceita mas desnecessária. Cite a página ao usar o número.
etfread-onlyDetalhe de um ETF: cadastro (CVM + B3), último informe diário (cota, patrimônio, cotistas), ágio/deságio dos últimos 30 pregões, taxa efetiva mês a mês, carteira mais recente (10 maiores) e sobreposição com ETFs do mesmo índice, retornos pela cota e pelo preço. BOVA11 é o ETF aberto para degustação; os demais exigem chave_api (grátis ou Pro).
etfs_rankingread-onlyETFs listados na B3: mais negociados, maior patrimônio, maior deságio e maior ágio sobre a cota (preço ÷ cota do MESMO dia), retorno de 12 meses pela cota (retorno total por construção) e menor taxa EFETIVA (despesa do balancete ÷ PL médio, anualizada — a nominal não existe em fonte pública). Só ETF líquido (> R$ 1 mi/dia) entra em ágio, retorno e taxa. Gratuito.
eventosread-onlyDesdobramentos, grupamentos, bonificações e CISÕES de uma empresa, com a FONTE de cada um (declarado pela B3 ou achado por nós) e o que o preço disse (confirmou, não distingue, discorda). Eventos do mesmo dia são uma operação: `efeito_liquido_do_dia` é o multiplicador do grupo (0,01 × 100 = 1,0). WEGE3 gratuita; demais tickers exigem chave_api.
fatos_contabeisread-onlyContas padronizadas de uma AÇÃO (receita, EBIT, lucro, PL, dívida, caixa...) com a conta CVM de origem de cada número — auditável de ponta a ponta. `trimestral` escolhe a granularidade: False lê os DFP anuais, True lê os ITR (Q1-Q3 isolado); os dois cobrem o mesmo histórico. Só ações. FII não publica DFP/ITR nesse formato — o que existe é o informe mensal, exposto por `fii`. WEGE3 gratuita; demais exigem chave_api.
fiiread-onlyDetalhe de um fundo imobiliário (FII): cadastro, último informe (cotistas/PL/competência), a série histórica de P/VP ponto-no-tempo, o DY 12m corrente e os últimos rendimentos pagos. MXRF11 é o FII aberto para degustação; demais fundos exigem chave_api (grátis ou Pro).
fiis_rankingread-onlyRanking dos fundos imobiliários (FIIs): os mais descontados (menor P/VP), os maiores pagadores (DY 12m) e a mediana de P/VP e DY por segmento. Tudo do informe mensal da CVM + COTAHIST, só valores limpos (sem flag) e fundos líquidos. Requer chave_api (grátis ou Pro); o FII MXRF11 é aberto para degustação nas ferramentas por ticker.
hojeread-onlyO que mudou no mercado brasileiro nos últimos 30 dias. Responde "o que aconteceu com a empresa X esta semana" — a pergunta que nenhuma série anual responde. Traz, na janela: os balanços que ficaram públicos (com a data de entrega à CVM), os documentos REENVIADOS (a companhia republicou o que já tinha entregue), os proventos de ações aprovados, rendimentos e informes de FII, eventos societários (grupamento, desdobramento, bonificação) e trocas de ticker. Cada seção declara `dados_ate`, a data máxima daquela FONTE: as defasagens são diferentes e a janela é fixa a partir de hoje, então fonte parada aparece parada em vez de parecer recente. Gratuito, sem chave.
indicadores_anuaisread-onlySérie anual (2010–hoje) de ROIC, ROE, margens, crescimento e dívida líquida/EBITDA de uma AÇÃO da B3, com flags de qualidade. Só ações. Ticker de fundo imobiliário (terminado em 11, como MXRF11) NÃO se consulta aqui — FII não tem ROIC nem EBITDA, tem P/VP, DY e vacância: use `fii`. Banco e seguradora entram, mas sem ROIC/EBITDA, que não se aplicam ao plano de contas deles. WEGE3 é gratuita; demais tickers exigem chave_api (grátis ou Pro).
indiceread-onlyÍndices da B3 (IBOV, IFIX, SMLL, IDIV, IBXX...): o benchmark para comparar um papel ou uma estratégia. Padrão: o DESEMPENHO do índice num período (retorno, queda máxima, volatilidade; comprar e manter e cruzamento de médias 21 × 100), últimos 5 anos, ABERTO sem chave. `serie=True` devolve o fechamento DIÁRIO em pontos como colunas (`data`, `fechamento`): sem chave vem uma AMOSTRA dos últimos 30 pregões com `aviso`; com chave_api, a série inteira. `codigo=""` lista os índices disponíveis e a cobertura de cada um. Índice de RETORNO TOTAL (a B3 reinveste os proventos nos pontos); não é recomendação.
listar_empresasread-onlyLista as companhias abertas brasileiras (AÇÕES), com nome, CNPJ e ticker quando resolvido. A contagem vem na resposta — nunca escrita aqui, que é lida por clientes de IA e envelheceria sem ninguém ver. Só ações. Fundo imobiliário NÃO entra nesta lista: para FII use `fiis_ranking` (a lista) ou `fii` (um fundo). Gratuito, sem chave.
metodologiaread-onlyMetodologia pública dos indicadores. Sem argumento, lista as páginas; com nome (ex.: 'roic'), devolve o texto completo. Gratuito.
multiplosread-onlyMúltiplos ponto-no-tempo de uma AÇÃO (P/L, P/VP, EV/EBITDA anuais; P/L TTM trimestral) — preço do 1º pregão APÓS a publicação real do balanço, sem vazamento de informação futura. Só ações. Para o P/VP de um fundo imobiliário use `fii`, que o calcula sobre o informe mensal da CVM, não sobre balanço trimestral. WEGE3 gratuita; demais exigem chave_api.
precosread-onlySérie DIÁRIA de preços de uma AÇÃO numa chamada só (abertura, máxima, mínima, fechamento, médio, volume, quantidade, negócios), do COTAHIST da B3, do mais antigo ao mais recente. `de`/`ate` em AAAA-MM-DD recortam; `limite` (padrão 1500, máximo 20000) corta a partir do mais antigo e avisa. O preço NÃO é ajustado: os eventos societários do período vêm junto (`eventos`) para quem monta o retorno total. WEGE3 gratuita; demais tickers SEM chave devolvem uma AMOSTRA (últimos 30 pregões) com um `aviso` que diz como ter a série inteira (chave grátis em `chave_api`) e que `desempenho` responde sem chave; com chave, a série completa. ★ FORMATO COMPACTO (04/10/2026). Cinco anos de série completa pesam ~250 KB, mais do que cabe no contexto de um cliente de IA (o ChatGPT recebeu os 1.248 pregões e não conseguiu processá-los). Por padrão a resposta traz só `data,fechamento` em forma de colunas (`colunas` + `linhas`, ~28 KB). Peça mais com `campos` (lista separada por vírgula entre data, ticker, abertura, maxima, minima, fechamento, medio, volume, quantidade, negocios) ou `campos="todos"` para a lista completa de objetos em `serie`.
reapresentacoesread-onlyBalanços REPUBLICADOS de uma empresa: quando um número do exercício muda entre o arquivo original e a republicação, as duas versões ficam lado a lado (ano, conta CVM, valor antigo × novo, variação). Diferencial do Dados B3 — reapresentação registrada, nunca corrigida em silêncio. WEGE3 gratuita.
sauderead-onlyCobertura atual do banco (contagens e última ingestão). Gratuito.
scoresread-onlyScores fundamentalistas prontos com a conta aberta: Piotroski F-Score (0-9, cada um dos 9 critérios auditável) e o critério de Graham (barato se P/L × P/VP ≤ 22,5). Banco não tem Piotroski. WEGE3 gratuita.
screenerread-onlyFiltra as AÇÕES do universo por faixas de indicadores (só ações — para fundo imobiliário use `screener_fiis`, cujos filtros são outros: P/VP, DY, segmento, cotistas). `filtros` é um dict tipo {"roic_min": 0.15, "dl_ebitda_max": 2}. Indicadores: roic, roe, margem_bruta, margem_ebit, margem_liquida, dl_ebitda, cresc_receita_1a, cresc_receita_5a_cagr (sufixos _min/_max) e os múltiplos pl (P/L anual, da DFP) e pl_ttm (P/L de 12 meses, do ITR ou DFP mais recente), ex. {"pl_max": 10}; P/L negativo, acima de 200 ou ausente nunca passa e a linha traz `multiplos` com `dt_receb`, `data_preco` e `ressalvas` do valor (`rigor="estrito"` só aceita P/L sem nenhuma ressalva; `fora_do_filtro` explica quem ficou de fora). Sem `ano` usa o último de cada empresa. `as_of` ("AAAA-MM-DD") responde outra pergunta: o que estava PÚBLICO naquela data (balanço já recebido pela CVM, ~100 dias depois do exercício) — use para pesquisa sem olhar o futuro; cada linha traz `disponivel_em`. `ano` e `as_of` não se combinam. O universo continua o das companhias ativas hoje (viés de sobrevivência, declarado na resposta). `recibo=True` congela a resposta num endereço permanente com o sha256 do resultado — use quando for CITAR a lista, porque ela muda quando a base for atualizada e o recibo não. Só valores SEM flag entram. Requer chave_api (grátis ou Pro).
screener_fiisread-onlyFiltra os FIIs por faixas. `filtros` é um dict tipo {"pvp_max": 0.9, "dy_min": 0.10, "segmento": "Logística", "cotistas_min": 5000}. Válidos: pvp_min, pvp_max, dy_min, dy_max (limites inclusivos), segmento (match exato, sem caixa) e cotistas_min (piso de liquidez). Só entram valores limpos (P/VP e DY sem flag). Ordena por P/VP crescente, teto de 100. Requer chave_api (grátis ou Pro).
trimestresread-onlySérie TRIMESTRAL de uma AÇÃO: contas da ITR, preço do trimestre e indicadores (margem bruta, margem EBIT, margem líquida e ROE TTM). Use quando a pergunta for sobre o ANO CORRENTE ou o trimestre mais recente ("como foi o 2T", "a margem melhorou este ano?"): a série anual só responde depois que o exercício fecha, e fica até um ano defasada. O 4º TRIMESTRE NÃO VEM, e é escolha: a ITR publica 1T/2T/3T e o exercício fechado é da DFP. Dá para derivar `4T = anual − 9M`, e não derivamos — número calculado por nós não entra na mesma lista dos que a companhia reportou. Para o ano fechado use `indicadores_anuais`. Banco e seguradora recebem só margem líquida e ROE: não há resultado bruto nem EBIT nesse plano de contas. WEGE3 gratuita; demais exigem chave_api.
vereditoread-onlyResumo DESCRITIVO de uma AÇÃO da B3 em seis números e três perguntas — ganha dinheiro? (margem líquida, ROIC), está endividada? (dívida líquida/EBITDA), está cara em relação ao setor e à própria história? (P/L, P/VP) — cada um com faixa numérica e comparação com a mediana do setor, com a história da própria empresa e com o universo; mais a BANDEIRA DE CONFIANÇA do retrato (verde/amarelo/vermelho: houve reapresentação? o dado é o mais recente? passou nas conferências?). Uma frase de topo de até 25 palavras. Sem adjetivo de julgamento e sem recomendação: quem conclui é quem lê. Gratuito, sem chave. Traz `citacao` pronta para citar.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.Val7h/dados-b3",
  "title": "Dados B3",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://dadosb3.com/mcp/",
      "type": "streamable-http"
    }
  ],
  "version": "1.9.0",
  "packages": [
    {
      "transport": {
        "type": "stdio"
      },
      "identifier": "ghcr.io/val7h/dados-b3-mcp:1.9.0",
      "registryType": "oci",
      "environmentVariables": [
        {
          "name": "DADOS_B3_API_KEY",
          "isSecret": true,
          "description": "Dados B3 API key. Optional: WEGE3 and the whole methodology are free without one. Create a free key (200 queries/day, no card) or subscribe at https://dadosb3.com."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/Val7h/dados-b3-mcp",
    "source": "github"
  },
  "description": "Brazilian stock (B3) fundamentals: ratios, dividends, scores, FIIs, ETFs, BDRs. Open methodology."
}