point-in-time multiples** (P/E, P/B, EV/EBITDA priced at the first trading session *on or after* the day the filing actually became public — no look-ahead, usable for backtests), **dividends and dividend yield**, ready-made scores (Piotroski F-Score and Graham)** and a **record of restated filings**.
Dados B3 — MCP server (Brazilian stock market, auditable fundamentals)
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
*Português abaixo*
An MCP connector that gives your AI agent
(Claude, ChatGPT, Cursor and others) access to **fundamentals for Brazilian
listed companies (B3) — banks and insurers included — from 2010 to today**,
with a **fully published methodology**: ROE, ROIC, margins, growth, net
debt/EBITDA, **point-in-time multiples** (P/E, P/B, EV/EBITDA priced at the
first trading session *on or after* the day the filing actually became
public — no look-ahead, usable for backtests), **dividends and dividend yield**,
**ready-made scores (Piotroski F-Score and Graham)** and a **record of restated
filings**.
Sources: CVM open data (ODbL) and B3 (COTAHIST). Every figure carries the CVM
account it came from, and **nothing is published unless a suite of invariant
tests passes** — the balance sheet balances, the income statement reconciles,
and a price never precedes the filing that justifies it.
Product and plans: **https://dadosb3.com/?de=github**
Use 1 — remote (nothing to install, recommended)
Add this remote connector to your AI client:
In Claude: Settings → Connectors → add custom connector → paste the URL.
Use 2 — local (stdio)
Use 3 — Docker image (one command, no local Python)
The image is published on every push to main
(.github/workflows/publicar-imagem.yml). It exists for two reasons: a
one-command install path, and letting MCP directories actually run the server
in order to evaluate it.
Tools
| Tool | What it does | Free? |
|---|---|---|
| listar_empresas | Every covered company (name, tax ID, ticker), banks and insurers included | yes |
| indicadores_anuais | ROE, ROIC, margins, growth, net debt/EBITDA — annual series from 2010 | WEGE3 yes; others need a key |
| multiplos | P/E, P/B, EV/EBITDA point-in-time; trailing P/E | WEGE3 yes; others need a key |
| fatos_contabeis | Standardised accounts carrying the CVM code each figure came from | WEGE3 yes; others need a key |
| dividendos | Cash distributions, annual summary and 12-month dividend yield | WEGE3 yes; others need a key |
| scores | Piotroski F-Score with all nine criteria shown, plus the Graham test | WEGE3 yes; others need a key |
| reapresentacoes | Restated filings — the original and the revised figure side by side | WEGE3 yes; others need a key |
| trimestres | Quarterly series: Q1/Q2/Q3 accounts as filed, the quarter's price, margins and trailing ROE | WEGE3 yes; others need a key |
| etfs_ranking | B3 ETFs: most traded, largest net assets, largest premium/discount to same-day NAV, 12m NAV return, lowest EFFECTIVE fee | yes |
| etf | One ETF: daily NAV (FNET filing), premium/discount, monthly effective fee, portfolio (CDA) and overlap with peers | BOVA11 yes; others need a key |
| auditar_amostra | Draws cases with YOUR seed so you can recompute each figure against the CVM file (formula, account, where to look) | yes |
| fiis_ranking | Most discounted FIIs (point-in-time P/B), highest 12m yield and medians by segment | needs a key |
| hoje | What changed in the last 30 days: filings published, filings **re-sent**, dividends, fund distributions, corporate actions, ticker changes | yes |
| fii | One real-estate fund: point-in-time P/B, 12-month yield, vacancy, recent distributions | MXRF11 yes; others need a key |
| fiis | Filters funds by P/B and dividend-yield ranges | key required |
| screener | Filters the whole market by indicator ranges; as_of answers what was PUBLIC on a date (no look-ahead); recibo=True freezes the answer at a permanent, citable address | key required |
| recibo | Reads a frozen screener query: question, cut-off date, data version, result and its sha256 | yes |
| veredito | Descriptive summary of one stock: six numbers in three questions, each with its numeric band and comparison (sector median, the company's own history, the whole market), plus the data confidence flag — facts, never advice | yes, any stock |
| desempenho | "Was it worth it?" in a few numbers, computed server-side: return, max drawdown, volatility and a 21 x 100 moving-average crossover vs buy-and-hold, on the split-adjusted price and, when dividends are recorded, the TOTAL return (dividends and JCP reinvested on the ex-date). Open for every ticker | yes |