Skip to content

com.pontofato/pontofato

by pontofato.com · remote · no sign-in to list tools · v1.0.1 · published by com.pontofato

Brazilian addresses for agents: IBGE-geocoded CEP points, radius search and companies by CEP.

Changes · 15

16 tools: 15 change things and 1 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http pontofato https://pontofato.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

16 tools

Changes things 15Claude Code: ask
  • api_indexThe API index: each route and how to connect the MCP.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The API index: each route and how to connect the MCP.

    Annotations the server declares

    • title: API index
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • cepThe addresses of a CEP (Brazilian postal code), with latitude and longitude.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The addresses of a CEP (Brazilian postal code), with latitude and longitude.

    Annotations the server declares

    • title: Addresses of a CEP
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • consulta_cadastroName, status, activity and address of a Brazilian company by CNPJ.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Company registration record
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • consulta_cepAddresses at a CEP (Brazilian postal code) with coordinates (CNEFE/IBGE) and the companies registered there.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • title: Check a CEP
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • consulta_cnpjBrazilian company record by CNPJ from the Federal Revenue (Receita Federal), with the special status when there is one (bankruptcy, judicial recovery, liquidation); its sanctions (…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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`.

    Annotations the server declares

    • title: Check a company (live)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • consulta_enderecoAddresses and companies at a CEP (Brazilian postal code), without counting against the daily free limit.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Addresses of a CEP
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • consulta_sugerirSuggests up to 8 Brazilian companies for a CNPJ, company name, partner, phone or e-mail, ordered by how well they match.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Find a company
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • contactWrite to the people behind the product: a question, or a sponsorship/partnership/advertising proposal.No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Contact
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
  • empresasThe companies registered at a CEP, up to 50 per page.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The companies registered at a CEP, up to 50 per page.

    Annotations the server declares

    • title: Companies at a CEP
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • healthService availability and the address coverage by state (UF).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Service availability and the address coverage by state (UF).

    Annotations the server declares

    • title: Service health
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • proximoThe address nearest to a latitude and longitude.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Nearest address
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • raioThe CEPs within N meters of a point (a CEP, or a latitude and longitude), with the distance and the addresses.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The CEPs within N meters of a point (a CEP, or a latitude and longitude), with the distance and the addresses. Free.

    Annotations the server declares

    • title: CEPs within a radius
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • sugerirSuggestions for a partial CEP or a street name, with the neighborhood and the city.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Suggest a CEP or a street
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • unidadesThe units at a CEP (apartment, store), with the complement and the type, in pages.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Units at a CEP
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • vizinhancaThe active, opened and closed companies within a radius in meters, by CNAE (activity code), with the recent openings and the distance.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The active, opened and closed companies within a radius in meters, by CNAE (activity code), with the recent openings and the distance.

    Annotations the server declares

    • title: Companies in a neighborhood
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
Only reads 1Claude Code: allow
  • buscarFinds a street by name (or by neighborhood) in Brazil, up to 20 results: one for each street in each city.No findings

    Why it is in this group

    • The description's first verb is "find": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Find a street
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http pontofato https://pontofato.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__pontofato__buscar"
    ],
    "ask": [
      "mcp__pontofato__api_index",
      "mcp__pontofato__health",
      "mcp__pontofato__cep",
      "mcp__pontofato__proximo",
      "mcp__pontofato__unidades",
      "mcp__pontofato__empresas",
      "mcp__pontofato__raio",
      "mcp__pontofato__vizinhanca",
      "mcp__pontofato__contact",
      "mcp__pontofato__consulta_cadastro",
      "mcp__pontofato__consulta_endereco",
      "mcp__pontofato__consulta_sugerir",
      "mcp__pontofato__consulta_cnpj",
      "mcp__pontofato__consulta_cep",
      "mcp__pontofato__sugerir"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as pontofato. Review it before you use it.