Brazilian company registry (Receita): CNPJ lookup, CNAE search, idea evaluation, monitoring.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The API index: operations, formats, authentication and limits.
This tool takes no arguments.
The API index: operations, formats, authentication and limits.
No arguments.
{
"type": "object",
"properties": {}
}Evaluates a business idea in Brazil by how many companies are registered for it: the idea is mapped to a CNAE activity code and a place, and the answer counts the active, opened and closed companies there, shows how they are set up and gives a plain reading of the numbers. It does not estimate search volume and does not promise demand: `ficha.limites` says what the numbers do not show. Up to 30 AI analyses a day per network, shared with ia_filters; after that, the tool answers `limite_diario` with `renova_em`.
| Argument | Type | Description |
|---|---|---|
| uf | string | State hint (two-letter code) when the text names no city. |
| texto* | string | The idea in Portuguese, 3 to 400 characters, such as "padaria em Campinas". |
| municipio | number | Municipality hint: the Federal Revenue municipality code. |
{
"type": "object",
"required": [
"texto"
],
"properties": {
"uf": {
"type": "string",
"description": "State hint (two-letter code) when the text names no city."
},
"texto": {
"type": "string",
"description": "The idea in Portuguese, 3 to 400 characters, such as \"padaria em Campinas\"."
},
"municipio": {
"type": "number",
"description": "Municipality hint: the Federal Revenue municipality code."
}
}
}Name, status, activity and address of a Brazilian company by CNPJ. It does not count against the daily free limit, does not show contacts or partners and runs no extra checks. The origin's protection limit still applies. For sanctions, tax status and a live CNIA check, use consulta_cnpj.
| Argument | Type | Description |
|---|---|---|
| cnpj* | string | CNPJ, with or without punctuation. |
{
"type": "object",
"required": [
"cnpj"
],
"properties": {
"cnpj": {
"type": "string",
"description": "CNPJ, with or without punctuation."
}
},
"additionalProperties": false
}Addresses at a CEP (Brazilian postal code) with coordinates (CNEFE/IBGE) and the companies registered there. Returns up to 20 addresses and up to 20 companies; the total number of addresses is in `pontos_total`. 10 free lookups per day per network; after that, the tool answers `free_limit` with `resets_at`.
| Argument | Type | Description |
|---|---|---|
| cep* | string | CEP with 8 digits. |
{
"type": "object",
"required": [
"cep"
],
"properties": {
"cep": {
"type": "string",
"description": "CEP with 8 digits."
}
},
"additionalProperties": false
}Brazilian company record by CNPJ from the Federal Revenue (Receita Federal), with the special status when there is one (bankruptcy, judicial recovery, liquidation); its sanctions (CEIS, CNEP, CEPIM, leniency agreements, TCU and the CNJ's CNIA, checked live); partners on the politically exposed persons list (CGU); tax status (federal tax debt, installment agreements, tax incentives and construction works); the Federal Revenue chronic tax debtor list (`devedorContumaz.consta`: barred from public tenders); environmental and labor risk (forced-labor list, Ibama embargoes and fines); government contracts (PNCP, federal contracts since 2013 and sales to municipalities in the state of SP, from TCE-SP) and BNDES financing; registrations with regulators and official registries (CVM, Central Bank, ANS, ANTT, ANP, ANEEL, Anatel, Anvisa, CNES, Cadastur, Ibama, ANAC and SICAF); CVM investment funds; and the address on the map (CNEFE/IBGE). Accepts the numeric and the alphanumeric CNPJ. Personal data in the record comes masked. `sancoes` has what public registries record against the whole company (the CNPJ root), updated daily: useful to vet suppliers. 10 free lookups per day per network; after that, the tool answers `free_limit` with `resets_at`.
| Argument | Type | Description |
|---|---|---|
| cnpj* | string | CNPJ, with or without punctuation. |
| temas | string | Comma-separated topics: dados, socios, sancoes, fiscal, divida, obras, trabalho, ibama, contratos, pep, vendas, campanhas, prefeituras, sicaf, aeronaves, fundos, rntrc, bndes, registros; todos. Omit for the full record. Basic company data always stays. Unrequested blocks are omitted; null means unchecked. Personal data remains masked. |
{
"type": "object",
"required": [
"cnpj"
],
"properties": {
"cnpj": {
"type": "string",
"description": "CNPJ, with or without punctuation."
},
"temas": {
"type": "string",
"maxLength": 240,
"description": "Comma-separated topics: dados, socios, sancoes, fiscal, divida, obras, trabalho, ibama, contratos, pep, vendas, campanhas, prefeituras, sicaf, aeronaves, fundos, rntrc, bndes, registros; todos. Omit for the full record. Basic company data always stays. Unrequested blocks are omitted; null means unchecked. Personal data remains masked."
}
},
"additionalProperties": false
}Addresses and companies at a CEP (Brazilian postal code), without counting against the daily free limit. Up to 20 addresses and 20 companies; `pontos_total` has the total number of addresses. The origin's protection limit still applies.
| Argument | Type | Description |
|---|---|---|
| cep* | string | CEP, with or without the hyphen. |
{
"type": "object",
"required": [
"cep"
],
"properties": {
"cep": {
"type": "string",
"description": "CEP, with or without the hyphen."
}
},
"additionalProperties": false
}Suggests up to 8 Brazilian companies for a CNPJ, company name, partner, phone or e-mail, ordered by how well they match. It does not count against the daily free limit and does not show contacts. `incompleto` means one of the sources did not answer.
| Argument | Type | Description |
|---|---|---|
| q* | string | A name of 3 to 120 characters, a CNPJ, a phone with area code or a full e-mail. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 120,
"minLength": 3,
"description": "A name of 3 to 120 characters, a CNPJ, a phone with area code or a full e-mail."
}
},
"additionalProperties": false
}Write to the people behind the product: a question, or a sponsorship/partnership/advertising proposal. One route for a question and for a sponsorship, partnership or ad proposal (`tipo`, with the placements of `GET /api/partners`). One message every 10 seconds per network: one that arrives sooner waits its turn and then goes out — no error. The message reaches the team by e-mail, with `email` as the reply address. For voice, send multipart/form-data: `dados` is this JSON (up to 32 KiB), and `audio` is one WebM, Ogg or M4A audio file (up to 2 MB). Audio can replace message. The browser records up to two minutes. Audio is attached to the owner's e-mail.
| Argument | Type | Description |
|---|---|---|
| fuso | string | Consulting: the IANA time zone, such as `America/New_York`. |
| name* | string | What to call the person writing. |
| pais | string | Consulting: the country of the person asking. |
| site | string | Website of who is proposing. |
| tipo | string | Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below. |
| email* | string | Where to reply. |
| prazo | string | Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`). |
Brazilian company record by CNPJ (14 digits or the alphanumeric format), with the public records linked to the company in `data`: sanctions (CEIS, CNEP, CEPIM, leniency agreements and TCU) in `data.sancoes`; the last CNIA check of monitored companies in `data.cnia` (for a live check, use consulta_cnpj); federal tax debt (PGFN) in `data.dividaAtiva`, installment agreements in `data.parcelamentos`, the tax regime (ECF) in `data.regimeTributario`, tax incentives (SISEN, ECF, DIRBI and import waivers) in `data.beneficiosFiscais` and construction works (CNO) in `data.obras`; the Federal Revenue chronic tax debtor list in `data.devedorContumaz` (`consta: true` means barred from public tenders); environmental and labor risk in `data.ambiental` (Ibama fines and embargoes) and `data.trabalhoEscravo` (forced-labor list of the MTE); government contracts on PNCP in `data.governo`; partners on the politically exposed persons list (CGU) in `data.pep`; registrations with regulators (CVM, Central Bank, ANS, ANTT, ANP, ANEEL, Anatel, Anvisa, CNES, Cadastur and Ibama) in `data.registros`; BNDES financing in `data.bndes`; federal government disbursements in `data.pagamentos`; sales to federal agencies by invoice in `data.notasFederais`; federal contracts since 2013 in `data.contratosFederais`; and election campaigns that hired the company in `data.campanhas`. A partner who is a person comes with the name masked (`LUIS F. R. P.`), and so do the name and house number of an individual entrepreneur (MEI included), phone numbers and e-mail, with `data.mascarado: true`; a partner that is a company comes in full. The public answer can be reused for up to 6 hours; check the reference date of the records.
| Argument | Type | Description |
|---|---|---|
| cnpj* | string | 14 digits or the alphanumeric CNPJ. |
| temas | string | Comma-separated topics: dados, socios, sancoes, fiscal, divida, obras, trabalho, ibama, contratos, pep, vendas, campanhas, prefeituras, sicaf, aeronaves, fundos, rntrc, bndes, registros; todos. Omit for the full record. Basic company data always stays. Unrequested blocks are omitted; null means unchecked. Personal data remains masked. |
Health of the company database. `import.dump_date` is the reference date of the data and `import.counts` has the record counts. It does not confirm real-time changes.
No arguments.
{
"type": "object",
"properties": {}
}Turns a plain-language description of the companies you want into filters for `search` (`f`). It takes 18 to 20 seconds. It shares the daily limit of AI analyses with avaliar.
| Argument | Type | Description |
|---|---|---|
| texto* | string | Plain-language description of what you are looking for. |
{
"type": "object",
"required": [
"texto"
],
"properties": {
"texto": {
"type": "string",
"description": "Plain-language description of what you are looking for."
}
}
}The caller's approximate location (city and state) from the network edge. Never cached: a cached answer would give someone else's place.
No arguments.
{
"type": "object",
"properties": {}
}Reference vocabularies for the filters: CNAE activity codes (`cnae`), municipalities (`municipio`) and legal natures (`natureza`). Search a vocabulary by text with `q`.
| Argument | Type | Description |
|---|---|---|
| q | string | Text to look for in the vocabulary, up to 60 characters. |
| tipo* | string | Vocabulary: cnae, municipio or natureza. |
{
"type": "object",
"required": [
"tipo"
],
"properties": {
"q": {
"type": "string",
"description": "Text to look for in the vocabulary, up to 60 characters."
},
"tipo": {
"enum": [
"cnae",
"municipio",
"natureza"
],
"type": "string",
"description": "Vocabulary: cnae, municipio or natureza."
}
}
}Search Brazilian companies by a term (`q`) and/or filters (`f`, a JSON string). `tipo` picks what the term matches: `nome` (legal name), `fantasia` (trade name), `socio` (partner), `telefone` (phone with area code), `email` (the full address on record), `endereco` (address) or `cnae` (activity code). Needs a term or at least one filter: a search with neither would scan 71 million establishments.
| Argument | Type | Description |
|---|---|---|
| f | string | Filters as a JSON string. |
| q | string | Search term, 2 to 120 characters. |
| uf | string | Limits the search to one Brazilian state (two-letter code, such as SP). |
| page | number | Page number, starting at 0. |
| tipo | string | What the term matches: nome|fantasia|socio|telefone|email|endereco|cnae. |
| pageSize | number | Results per page, 1 to 50. |
{
"type": "object",
"properties": {
"f": {
"type": "string",
"description": "Filters as a JSON string."
},
"q": {
"type": "string",
"description": "Search term, 2 to 120 characters."
},
"uf": {
"type": "string",
"description": "Limits the search to one Brazilian state (two-letter code, such as SP)."
},
"page": {
"type": "number",
"default": 0,
"description": "Page number, starting at 0."
},
"tipo": {
"type": "string",
"description": "What the term matches: nome|fantasia|socio|telefone|email|endereco|cnae."
},
"pageSize": {
"type": "number",
"default": 20,
"description": "Results per page, 1 to 50."
}
}
}Find Brazilian CNO construction works by their 12-digit number, a company CNPJ, or a city and state. Filter by area in square meters, construction type, category and status. Only company-owned records are included. Check source dates and update status.
| Argument | Type | Description |
|---|---|---|
| uf | string | Two-letter Brazilian state code. Required with municipality. |
| cno | string | 12-digit CNO number; punctuation is accepted. |
| cnpj | string | Valid CNPJ. Includes records for the same company root and previous links. |
| tipo | string | Recorded construction type: Alvenaria, Madeira or Mista. |
| cursor | string | Cursor from the previous response. Keep the same filters. |
| limite | number | Records per page: 1 to 50; default 20. |
| areaMax | number | Maximum area in square meters. |
| areaMin | number | Minimum area in square meters. |
| situacao | string |
Up to eight Brazilian companies for a CNPJ, name, partner, phone or e-mail. It detects the kind of input, joins the names and removes duplicates. Text needs at least three characters and matches the legal name, the trade name and the partners; exact names come before prefixes, without repeating a CNPJ. A phone needs the area code; an e-mail needs the full address on record. `incompleto: true` means one of the sources failed. Suggestions include no contacts and no personal names. Not cached and not counted as a visit in the metrics.
| Argument | Type | Description |
|---|---|---|
| q* | string | A valid CNPJ, a phone with area code, a full e-mail or a text of 3 to 120 characters. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "A valid CNPJ, a phone with area code, a full e-mail or a text of 3 to 120 characters."
}
}
}| espaco |
| array |
| Placement ids from `GET /api/partners`, up to 6. |
| duracao | string | Exposure in days: `30`, `90` or `365`. |
| empresa | string | Who is proposing, when it is a company. |
| formato | string | Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory). |
| message* | string | What you want to say. |
| projeto | string | Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`). |
| horarios | array | Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone. |
| string | Optional reply number with country code, such as +5561999999999. |
| orcamento | string | Advertising: `ate_100`, `100_500`, `500_2000`, `2000_mais` or `a_combinar`. Consulting, in US dollars: `ate_2000`, `2000_5000`, `5000_10000`, `10000_mais` or `nao_sei`. |
| pagamento | string |
| prefer_whatsapp | boolean | Request a WhatsApp reply. Requires whatsapp. |
{
"type": "object",
"required": [
"name",
"email",
"message"
],
"properties": {
"fuso": {
"type": "string",
"description": "Consulting: the IANA time zone, such as `America/New_York`."
},
"name": {
"type": "string",
"description": "What to call the person writing."
},
"pais": {
"type": "string",
"description": "Consulting: the country of the person asking."
},
"site": {
"type": "string",
"description": "Website of who is proposing."
},
"tipo": {
"enum": [
"patrocinio",
"parceria",
"anuncio",
"consultoria"
],
"type": "string",
"description": "Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below."
},
"email": {
"type": "string",
"description": "Where to reply."
},
"prazo": {
"enum": [
"agora",
"1_mes",
"1_3_meses",
"explorando"
],
"type": "string",
"description": "Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`)."
},
"espaco": {
"type": "array",
"items": {
"type": "string"
},
"description": "Placement ids from `GET /api/partners`, up to 6."
},
"duracao": {
"enum": [
"30",
"90",
"365"
],
"type": "string",
"description": "Exposure in days: `30`, `90` or `365`."
},
"empresa": {
"type": "string",
"description": "Who is proposing, when it is a company."
},
"formato": {
"enum": [
"projeto",
"mensal",
"assessoria"
],
"type": "string",
"description": "Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory)."
},
"message": {
"type": "string",
"description": "What you want to say."
},
"projeto": {
"enum": [
"llm_privado",
"voz",
"dados_sensiveis",
"gpu",
"integracao",
"outro"
],
"type": "string",
"description": "Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`)."
},
"horarios": {
"type": "array",
"items": {
"type": "string"
},
"description": "Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone."
},
"whatsapp": {
"type": "string",
"description": "Optional reply number with country code, such as +5561999999999."
},
"orcamento": {
"enum": [
"ate_100",
"100_500",
"500_2000",
"2000_mais",
"a_combinar",
"ate_2000",
"2000_5000",
"5000_10000",
"10000_mais",
"nao_sei"
],
"type": "string",
"description": "Advertising: `ate_100`, `100_500`, `500_2000`, `2000_mais` or `a_combinar`. Consulting, in US dollars: `ate_2000`, `2000_5000`, `5000_10000`, `10000_mais` or `nao_sei`."
},
"pagamento": {
"enum": [
"usdc",
"deposito",
"a_combinar"
],
"type": "string"
},
"prefer_whatsapp": {
"type": "boolean",
"description": "Request a WhatsApp reply. Requires whatsapp."
}
}
}{
"type": "object",
"required": [
"cnpj"
],
"properties": {
"cnpj": {
"type": "string",
"description": "14 digits or the alphanumeric CNPJ."
},
"temas": {
"type": "string",
"maxLength": 240,
"description": "Comma-separated topics: dados, socios, sancoes, fiscal, divida, obras, trabalho, ibama, contratos, pep, vendas, campanhas, prefeituras, sicaf, aeronaves, fundos, rntrc, bndes, registros; todos. Omit for the full record. Basic company data always stays. Unrequested blocks are omitted; null means unchecked. Personal data remains masked."
}
}
}| Status code: 1 void, 2 active, 3 suspended, 14 stopped, 15 closed. |
| categoria | string | Recorded category, such as Obra Nova or Reforma. |
| municipio | string | Full municipality name. Use ref with tipo=municipio to find the name and state code. |
{
"type": "object",
"properties": {
"uf": {
"type": "string",
"description": "Two-letter Brazilian state code. Required with municipality."
},
"cno": {
"type": "string",
"description": "12-digit CNO number; punctuation is accepted."
},
"cnpj": {
"type": "string",
"description": "Valid CNPJ. Includes records for the same company root and previous links."
},
"tipo": {
"type": "string",
"description": "Recorded construction type: Alvenaria, Madeira or Mista."
},
"cursor": {
"type": "string",
"description": "Cursor from the previous response. Keep the same filters."
},
"limite": {
"type": "number",
"default": 20,
"description": "Records per page: 1 to 50; default 20."
},
"areaMax": {
"type": "number",
"description": "Maximum area in square meters."
},
"areaMin": {
"type": "number",
"description": "Minimum area in square meters."
},
"situacao": {
"type": "string",
"description": "Status code: 1 void, 2 active, 3 suspended, 14 stopped, 15 closed."
},
"categoria": {
"type": "string",
"description": "Recorded category, such as Obra Nova or Reforma."
},
"municipio": {
"type": "string",
"description": "Full municipality name. Use ref with tipo=municipio to find the name and state code."
}
}
}