Skip to main content

SDK em Python e servidor MCP para o cnpjaberto.com.br, cadastro aberto de empresas brasileiras (CNPJ).

Project description

cnpjaberto

SDK em Python e servidor Model Context Protocol (MCP) para o cnpjaberto.com.br, o cadastro aberto de empresas brasileiras (CNPJ). Permite consulta de empresa, grafo de sócios, joins por endereço e contato, estatísticas por CNAE, e panoramas nacional e anual.

pip install cnpjaberto          # apenas SDK
pip install cnpjaberto[mcp]     # SDK + servidor MCP para Claude Desktop e similares

Início rápido com o SDK

from cnpjaberto import Client

with Client() as cnpj:                       # lê CNPJABERTO_API_KEY do ambiente
    empresa = cnpj.lookup("18.236.120/0001-58")
    print(empresa["razao_social"])

    achados = cnpj.search("nubank", per_page=5)
    for h in achados["results"]:
        print(h["cnpj"], h["razao_social"])

    snap = cnpj.panorama_year(2024)
    print(f"{snap['abertas']:,} abertas, {snap['fechadas']:,} fechadas em 2024")

Chamadas anônimas funcionam, sujeitas ao rate limit público. Para a cota diária do plano Pro, gere uma chave em cnpjaberto.com.br/planos e exporte:

export CNPJABERTO_API_KEY=sua_chave_aqui

Servidor MCP (Claude Desktop, Cursor, Cline)

Instale o extra e adicione esta config no seu cliente.

pip install cnpjaberto[mcp]

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "cnpjaberto": {
      "command": "cnpjaberto-mcp",
      "env": { "CNPJABERTO_API_KEY": "sua_chave_aqui" }
    }
  }
}

Reinicie o Claude Desktop. Agora dá para perguntar coisas como:

  • "Consulta o CNPJ 18.236.120/0001-58 e me diz quando foi fundado."
  • "Quantas empresas brasileiras abriram em 2024 vs 2023? Quais estados mais cresceram?"
  • "Acha empresas onde 'Maria Silva' aparece como sócia, agrupando por estado."
  • "Que outras empresas estão registradas no mesmo endereço da matriz da Magazine Luiza?"

Tools expostas

Tool O que retorna
lookup_cnpj(cnpj) Registro completo: razão social, capital, sócios, com estabelecimentos[] (matriz e filiais, endereço, telefones, CNAEs)
list_filiais(cnpj) Filiais de uma matriz, paginado, filtro opcional por UF
search_companies(query) Busca por razão social, fantasia ou dígitos do CNPJ (mínimo 3 chars)
companies_by_owner(name) Empresas onde a pessoa aparece como sócia; cpf ajuda a desambiguar homônimos
companies_at_same_address(cep, logradouro, numero) Outras empresas registradas no mesmo endereço
companies_by_contact(email | ddd+telefone) Empresas que compartilham o mesmo email ou telefone
cnae_stats(codigo) Estatísticas agregadas de um CNAE (contagem, top UFs, top municípios)
panorama_overview() Estatísticas nacionais: top UFs e CNAEs, faixas de capital, idade, histórico de 10 anos
panorama_year(year) Recorte anual: aberturas e fechamentos, série mensal, fatia MEI

Erros tipados

from cnpjaberto import Client, NotFoundError, RateLimitError, AuthError

with Client() as cnpj:
    try:
        cnpj.lookup("00000000000000")
    except NotFoundError:
        ...
    except RateLimitError as e:
        print("Cota diária:", e.payload)
    except AuthError:
        ...

Fonte de dados

Todos os dados vêm do dump público de CNPJ da Receita Federal, atualizado mensalmente. O cnpjaberto.com.br ingere, indexa e serve com lookups sub-segundo, mais joins de valor agregado (grafo de sócios, endereços compartilhados, agregados por CNAE) sobre cerca de 70 milhões de estabelecimentos e 67 milhões de empresas.

Licença

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cnpjaberto-0.1.0.tar.gz (9.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cnpjaberto-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file cnpjaberto-0.1.0.tar.gz.

File metadata

  • Download URL: cnpjaberto-0.1.0.tar.gz
  • Upload date:
  • Size: 9.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cnpjaberto-0.1.0.tar.gz
Algorithm Hash digest
SHA256 235af4a4759ab3c63519d0b5e4adaed2509228283a2c6a42f746253f50e10bd3
MD5 330e6ab2a2f99d84552ff90e2e693b91
BLAKE2b-256 f8e65c1cacce076a88c8beeb3388d5d4017156f9bb13db098c8c605b8196ce92

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnpjaberto-0.1.0.tar.gz:

Publisher: publish.yml on iagoassis-dev/cnpjaberto-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cnpjaberto-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cnpjaberto-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cnpjaberto-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 132fd7b76fcecd7b0f724d2ffb53997362c78785639a23c2bebb05fc2a707dc1
MD5 cf2fe3f060f5bba2a8415c707b35e7c3
BLAKE2b-256 745dd4923b3405a8f5ce3b7ecfde948accb3eb30d01bfada8d8dc690e950764a

See more details on using hashes here.

Provenance

The following attestation bundles were made for cnpjaberto-0.1.0-py3-none-any.whl:

Publisher: publish.yml on iagoassis-dev/cnpjaberto-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page