radar-cnpj
Brazilian company registry (Receita): CNPJ lookup, CNAE search, idea evaluation, monitoring.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"radar-cnpj": {
"url": "https://radar-cnpj.com/mcp"
}
}
}Remote endpoints
https://radar-cnpj.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (16)
🟢search_construction(cno, cnpj, uf, municipio, areaMin, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"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."
},
"uf": {
"type": "string",
"description": "Two-letter Brazilian state code. Required with municipality."
},
"municipio": {
"type": "string",
"description": "Full municipality name. Use ref with tipo=municipio to find the name and state code."
},
"areaMin": {
"type": "number",
"description": "Minimum area in square meters."
},
"areaMax": {
"type": "number",
"description": "Maximum area in square meters."
},
"tipo": {
"type": "string",
"description": "Recorded construction type: Alvenaria, Madeira or Mista."
},
"categoria": {
"type": "string",
"description": "Recorded category, such as Obra Nova or Reforma."
},
"situacao": {
"type": "string",
"description": "Status code: 1 void, 2 active, 3 suspended, 14 stopped, 15 closed."
},
"limite": {
"type": "number",
"description": "Records per page: 1 to 50; default 20.",
"default": 20
},
"cursor": {
"type": "string",
"description": "Cursor from the previous response. Keep the same filters."
}
}
}🟢api_index
The API index: operations, formats, authentication and limits.
Input Schema
{
"type": "object",
"properties": {}
}🟢health
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.
Input Schema
{
"type": "object",
"properties": {}
}🟢get_cnpj(cnpj, temas)
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.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"cnpj"
]
}🟢search(q, tipo, f, page, pageSize, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Search term, 2 to 120 characters."
},
"tipo": {
"type": "string",
"description": "What the term matches: nome|fantasia|socio|telefone|email|endereco|cnae."
},
"f": {
"type": "string",
"description": "Filters as a JSON string."
},
"page": {
"type": "number",
"description": "Page number, starting at 0.",
"default": 0
},
"pageSize": {
"type": "number",
"description": "Results per page, 1 to 50.",
"default": 20
},
"uf": {
"type": "string",
"description": "Limits the search to one Brazilian state (two-letter code, such as SP)."
}
}
}🟢suggest(q)
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.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"q"
]
}🟢ref(tipo, q)
Reference vocabularies for the filters: CNAE activity codes (`cnae`), municipalities (`municipio`) and legal natures (`natureza`). Search a vocabulary by text with `q`.
Input Schema
{
"type": "object",
"properties": {
"tipo": {
"type": "string",
"description": "Vocabulary: cnae, municipio or natureza.",
"enum": [
"cnae",
"municipio",
"natureza"
]
},
"q": {
"type": "string",
"description": "Text to look for in the vocabulary, up to 60 characters."
}
},
"required": [
"tipo"
]
}🟡avaliar(texto, uf, municipio)
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`.
Input Schema
{
"type": "object",
"properties": {
"texto": {
"type": "string",
"description": "The idea in Portuguese, 3 to 400 characters, such as \"padaria em Campinas\"."
},
"uf": {
"type": "string",
"description": "State hint (two-letter code) when the text names no city."
},
"municipio": {
"type": "number",
"description": "Municipality hint: the Federal Revenue municipality code."
}
},
"required": [
"texto"
]
}⚪ia_filters(texto)
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.
Input Schema
{
"type": "object",
"properties": {
"texto": {
"type": "string",
"description": "Plain-language description of what you are looking for."
}
},
"required": [
"texto"
]
}🟢local
The caller's approximate location (city and state) from the network edge. Never cached: a cached answer would give someone else's place.
Input Schema
{
"type": "object",
"properties": {}
}🟡contact(name, email, message, whatsapp, prefer_whatsapp, ...)
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.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "What to call the person writing."
},
"email": {
"type": "string",
"description": "Where to reply."
},
"message": {
"type": "string",
"description": "What you want to say."
},
"whatsapp": {
"type": "string",
"description": "Optional reply number with country code, such as +5561999999999."
},
"prefer_whatsapp": {
"type": "boolean",
"description": "Request a WhatsApp reply. Requires whatsapp."
},
"tipo": {
"type": "string",
"enum": [
"patrocinio",
"parceria",
"anuncio",
"consultoria"
],
"description": "Proposal: `patrocinio`, `parceria`, `anuncio` or `consultoria`. Turns on the fields below."
},
"empresa": {
"type": "string",
"description": "Who is proposing, when it is a company."
},
"site": {
"type": "string",
"description": "Website of who is proposing."
},
"orcamento": {
"type": "string",
"enum": [
"ate_100",
"100_500",
"500_2000",
"2000_mais",
"a_combinar",
"ate_2000",
"2000_5000",
"5000_10000",
"10000_mais",
"nao_sei"
],
"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`."
},
"espaco": {
"type": "array",
"items": {
"type": "string"
},
"description": "Placement ids from `GET /api/partners`, up to 6."
},
"duracao": {
"type": "string",
"enum": [
"30",
"90",
"365"
],
"description": "Exposure in days: `30`, `90` or `365`."
},
"pagamento": {
"type": "string",
"enum": [
"usdc",
"deposito",
"a_combinar"
]
},
"projeto": {
"type": "string",
"enum": [
"llm_privado",
"voz",
"dados_sensiveis",
"gpu",
"integracao",
"outro"
],
"description": "Consulting: the kind of project (`llm_privado`, `voz`, `dados_sensiveis`, `gpu`, `integracao` or `outro`)."
},
"prazo": {
"type": "string",
"enum": [
"agora",
"1_mes",
"1_3_meses",
"explorando"
],
"description": "Consulting: when to start (`agora`, `1_mes`, `1_3_meses` or `explorando`)."
},
"formato": {
"type": "string",
"enum": [
"projeto",
"mensal",
"assessoria"
],
"description": "Consulting: `projeto` (per scope), `mensal` (monthly) or `assessoria` (advisory)."
},
"pais": {
"type": "string",
"description": "Consulting: the country of the person asking."
},
"fuso": {
"type": "string",
"description": "Consulting: the IANA time zone, such as `America/New_York`."
},
"horarios": {
"type": "array",
"items": {
"type": "string"
},
"description": "Consulting: up to 3 times for the call, `YYYY-MM-DDTHH:MM` in that time zone."
}
},
"required": [
"name",
"email",
"message"
]
}🟢consulta_cadastro(cnpj)
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.
Input Schema
{
"type": "object",
"properties": {
"cnpj": {
"type": "string",
"description": "CNPJ, with or without punctuation."
}
},
"required": [
"cnpj"
],
"additionalProperties": false
}🟢consulta_endereco(cep)
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.
Input Schema
{
"type": "object",
"properties": {
"cep": {
"type": "string",
"description": "CEP, with or without the hyphen."
}
},
"required": [
"cep"
],
"additionalProperties": false
}🟢consulta_sugerir(q)
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.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 3,
"maxLength": 120,
"description": "A name of 3 to 120 characters, a CNPJ, a phone with area code or a full e-mail."
}
},
"required": [
"q"
],
"additionalProperties": false
}🟢consulta_cnpj(cnpj, temas)
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`.
Input Schema
{
"type": "object",
"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."
}
},
"required": [
"cnpj"
],
"additionalProperties": false
}🟢consulta_cep(cep)
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`.
Input Schema
{
"type": "object",
"properties": {
"cep": {
"type": "string",
"description": "CEP with 8 digits."
}
},
"required": [
"cep"
],
"additionalProperties": false
}Community
Evidence