dados-b3-mcp is an MCP connector that lets AI agents (Claude, ChatGPT, Cursor, etc.) access fundamentals data for Brazilian listed companies (B3), covering 2010 to the present, including banks and insurance companies.
Purpose To provide AI agents with auditable fundamentals data for the Brazilian stock market (B3), for use cases such as fundamental analysis, valuation and backtesting.
Main capabilities
- Financial metrics: ROE, ROIC, margins, growth, net debt/EBITDA.
- Point-in-time valuation multiples: P/E, P/B, EV/EBITDA, with prices taken from the first trading day on or after the day the financial statements were actually published—no look-ahead, usable for backtesting.
- Dividends and dividend yield.
- Ready-made scores: Piotroski F-Score and Graham.
- Restatements records: when a company refiles, both versions are kept side by side.
- Banks and insurance companies: financial institutions use a different chart of accounts (no EBIT and no sales revenue). The connector classifies them by their actual chart of accounts and returns metrics that are meaningful for them—ROE, margins, growth, P/E, P/B, dividends—and intentionally does not publish ROIC, EBITDA or EV/EBITDA, because these metrics do not apply. Examples include Itaú, Bradesco, Banco do Brasil, BB Seguridade, IRB.
Data sources and quality Data comes from CVM open data (ODbL) and B3 (COTAHIST). Every figure carries the CVM account it came from; it is only published after passing a series of invariant tests (balance sheet balance, income statement reconciliation, price not earlier than the financial statements it is based on).
How to use Use 1—Remote (no installation, recommended): add the remote connector to your AI client. In Claude: Settings → Connectors → Add custom connector → paste the URL. Remote address:https://dados-b3.onrender.com/mcp/ Use 2—Local (stdio). Use 3—Docker image (one command, no local Python): the image is published on every push to main. For MCP directories: the directory can actually run the server for evaluation. Python client: pip install dadosb3 — the official client for the same API, with typed errors and one method per tool:https://pypi.org/project/dadosb3/
Access and keys WEGE3 and the entire methodology are open to try, no key required. Other companies can, at https://dadosb3.com/chave-gratis?de=github create a free key (200 queries per day, no credit card required), or subscribe to Pro:https://dadosb3.com/assinar?de=github,通过 pass the key via the chave_api parameter or the DADOS_B3_API_KEY environment variable. The number of companies is deliberately not written here: the coverage grows when CVM publishes, and a number frozen in the README would go stale without anyone noticing. To get today's number, call saude.
Limitations
- trimestres intentionally stops at the third quarter. Interim reports (ITR) never contain a standalone fourth quarter—it can be derived by subtracting nine months from the full year, but this project does not derive it: a calculated figure would appear in the same list as figures reported by the company, carrying the error from both documents, and blurring the line between "published" and "we calculated". For a complete year, query the annual series.
- Banks and insurance companies do not publish ROIC, EBITDA or EV/EBITDA, because these metrics do not apply to them.
License The connector is MIT licensed. The underlying data is public (CVM/B3); the service adds standardization, methodology and tests.