radar-cnpj
Brazilian company registry (Receita): CNPJ lookup, CNAE search, idea evaluation, monitoring.
사용해야 할까요
품질 및 안전성
발견 사항 (8)
- LOWget_cnpj에서
- LOWreveal_cnpj에서
- LOWsearch에서
- LOWsuggest에서
- LOWref에서
- LOWavaliar에서
- LOWlocal에서
- LOWapi_access에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"radar-cnpj": {
"url": "https://radar-cnpj.com/mcp"
}
}
}원격 엔드포인트
https://radar-cnpj.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (17)
⚪api_index
Índice da API, com operações, formatos, autenticação e limites.
입력 스키마
{
"type": "object",
"properties": {}
}⚪health
Health da base. `import.dump_date` informa a data de referência e `import.counts` traz as contagens disponíveis. A consulta não confirma mudanças em tempo real.
입력 스키마
{
"type": "object",
"properties": {}
}🟢get_cnpj(cnpj)
Ficha de empresa por CNPJ (14 dígitos). Sócio pessoa, telefones e e-mail vêm mascarados; o completo é reveal_cnpj. Nome de sócio pessoa física (`LUIS F. R. P.`), telefones e e-mail vêm mascarados, com `data.mascarado: true`; sócio empresa vem inteiro. O dado completo sai por `POST /api/revelar/:cnpj`. A resposta pode ser reutilizada por até 6 horas; confira a data de referência dos registros.
입력 스키마
{
"type": "object",
"properties": {
"cnpj": {
"type": "string",
"description": "14 dígitos"
}
},
"required": [
"cnpj"
]
}⚪reveal_cnpj(cnpj)
Revela sócios, telefones e e-mail sem máscara de um CNPJ. Pago: US$ 0,10 por empresa, do crédito (Authorization: Bearer cred_…) ou x402; com crédito, a mesma empresa no mesmo dia não cobra de novo. Custa US$ 0,10 por empresa: desconta do crédito pré-pago (`Authorization: Bearer cred_…`) ou paga só esta revelação com x402 (`X-PAYMENT`). O mesmo código de crédito revendo a mesma empresa no mesmo dia (horário de Brasília) não paga de novo; o x402 avulso cobra cada revelação. CNPJ inexistente ou consulta que falha não cobra nada. A resposta não vai para cache.
입력 스키마
{
"type": "object",
"properties": {
"cnpj": {
"type": "string",
"description": "14 dígitos"
}
},
"required": [
"cnpj"
]
}🟢search(q, tipo, f, page, pageSize, ...)
Busca empresas (q e/ou filtros f=JSON). tipo: nome, fantasia, socio, telefone (com DDD), endereco ou cnae. Exige termo OU pelo menos um filtro — varrer 71 milhões de estabelecimentos sem recorte não é uma busca, é um dump.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Termo de busca, entre 2 e 120 caracteres."
},
"tipo": {
"type": "string",
"description": "nome|fantasia|socio|telefone|endereco|cnae"
},
"f": {
"type": "string",
"description": "JSON string de filtros"
},
"page": {
"type": "number",
"description": "Página, começando em 0.",
"default": 0
},
"pageSize": {
"type": "number",
"description": "Resultados por página, de 1 a 50.",
"default": 20
},
"uf": {
"type": "string",
"description": "Restringe a uma unidade da federação."
}
}
}⚪suggest(q)
Autocomplete. Não conta como visita nas métricas — senão o painel mediria tecla, não gente.
입력 스키마
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "O que já foi digitado."
}
},
"required": [
"q"
]
}⚪ref(tipo, q)
Ref CNAE/município/natureza. Ou você busca por texto (`q`) ou resolve códigos que já tem (`codigos`) — `codigos` ganha quando os dois vêm.
입력 스키마
{
"type": "object",
"properties": {
"tipo": {
"type": "string",
"description": "cnae|municipio|natureza|…",
"enum": [
"cnae",
"municipio",
"natureza"
]
},
"q": {
"type": "string",
"description": "Texto a procurar no vocabulário, até 60 caracteres."
}
},
"required": [
"tipo"
]
}🟡avaliar(texto, uf, municipio)
Avalia uma ideia de negócio pela quantidade de empresas cadastradas (CNAE + lugar → contagem de ativas). Não estima busca no Google. POST /api/avaliar. É o primeiro produto da home. Devolve o CNAE a que a ideia foi mapeada, quantas empresas ativas, abertas e baixadas existem no recorte, como elas se formalizam e uma leitura honesta disso. **Não inventa volume de busca** e não promete demanda: `ficha.limites` diz o que os números não dizem. Renda passiva isto não é.
입력 스키마
{
"type": "object",
"properties": {
"texto": {
"type": "string",
"description": "Ideia em português, 3–400 caracteres."
},
"uf": {
"type": "string",
"description": "Hint de UF se a frase não tiver cidade."
},
"municipio": {
"type": "number",
"description": "Hint de código de município da Receita."
}
},
"required": [
"texto"
]
}⚪ia_filters(texto)
Texto natural → filtros (POST /api/ia). Caminho síncrono: leva de 18 a 20 segundos. Quando estoura o tempo, use `POST /api/ia/jobs`.
입력 스키마
{
"type": "object",
"properties": {
"texto": {
"type": "string",
"description": "A descrição em linguagem natural do que você procura."
}
},
"required": [
"texto"
]
}⚪local
Geo de borda do visitante (cidade/UF). Nunca é cacheada: cache aqui entregaria o lugar de outra pessoa.
입력 스키마
{
"type": "object",
"properties": {}
}⚪contact(name, email, message, tipo, empresa, ...)
Fale com quem faz o produto: dúvida, ou proposta de patrocínio/parceria/anúncio. Grátis, sem captcha nem pagamento; uma mensagem a cada 10 s por rede (a que chega antes espera a vez). Uma rota para dúvida e para proposta de patrocínio, parceria ou anúncio (`tipo`, com os espaços de `GET /api/partners`). Sem captcha, sem conta, sem pagamento. Uma mensagem a cada 10 segundos por rede: a que chega antes espera a vez e sai — sem erro. A mensagem chega à equipe por e-mail, com o `email` como endereço de resposta.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Como chamar quem escreve (alias `nome`)."
},
"email": {
"type": "string",
"description": "Para onde responder."
},
"message": {
"type": "string",
"description": "O que você quer dizer (alias `mensagem`)."
},
"tipo": {
"type": "string",
"enum": [
"patrocinio",
"parceria",
"anuncio"
],
"description": "Proposta: `patrocinio`, `parceria` ou `anuncio`. Liga os campos abaixo."
},
"empresa": {
"type": "string",
"description": "Quem propõe, quando é empresa."
},
"site": {
"type": "string",
"description": "Site de quem propõe."
},
"orcamento": {
"type": "string",
"enum": [
"ate_100",
"100_500",
"500_2000",
"2000_mais",
"a_combinar"
],
"description": "`ate_100`, `100_500`, `500_2000`, `2000_mais` ou `a_combinar`."
},
"espaco": {
"type": "array",
"items": {
"type": "string"
},
"description": "Ids de placement de `GET /api/partners`, até 6."
},
"duracao": {
"type": "string",
"enum": [
"30",
"90",
"365"
],
"description": "Dias de exposição: `30`, `90` ou `365`."
},
"pagamento": {
"type": "string",
"enum": [
"usdc",
"deposito",
"a_combinar"
],
"description": "`usdc`, `deposito` ou `a_combinar`."
}
},
"required": [
"name",
"email",
"message"
]
}🟢list_watches(credito)
Lista os CNPJs que a sua carteira de crédito monitora, com a cota (10 grátis + vagas compradas). Quem confere a cota é a origem (`api.radar-cnpj.com`), dentro da transação; o Worker calcula quanto você tem (10 grátis + as vagas em vigor) e manda junto. Watch além da cota vem com `suspensa: true` e não gera e-mail.
입력 스키마
{
"type": "object",
"properties": {
"credito": {
"type": "string",
"description": "Token do crédito global (cred_…), de POST /api/credito."
}
},
"required": [
"credito"
]
}🟡add_watch(credito, cnpj)
Passa a monitorar um CNPJ com a sua carteira de crédito. Os 10 primeiros são grátis; cada vaga a mais debita US$ 0,50 do saldo (30 dias). Estourou a cota: **402 com `accepts[]`** (x402) — ou, com token de crédito, o débito direto do saldo. Pague e repita a mesma chamada com `X-PAYMENT`; a vaga fica no `direito` global e a watch entra.
입력 스키마
{
"type": "object",
"properties": {
"credito": {
"type": "string",
"description": "Token do crédito global (cred_…), de POST /api/credito."
},
"cnpj": {
"type": "string",
"description": "CNPJ a monitorar, 14 dígitos."
}
},
"required": [
"credito",
"cnpj"
]
}⚪api_access(api_pass)
Monthly data package and private purchase status, without charging.
입력 스키마
{
"type": "object",
"properties": {
"api_pass": {
"type": "string",
"description": "Private pass: api_<32 random hex>_<64 random hex>. Save before buying."
}
},
"additionalProperties": false
}🟡api_access_buy(api_pass, credit_token, payment, transaction)
Buy 1,000 basic data reads for US$1, valid for 30 days. Requires explicit payment. Same pass in retries recovers the same purchase. No automatic renewal. OCR, AI, documents and delivery keep their own tariffs. Send X-API-Pass on eligible data reads; remaining credits come in X-API-Credits-Remaining.
입력 스키마
{
"type": "object",
"properties": {
"api_pass": {
"type": "string",
"description": "Private pass: api_<32 random hex>_<64 random hex>. Save before buying."
},
"credit_token": {
"type": "string",
"description": "Existing prepaid credit token."
},
"payment": {
"type": "string",
"description": "Signed x402 payload, after authorizing the quote."
},
"transaction": {
"type": "string",
"description": "Base transaction hash to reconcile an uncertain payment with the same pass and original payload."
}
},
"required": [
"api_pass"
],
"additionalProperties": false
}⚪pricing
Current public prices and free allowances; no charge.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟡billing
Payment discovery and billing summary; does not create a charge.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}커뮤니티
증거