Skip to content

Moradas — Portuguese addresses & postal codes

by moradas.dev · remote · no sign-in to list tools · v0.2.0 · published by dev.moradas

Portuguese address autocomplete, postal codes, list checks; typo-tolerant, municipality-first; free.

Changes · 3

4 tools: 3 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 moradas https://moradas.dev/mcp

Tools

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

4 tools

Changes things 3Claude Code: ask
  • postal_code_infoLook up a Portuguese postal code (CP7, e.g.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.
    Description, as the server wrote it
    Look up a Portuguese postal code (CP7, e.g. '1000-098'): localidade, concelho, distrito and the streets it covers.
  • suggest_addressAutocomplete a Portuguese address or postal code.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.
    Description, as the server wrote it
    Autocomplete a Portuguese address or postal code. Pass free text (street, optionally locality and door number, e.g. 'av liberdade lisboa 196') or a postal code (e.g. '1000-098'). Returns suggestions with street, localidade (postal locality), concelho, distrito and cp7. When cp7 is null the street spans several postal codes: call resolve_postal_code with art_id and the door number. The beginning of a municipality or large locality name ('lisb', 'carcav') returns that place itself first (art_id 0). A suggestion found after correcting a typo in q carries corrected: true.
  • verify_addressesCheck a list of Portuguese addresses in one call: a column from a CRM or spreadsheet, an order import, a customer base before shipping or mailing.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.
    Description, as the server wrote it
    Check a list of Portuguese addresses in one call: a column from a CRM or spreadsheet, an order import, a customer base before shipping or mailing. Each item is checked like suggest_address (a door number in the text picks the exact postal code; a postal code is looked up as such). Results come back in input order, one per item: id exactly as sent (null when not sent), q, status, cp7 and suggestion. status 'ok' — the postal code was determined and is in cp7; 'ambiguous' — no single answer (several candidates with nothing to tell them apart, a street with several postal codes and no door number, or just a locality): cp7 is null and suggestion is the best candidate for a person to confirm; 'not_found' — nothing matched: suggestion is null. suggestion has the same shape as a suggest_address suggestion. Up to 100 items per call; a call with N items counts as N requests against the rate limit (about 50 per 10 seconds per IP), so send up to 50 at a time. For a single address use suggest_address.
Only reads 1Claude Code: allow
  • resolve_postal_codeResolve the exact 7-digit postal code (CP7) for a street and door number.No findings

    Why it is in this group

    • The name "resolve_postal_code" says "resolve": a word for reading.
    Description, as the server wrote it
    Resolve the exact 7-digit postal code (CP7) for a street and door number. art_id comes from suggest_address (art_id 0 is a whole locality or municipality and cannot be resolved). Returns resolved address (or null) and the list of postal-code segments of that street.

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 0.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http moradas https://moradas.dev/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__moradas__resolve_postal_code"
    ],
    "ask": [
      "mcp__moradas__suggest_address",
      "mcp__moradas__postal_code_info",
      "mcp__moradas__verify_addresses"
    ],
    "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 moradas. Review it before you use it.