Brazil CNPJ company registry
Brazil's open CNPJ registry: filter and count companies by sector, place, size, MEI, partners.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen list_partners
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"cnpj-mcp": {
"url": "https://cnpj-mcp.fly.dev/mcp"
}
}
}Puntos de conexión remotos
https://cnpj-mcp.fly.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (8)
⚪dataset_info
What data is loaded: source, snapshot month, row counts, field meanings and caveats. Call first if unsure what the tools cover.
Esquema de entrada
{
"type": "object",
"properties": {},
"title": "dataset_infoArguments"
}🟡search_companies(cnae, cnae_secao, include_secondary, uf, municipio, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"cnae": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Cnae"
},
"cnae_secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cnae Secao"
},
"include_secondary": {
"default": false,
"title": "Include Secondary",
"type": "boolean"
},
"uf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Uf"
},
"municipio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Municipio"
},
"municipio_codigo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Municipio Codigo"
},
"situacao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Situacao"
},
"matriz_only": {
"default": false,
"title": "Matriz Only",
"type": "boolean"
},
"porte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Porte"
},
"natureza_juridica": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Natureza Juridica"
},
"capital_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Capital Min"
},
"capital_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Capital Max"
},
"opened_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Opened From"
},
"opened_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Opened To"
},
"closed_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Closed From"
},
"closed_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Closed To"
},
"mei": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Mei"
},
"simples": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Simples"
},
"name_contains": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name Contains"
},
"cep": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cep"
},
"partner_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Partner Name"
},
"order_by": {
"default": "data_inicio_atividade",
"title": "Order By",
"type": "string"
},
"include_contacts": {
"default": false,
"title": "Include Contacts",
"type": "boolean"
},
"min_contact_score": {
"anyOf": [
{
"type": "integer"
},
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Min Contact Score"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "search_companiesArguments"
}🟡count_companies(group_by, unit, metric, cnae, cnae_secao, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"group_by": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Group By"
},
"unit": {
"default": "estabelecimentos",
"title": "Unit",
"type": "string"
},
"metric": {
"default": "count",
"title": "Metric",
"type": "string"
},
"cnae": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Cnae"
},
"cnae_secao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cnae Secao"
},
"include_secondary": {
"default": false,
"title": "Include Secondary",
"type": "boolean"
},
"uf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Uf"
},
"municipio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Municipio"
},
"municipio_codigo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Municipio Codigo"
},
"situacao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Situacao"
},
"matriz_only": {
"default": false,
"title": "Matriz Only",
"type": "boolean"
},
"porte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Porte"
},
"natureza_juridica": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Natureza Juridica"
},
"capital_min": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Capital Min"
},
"capital_max": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Capital Max"
},
"opened_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Opened From"
},
"opened_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Opened To"
},
"closed_from": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Closed From"
},
"closed_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Closed To"
},
"mei": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Mei"
},
"simples": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Simples"
},
"name_contains": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name Contains"
},
"cep": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cep"
},
"partner_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Partner Name"
},
"order": {
"default": "count_desc",
"title": "Order",
"type": "string"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"title": "count_companiesArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "count_companiesOutput"
}🟢get_company(cnpj)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"cnpj": {
"title": "Cnpj",
"type": "string"
}
},
"required": [
"cnpj"
],
"title": "get_companyArguments"
}🟢list_partners(cnpj)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"cnpj": {
"title": "Cnpj",
"type": "string"
}
},
"required": [
"cnpj"
],
"title": "list_partnersArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "list_partnersOutput"
}🟡search_partners(name, contains, cpf_middle, uf, limit, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"contains": {
"default": false,
"title": "Contains",
"type": "boolean"
},
"cpf_middle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cpf Middle"
},
"uf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Uf"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"required": [
"name"
],
"title": "search_partnersArguments"
}🟢companies_at_address(cep, logradouro_contains, numero, municipio, uf, ...)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"cep": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Cep"
},
"logradouro_contains": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Logradouro Contains"
},
"numero": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Numero"
},
"municipio": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Municipio"
},
"uf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Uf"
},
"situacao": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "ativa",
"title": "Situacao"
},
"limit": {
"default": 50,
"title": "Limit",
"type": "integer"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
}
},
"title": "companies_at_addressArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "companies_at_addressOutput"
}🟢lookup_codes(kind, text, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"kind": {
"title": "Kind",
"type": "string"
},
"text": {
"title": "Text",
"type": "string"
},
"limit": {
"default": 25,
"title": "Limit",
"type": "integer"
}
},
"required": [
"kind",
"text"
],
"title": "lookup_codesArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "lookup_codesOutput"
}Comunidad
Evidencia