Brazil CNPJ company registry MCP server
online · 100% uptimeBrazil's open CNPJ registry: filter and count companies by sector, place, size, MEI, partners.
0 stars
Reviews
Write oneNobody has reviewed Brazil CNPJ company registry yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Brazil CNPJ company registry tools (8)
write = sends, deletes, buys or postscompanies_at_addressFreeEstablishments registered at one address, by CEP (8 digits), optionally narrowed by street text, number, municipio or uf. Use it to find companies sharing an address.
count_companiesFreeCount companies or establishments, optionally grouped by one or two fields. Filters (all optional, combined with AND): cnae (CNAE code or prefix, e.g. '4711' or '47', list ok; add include_secondary to also match secondary activities), cnae_secao (letter A-U), uf, municipio (name as in Receita, accents ignored), municipio_codigo, situacao (ativa, baixada, suspensa, inapta, nula), matriz_only, porte (micro = ME, pequeno = EPP, demais, nao_informado), natureza_juridica (code prefix like '2062' or text like 'sociedade limitada'), capital_min/capital_max (BRL), opened_from/opened_to (data_inicio_atividade, YYYY-MM or YYYY-MM-DD), closed_from/closed_to (data da baixa), mei, simples (true/false), name_contains (razao social or nome fantasia), cep, partner_name (a partner's name contains this text). group_by options: uf, municipio, cnae_principal, cnae_divisao, cnae_secao, natureza_juridica, porte, situacao, ano_abertura, mes_abertura, ano_baixa, mes_baixa, mei, simples, matriz_filial, motivo_situacao. unit='estabelecimentos' (default) counts every CNPJ incl. filiais; unit='empresas' counts companies (matriz only). metric='sum_capital' sums declared capital social (BRL, companies only). Examples: MEIs opened per month in a state, active agro companies per municipality, closures by year.
dataset_infoFreeWhat data is loaded: source, snapshot month, row counts, field meanings and caveats. Call first if unsure what the tools cover.
get_companyFreeOne company by CNPJ (14 digits, with or without punctuation; or the 8-digit root to get the matriz): registration, company data, Simples/MEI, address and contacts, secondary CNAEs, partners (with names), and how many establishments the company has.
list_partnersFreePartners (socios) of one company by CNPJ root or full CNPJ: names, type, role (qualificacao), entry date, age band. CPFs are masked by Receita. faixa_etaria: 1 = 0-12, 2 = 13-20, 3 = 21-30, 4 = 31-40, 5 = 41-50, 6 = 51-60, 7 = 61-70, 8 = 71-80, 9 = over 80, 0 = not applicable.
lookup_codesFreeLook up Receita's code tables by text or code. kind: cnae (activity), natureza_juridica (legal form), municipio, motivo (reason for status), qualificacao (partner role), pais. Use it to find the CNAE code for a sector, or the municipio name Receita uses, before filtering.
search_companiesFreeFind companies/establishments matching filters. Filters (all optional, combined with AND): cnae (CNAE code or prefix, e.g. '4711' or '47', list ok; add include_secondary to also match secondary activities), cnae_secao (letter A-U), uf, municipio (name as in Receita, accents ignored), municipio_codigo, situacao (ativa, baixada, suspensa, inapta, nula), matriz_only, porte (micro = ME, pequeno = EPP, demais, nao_informado), natureza_juridica (code prefix like '2062' or text like 'sociedade limitada'), capital_min/capital_max (BRL), opened_from/opened_to (data_inicio_atividade, YYYY-MM or YYYY-MM-DD), closed_from/closed_to (data da baixa), mei, simples (true/false), name_contains (razao social or nome fantasia), cep, partner_name (a partner's name contains this text). Returns up to 100 rows per page, ordered by opening date (newest first) unless order_by is capital_social or razao_social. Use count_companies for 'how many' questions. Set include_contacts to add email, phones, full address and a registry_contact_quality block (0-100 score of how likely the REGISTERED email/phone from Receita is a real direct contact, with the signals behind it; it says nothing about the website) and, when the company's own website was crawled, a separate website_contacts block (WhatsApp, phones, emails, social profiles found on its public pages, each with source_url). min_contact_score keeps only companies whose REGISTERED contact (the email and phones on the Receita record, not the website) scores at or above it. Pass an integer 0-100, or a tier name: 'high' = 85, 'medium' = 50, 'low' = 0 (e.g. min_contact_score=50 or 'medium' for medium and high). The filter is applied after the page is read, so a call scans at most 2000 candidates and returns pagination.next_offset to continue.
search_partnersFreeFind the companies a person or entity is a partner of, by name. Exact (accent-insensitive, case-insensitive) match on the partner name by default; set contains=true for a substring match. Optionally narrow with cpf_middle (the 6 digits Receita publishes, e.g. '240659') because the same name can belong to different people. Returns company name, status and role.
Public scan report
scanner v0.1.10 · 2026-10-09 · same rubric, same numbers if you re-run it
- –Code scanremote-only server, no package to scann/a
- Live reliabilityremote reachable in 555ms20/20
- Tool poisoning8 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Brazil CNPJ company registry compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 91/100
- higher than 85% of 48,255 servers
- Tools
- 8
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Uptime
- 100%
- of our recent checks; the typical remote server answers 100%
- Response time
- 83 ms
- faster than 87% of 30,031 servers
What its tools let an agent do: 8 read
Install Brazil CNPJ company registry in Claude Code, Cursor or VS Code
claude mcp add --transport http cnpj-mcp https://cnpj-mcp.fly.dev/mcp
What the publisher says
From the Brazil CNPJ company registry repository's README, as published. We do not edit it. Read it on GitHub
cnpj-mcp
An MCP server for analytical questions over Brazil's open company registry (CNPJ), built from Receita Federal's monthly open-data dump. It is made for questions about many companies at once, not for looking up a single number:
- How many MEIs were opened per month in Minas Gerais since 2023?
- Which municipalities in Mato Grosso have the most active soy and grain companies?
- Which companies share one address, and who are their partners?
- How many companies closed each year, and for what reason?
Single-CNPJ lookup is included, but free APIs already do that well.
What is in it
Every establishment, company, partner and Simples/MEI record in Receita's dump, joined and typed for fast queries. Values stay in Portuguese, exactly as Receita publishes them. See dataset_info for the loaded snapshot month and row counts.
Source: Receita Federal, Dados Abertos CNPJ, https://www.gov.br/receitafederal/pt-br/acesso-a-informacao/dados-abertos/cadastros
Use it
Hosted endpoint (streamable HTTP): listed in the MCP registry as io.github.bnovarini/cnpj-mcp.
Or run it yourself:
pip install "cnpj-mcp[ingest]"
cnpj-mcp ingest 2026-09 ./raw # streams Receita's zips straight to Parquet, about 7 GB downloaded
cnpj-mcp build 2026-09 ./raw ./data # joins and types them
CNPJ_DATA_DIR=./data cnpj-mcp # MCP server over stdioingest needs curl and unzip on the PATH. It never writes the zip or the CSV to disk, so disk use is only the Parquet output (about 8 GB). It skips files that are already done, so you can re-run it after an interruption. The build step needs about 20 GB of free space for sorting and the swap.
Tools: datasetinfo, searchcompanies, countcompanies, getcompany, listpartners, searchpartners, companiesataddress, lookup_codes.
Contact quality score
getcompany and searchcompanies (with includecontacts) return a registrycontactquality block: a 0-100 contactscore, a tier (high 85+, medium 50-84, low below 50) and the signals behind it. It estimates how likely the email or phone registered with Receita is a real, direct contact. It does not check that anyone answers.
Signals, all computed from the Receita dump itself:
- Email kind: corporate domain, free provider (gmail, hotmail, uol...), accountant-looking address, mistyped free provider (gmial.com), or invalid.
- How many companies share the same email, and how many use the same email domain. One company is a good sign; dozens usually means an accountant or a shared mailbox.
- Whether the email matches the company name.
- Phone type (mobile or landline; Receita often stores mobiles without the ninth digit) and how many companies share the phone.
contactscore is the better of the email score and the phone score. mincontactscore on searchcompanies takes an integer 0-100 or a tier name (low = 0, medium = 50, high = 85) and keeps only companies whose registered contact scores at or above it. It says nothing about the website. It filters after reading each page, so one call looks at most 2000 candidates and returns pagination.nextoffset to continue. Rebuild with python -m cnpjmcp.scores after each monthly build.
Company website contacts (served as a separate block)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Brazil CNPJ company registry: common questions
- Is Brazil CNPJ company registry MCP server safe?
- Yes, by our scan: it is graded A (91/100). Read the Brazil CNPJ company registry safety report
- How do I install Brazil CNPJ company registry?
- It runs remotely at cnpj-mcp.fly.dev. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
- Does Brazil CNPJ company registry need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Brazil CNPJ company registry maintained?
- The last commit was 26 days ago (2026-10-09). The latest release is v0.1.0.
- Is Brazil CNPJ company registry up?
- 100% of our last 28 checks got an answer. We check remote servers about four times a day.
- How does Brazil CNPJ company registry compare with other MCP servers?
- safety score 91/100 (higher than 85% of 48,255 servers); tools 8 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.