Skip to main content
Glama

normalize_address

Normalize messy address strings into structured components and geocoded coordinates for data quality and deduplication.

Instructions

Normalize and standardize a messy or inconsistently formatted address string.

Returns: { formatted_address, street, housenumber, city, postcode, country, country_code, lat, lon }.

WHEN TO USE: When cleaning user-submitted data, deduplicating a CRM, or standardizing addresses before batch processing. Also geocodes the address as a side-effect (lat/lon included).

DO NOT USE: If you just need coordinates — use geocode instead. normalize_address is for data quality, not navigation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
qYesRaw address string to normalize. Can be incomplete, abbreviated, or poorly formatted.
countriesNoISO country codes to bias normalization. Strongly recommended for ambiguous inputs.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses a key side-effect: geocoding returns lat/lon. However, it does not mention any potential destructive actions, authorization needs, rate limits, or data persistence. Still, the main behavioral impact is well communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, using three short paragraphs: purpose and return format, when to use, and when not to use. Every sentence adds value with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description covers the essential: purpose, return fields, usage guidance, and side-effect. It could mention limitations (e.g., supported address formats) but is still quite complete for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described (q with examples, countries with purpose). The description adds no additional semantic context for the parameters beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it normalizes and standardizes messy address strings, and explicitly distinguishes from geocode by stating 'DO NOT USE if you just need coordinates'. The verb 'normalize' is specific and the resource is address data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit 'WHEN TO USE' scenarios (cleaning data, deduplicating CRM, standardizing for batch) and a clear 'DO NOT USE' alternative (geocode for coordinates). Also notes that geocoding is a side-effect, guiding appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/algolayertechnologies/mapsi-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server