MCP Server

Moradas — Portuguese addresses & postal codes

dev.moradas/moradas
Maps & Location Public & reachable MCP 2026-07-28

What this MCP does

Autocompletes Portuguese addresses, resolves exact postal codes by street and door number, and provides postal locality information.

postal_code_info
Look up a Portuguese postal code (CP7, e.g. '1000-098'): localidade, concelho, distrito and the streets it covers.
Input schema
{'type': 'object', 'required': ['cp7'], 'properties': {'cp7': {'type': 'string', 'description': 'Postal code NNNN-NNN'}}}
resolve_postal_code
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.
Input schema
{'type': 'object', 'required': ['art_id', 'numero'], 'properties': {'art_id': {'type': 'integer', 'description': 'Street id from suggest_address'}, 'numero': {'type': 'string', 'description': "Door number, e.g. '196' or '27A'"}}}
suggest_address
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.
Input schema
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Street text (with optional door number) or a 4–7 digit postal code'}, 'count': {'type': 'integer', 'default': 8, 'maximum': 20, 'minimum': 1, 'description': 'Max suggestions'}}}
Changed
resolve_postal_code
Oct. 1, 2026, 2:43 a.m.
Added
postal_code_info
Sept. 17, 2026, 12:39 p.m.
Added
resolve_postal_code
Sept. 17, 2026, 12:39 p.m.
Added
suggest_address
Sept. 17, 2026, 12:39 p.m.