Brazil CNPJ company registry
Server Details
Brazil's open CNPJ registry: filter and count companies by sector, place, size, MEI, partners.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- bnovarini/cnpj-mcp
- GitHub Stars
- 0
TDQS
Score is being calculated.
Available Tools
8 toolscompanies_at_addressInspect
Establishments 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.
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | ||
| cep | No | ||
| limit | No | ||
| numero | No | ||
| offset | No | ||
| situacao | No | ativa | |
| municipio | No | ||
| logradouro_contains | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
count_companiesInspect
Count 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.
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | ||
| cep | No | ||
| mei | No | ||
| cnae | No | ||
| unit | No | estabelecimentos | |
| limit | No | ||
| order | No | count_desc | |
| porte | No | ||
| metric | No | count | |
| simples | No | ||
| group_by | No | ||
| situacao | No | ||
| closed_to | No | ||
| municipio | No | ||
| opened_to | No | ||
| cnae_secao | No | ||
| capital_max | No | ||
| capital_min | No | ||
| closed_from | No | ||
| matriz_only | No | ||
| opened_from | No | ||
| partner_name | No | ||
| name_contains | No | ||
| municipio_codigo | No | ||
| include_secondary | No | ||
| natureza_juridica | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
dataset_infoInspect
What data is loaded: source, snapshot month, row counts, field meanings and caveats. Call first if unsure what the tools cover.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_companyInspect
One 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.
| Name | Required | Description | Default |
|---|---|---|---|
| cnpj | Yes |
list_partnersInspect
Partners (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.
| Name | Required | Description | Default |
|---|---|---|---|
| cnpj | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
lookup_codesInspect
Look 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.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| text | Yes | ||
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
search_companiesInspect
Find 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.
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | ||
| cep | No | ||
| mei | No | ||
| cnae | No | ||
| limit | No | ||
| porte | No | ||
| offset | No | ||
| simples | No | ||
| order_by | No | data_inicio_atividade | |
| situacao | No | ||
| closed_to | No | ||
| municipio | No | ||
| opened_to | No | ||
| cnae_secao | No | ||
| capital_max | No | ||
| capital_min | No | ||
| closed_from | No | ||
| matriz_only | No | ||
| opened_from | No | ||
| partner_name | No | ||
| name_contains | No | ||
| include_contacts | No | ||
| municipio_codigo | No | ||
| include_secondary | No | ||
| min_contact_score | No | ||
| natureza_juridica | No |
search_partnersInspect
Find 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.
| Name | Required | Description | Default |
|---|---|---|---|
| uf | No | ||
| name | Yes | ||
| limit | No | ||
| offset | No | ||
| contains | No | ||
| cpf_middle | No |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- Changed
search_companies2 fields changed- changed
Input schema / properties / min_contact_score / anyOfPrevious value: -[ - { - "type": "integer" - }, - { - "type": "null" - } -]New value: +[ + { + "type": "integer" + }, + { + "type": "string" + }, + { + "type": "null" + } +] - changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "items": { - "additionalProperties": true, - "type": "object" - }, - "title": "Result", - "type": "array" - } - }, - "required": [ - "result" - ], - "title": "search_companiesOutput", - "type": "object" -}New value: +null
- Changed
search_partners1 field changed- changed
Output schema / (root)Previous value: -{ - "properties": { - "result": { - "items": { - "additionalProperties": true, - "type": "object" - }, - "title": "Result", - "type": "array" - } - }, - "required": [ - "result" - ], - "title": "search_partnersOutput", - "type": "object" -}New value: +null
8 tool updates
- First observed
companies_at_address - First observed
count_companies - First observed
dataset_info - First observed
get_company - First observed
list_partners - First observed
lookup_codes - First observed
search_companies - First observed
search_partners
Related MCP Connectors
Brazilian company registry (Receita): CNPJ lookup, CNAE search, idea evaluation, monitoring.
Free Brazilian CNPJ lookup (legal name, status, partners) + lawsuit discovery. Public data, no login
Brazilian company and person data by CNPJ/CPF: registry, partners, tax status, sanctions, lawsuits.
Empresas, sócios e conexões por CNPJ. Brazilian company data, ownership and corporate networks.
Related MCP Servers
- AlicenseBqualityBmaintenanceEnables querying Brazil's official CNPJ company registry data, counting and listing establishments by municipality, state, CNAE activity, size, or status, with caveats about official dump limitations such as non-IBGE municipality codes and secondary activities.4MIT

cnpjabertoofficial
AlicenseNot gradedqualityCmaintenanceMCP server for querying Brazilian CNPJ company data, including partner graphs, address/contact joins, CNAE statistics, and national/annual overviews.MIT- AlicenseNot gradedqualityBmaintenanceBrazilian company-registry lookup via Receita Federal, allowing AI agents to query CNPJ data.21 npmMIT
- AlicenseAqualityDmaintenanceAn MCP server for querying data on 27 million Brazilian companies from the Federal Revenue, enabling searches by CNPJ, company name, location, and industry. It supports advanced features like partner discovery, sector benchmarking, and similarity analysis.1617 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.