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")

A chave de API é obrigatória. Crie uma conta gratuita em cnpjaberto.com.br/planos, copie sua chave 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.1.tar.gz (9.4 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.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cnpjaberto-0.1.1.tar.gz
  • Upload date:
  • Size: 9.4 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.1.tar.gz
Algorithm Hash digest
SHA256 65fbb3a743fdb92ec24859396cae9d75bcbebf9cedbe3bc16ba9f93fdeba61b0
MD5 3c099e45f10702919ec955bcb4d0dfbd
BLAKE2b-256 93ceea340288d048cd5acf1f2904127c26d9be896c2126e74938b375dafef617

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on cnpjaberto/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.1-py3-none-any.whl.

File metadata

  • Download URL: cnpjaberto-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 99e22909ef004dce5e9d8d4760d25d6257f897f0fa7e1453cef8a0dc5d88e6c0
MD5 a46f508b4b5e3df6299cee88ed29c4f6
BLAKE2b-256 0db6b5d34540c31985329956ac245622a313e091a7871d3c9d0de6632921e2e8

See more details on using hashes here.

Provenance

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

Publisher: publish.yml on cnpjaberto/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