Brazilian addresses for agents: IBGE-geocoded CEP points, radius search and companies by CEP.
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: each route and how to connect the MCP.
This tool takes no arguments.
The API index: each route and how to connect the MCP.
No arguments.
{
"type": "object",
"properties": {}
}Finds a street by name (or by neighborhood) in Brazil, up to 20 results: one for each street in each city. When the query has a house number that exists, the result has the point of that number.
| Argument | Type | Description |
|---|---|---|
| q* | string | Street name, 3 to 200 characters. A house number and a city in the query also count. |
| uf | string | Limits the search to one state (UF). |
| cidade | string | Name or part of the name of the city. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"description": "Street name, 3 to 200 characters. A house number and a city in the query also count."
},
"uf": {
"type": "string",
"description": "Limits the search to one state (UF)."
},
"cidade": {
"type": "string",
"description": "Name or part of the name of the city."
}
}
}The addresses of a CEP (Brazilian postal code), with latitude and longitude.
| Argument | Type | Description |
|---|---|---|
| cep* | string | 8 digits, with or without the hyphen. |
{
"type": "object",
"required": [
"cep"
],
"properties": {
"cep": {
"type": "string",
"description": "8 digits, with or without the hyphen."
}
}
}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`). |
The companies registered at a CEP, up to 50 per page.
| Argument | Type | Description |
|---|---|---|
| cep* | string | 8 digits, with or without the hyphen. |
| page | number | Page number, starting at 0, with 50 companies per page. |
{
"type": "object",
"required": [
"cep"
],
"properties": {
"cep": {
"type": "string",
"description": "8 digits, with or without the hyphen."
},
"page": {
"type": "number",
"default": 0,
"description": "Page number, starting at 0, with 50 companies per page."
}
}
}Service availability and the address coverage by state (UF).
No arguments.
{
"type": "object",
"properties": {}
}The address nearest to a latitude and longitude. A missing or empty value does not become zero. `(0,0)` is in the Gulf of Guinea, and the tool uses it only when you send it.
| Argument | Type | Description |
|---|---|---|
| lat* | number | Latitude (WGS84), −90 to 90. |
| lon* | number | Longitude (WGS84), −180 to 180. |
{
"type": "object",
"required": [
"lat",
"lon"
],
"properties": {
"lat": {
"type": "number",
"description": "Latitude (WGS84), −90 to 90."
},
"lon": {
"type": "number",
"description": "Longitude (WGS84), −180 to 180."
}
}
}The CEPs within N meters of a point (a CEP, or a latitude and longitude), with the distance and the addresses. Free.
| Argument | Type | Description |
|---|---|---|
| cep | string | Center by CEP (8 digits). |
| lat | number | Latitude of the center, when there is no `cep`. |
| lon | number | Longitude of the center, when there is no `cep`. |
| raio | number | Meters, 1 to 2000 (default 500). |
{
"type": "object",
"properties": {
"cep": {
"type": "string",
"description": "Center by CEP (8 digits)."
},
"lat": {
"type": "number",
"description": "Latitude of the center, when there is no `cep`."
},
"lon": {
"type": "number",
"description": "Longitude of the center, when there is no `cep`."
},
"raio": {
"type": "number",
"default": 500,
"description": "Meters, 1 to 2000 (default 500)."
}
}
}Suggestions for a partial CEP or a street name, with the neighborhood and the city. Up to eight places. A CEP accepts a prefix of 3 to 8 digits, with an optional hyphen after the fifth digit. A street search accepts an optional state (UF) and city. One address represents each CEP; the full lookup returns the others. The reference is CNEFE 2022, and it does not certify the current postal CEP.
| Argument | Type | Description |
|---|---|---|
| q* | string | Partial CEP or street, 3 to 160 characters. |
| uf | string | State (UF) abbreviation, to limit the street search. |
| cidade | string | City, to limit the street search. |
{
"type": "object",
"required": [
"q"
],
"properties": {
"q": {
"type": "string",
"maxLength": 160,
"minLength": 3,
"description": "Partial CEP or street, 3 to 160 characters."
},
"uf": {
"type": "string",
"description": "State (UF) abbreviation, to limit the street search."
},
"cidade": {
"type": "string",
"description": "City, to limit the street search."
}
}
}The units at a CEP (apartment, store), with the complement and the type, in pages. The CEP lookup groups the addresses by street and number; this tool returns each unit. Without `logradouro` and `numero`, it pages through the whole CEP.
| Argument | Type | Description |
|---|---|---|
| cep* | string | 8 digits, with or without the hyphen. |
| limit | number | Items per page, 50 at most. |
| numero | string | The building number in the result. |
| offset | number | Offset, starting at 0. |
| logradouro | string | The street exactly as in the lookup (type and name). |
{
"type": "object",
"required": [
"cep"
],
"properties": {
"cep": {
"type": "string",
"description": "8 digits, with or without the hyphen."
},
"limit": {
"type": "number",
"default": 50,
"description": "Items per page, 50 at most."
},
"numero": {
"type": "string",
"description": "The building number in the result."
},
"offset": {
"type": "number",
"default": 0,
"description": "Offset, starting at 0."
},
"logradouro": {
"type": "string",
"description": "The street exactly as in the lookup (type and name)."
}
}
}The active, opened and closed companies within a radius in meters, by CNAE (activity code), with the recent openings and the distance.
| Argument | Type | Description |
|---|---|---|
| cep | string | Center by CEP (8 digits). |
| lat | number | Latitude of the center, when there is no `cep`. |
| lon | number | Longitude of the center, when there is no `cep`. |
| cnae | string | CNAE prefix: 2, 5 or 7 digits. |
| raio | number | Meters, 1 to 2000 (default 500). |
| desde | string | ISO date. The default is 90 days before the date of the data. |
{
"type": "object",
"properties": {
"cep": {
"type": "string",
"description": "Center by CEP (8 digits)."
},
"lat": {
"type": "number",
"description": "Latitude of the center, when there is no `cep`."
},
"lon": {
"type": "number",
"description": "Longitude of the center, when there is no `cep`."
},
"cnae": {
"type": "string",
"description": "CNAE prefix: 2, 5 or 7 digits."
},
"raio": {
"type": "number",
"default": 500,
"description": "Meters, 1 to 2000 (default 500)."
},
"desde": {
"type": "string",
"description": "ISO date. The default is 90 days before the date of the data."
}
}
}| 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."
}
}
}