Command Palette

Search for a command to run...

UnylyUnyly
Browse all

OpenFinData

FreeNot checked

Dados Financeiros Abertos — infraestrutura open source para dados financeiros públicos do Brasil via API REST, MCP, CLI e Python.

GitHubEmbed

About

Dados Financeiros Abertos — infraestrutura open source para dados financeiros públicos do Brasil via API REST, MCP, CLI e Python.

README

Infraestrutura open source para consultar dados financeiros públicos do Brasil em Python, REST, CLI e MCP.

CI Versão Python Licença MIT Estado

O que é

O projeto agrega fontes públicas brasileiras em uma camada única e auditável para analistas, desenvolvedores, pesquisadores e agentes:

  • biblioteca Python assíncrona;
  • API REST com Swagger e ReDoc;
  • CLI findata;
  • servidor MCP em /mcp;
  • registro local para resolver CNPJ, ticker e nome.

As fontes principais não exigem chaves de API e os testes unitários não acessam a rede. O slug de distribuição é openfindata; o pacote importável e a CLI continuam sendo findata.

Instalação

pip install openfindata

Para desenvolvimento local:

git clone https://github.com/robertoecf/openfindata.git
cd openfindata
pip install -e '.[dev]'
bash scripts/git/install-hooks.sh

Uso rápido

CLI

findata bcb get selic -n 10
findata bcb ptax
findata cvm search Petrobras
findata b3 quote PETR4
findata registry lookup 33000167000101
findata serve

Python

import asyncio

from findata.registry import lookup
from findata.sources.bcb import sgs


async def main() -> None:
    selic = await sgs.get_series_by_name("selic", n=5)
    print(selic)

    entity = await lookup("PETR4")
    print(entity.entities[0])


asyncio.run(main())

REST e MCP

findata serve
curl 'http://localhost:8000/bcb/series/name/selic?n=5'
curl 'http://localhost:8000/registry/lookup?q=PETR4'
  • Site local: http://localhost:8000/
  • Chart Lab: http://localhost:8000/charts
  • Swagger: http://localhost:8000/api/docs
  • ReDoc: http://localhost:8000/redoc
  • MCP: http://localhost:8000/mcp

O Chart Lab é a referência visual e informacional para gráficos do projeto, mas o renderer pode ser SVG, PNG, HTML inline ou TradingView Lightweight Charts. O contrato detalhado fica em docs/CHART_STANDARDS.md.

Fontes suportadas

O README mantém só o mapa de alto nível. A matriz completa de fontes, endpoints, notas de autenticação e exemplos de consulta fica em docs/SOURCES_AND_ENDPOINTS.md.

Fontes hoje expostas: BCB, Base dos Dados, CVM, Tesouro, IBGE, IPEA, Open Finance Brasil, B3, Yahoo Finance experimental, ANBIMA, Receita Federal, ANEEL, SUSEP e o registro offline CNPJ/ticker/nome.

Documentação

Qualidade

Antes de propor merge ou release, rode pelo menos:

ruff format --check src/ tests/ scripts/
ruff check src/ tests/ scripts/
mypy src/findata
pytest tests/ -q

Os testes de integração contra APIs públicas reais ficam separados por marcador:

pytest -m integration

Escopo

Este projeto consulta dados públicos. Ele não consulta dados privados de clientes, não armazena credenciais de usuário e não depende de fornecedores comerciais como camada central.

Licença

MIT.

from github.com/robertoecf/OpenFinData

Installing OpenFinData

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/robertoecf/OpenFinData

FAQ

Is OpenFinData MCP free?

Yes, OpenFinData MCP is free — one-click install via Unyly at no cost.

Does OpenFinData need an API key?

No, OpenFinData runs without API keys or environment variables.

Is OpenFinData hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install OpenFinData in Claude Desktop, Claude Code or Cursor?

Open OpenFinData on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare OpenFinData with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs