Skip to main content
Glama

ParseAddr — Address Parsing & Normalization

Server Details

Hosted libpostal: messy free-text postal addresses → structured fields. No 2-4GB self-host.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
92.9% over 23 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
wezpyke/parseaddr-mcp
GitHub Stars
0
ChatGPT
–
Claude
–

TDQS

A3.6/5.0

Scored across 2 tools

Disambiguation4/5

expand_address (normalize/canonicalize for dedup) and parse_address (structure free-text into fields) are clearly different operations, and the descriptions make the distinction explicit. There is mild conceptual overlap since both ingest messy addresses and both are libpostal-backed, but the outputs and use cases are distinct enough.

Naming Consistency5/5

Both tools follow a clean verb_noun snake_case pattern (expand_address, parse_address) with the same noun, making the set immediately predictable. No deviation in convention.

Tool Count3/5

Two tools is thin for a standalone server, even one wrapping libpostal. It covers the two headline operations, but a server whose value is 'don't self-host libpostal' arguably warrants a couple more entry points (e.g. batch/validation), so it sits at the borderline.

Completeness4/5

The stated purpose — address parsing and normalization — is fully covered by the pair, with no dead ends for the core workflow. Minor gaps like batch processing, validation/verification, or reverse geocoding exist but are outside the declared scope and easily worked around.

Available Tools

2 tools
expand_addressBInspect

Expand/normalize an address into canonical variants for deduplication and record matching (e.g. "100 main st" vs "100 Main Street").

NameRequiredDescriptionDefault
addressYes

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It conveys the tool's transformation (normalizing to canonical variants) and implies a pure, read-only operation via the dedup example, but says nothing about the output shape (single string vs list of variants), ordering, or edge-case behavior on unparseable input.

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

Conciseness4/5

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

A single compact sentence with the core purpose front-loaded and an illustrative example appended. Trailing whitespace/newlines are cosmetic waste, and the parenthetical example could arguably be folded more tightly, but overall it is efficient.

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

Completeness3/5

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

With no output schema, the description should clarify what comes back; it says 'canonical variants' (plural) but never describes the return structure or whether it is a list. Combined with no sibling differentiation, an agent has enough to call it but not to predict or disambiguate the result.

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?

One required string parameter with 0% schema description coverage, so the description must compensate. The example ('100 main st') illustrates accepted input format, but the parameter name 'address' is the only naming signal and no constraints (single-line, no country, etc.) are given.

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

Purpose4/5

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

States a specific verb pair (expand/normalize), the resource (address), and the output form (canonical variants), plus a concrete example. It does not, however, distinguish itself from the sibling parse_address, which an agent would plausibly confuse it with.

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

Usage Guidelines3/5

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

The description gives a use context (deduplication and record matching), which implies when the tool is useful, but it never states when to prefer it over parse_address or what parse_address does instead. Usage is inferable rather than explicit.

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

parse_addressAInspect

Parse a messy free-text postal address into structured fields (house_number, road, unit, city, postcode, country, ...). Powered by libpostal.

    Use when a developer needs to standardise or parse postal addresses and does
    not want to self-host libpostal (a 2-4GB-RAM box + a fiddly C build).
    
NameRequiredDescriptionDefault
addressYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the underlying engine (libpostal) and the operational context (avoids a 2-4GB RAM box and C build), but says nothing about auth requirements, rate limits, or how unparseable input is handled. Derived from real OSS internals, but incomplete on the operational profile.

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

Conciseness4/5

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

Front-loaded with the core action and output fields, followed by a usage cue. The aside about RAM and the fiddly C build is mildly conversational, but it earns its place by justifying tool selection over self-hosting.

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?

There is no output schema, so the description correctly enumerates the returned structured fields (house_number, road, unit, city, postcode, country). That covers the main gap; only the error/edge-case behavior is left unspecified.

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

Parameters4/5

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

Schema coverage is 0% for the single required 'address' parameter, so the description must compensate — and it does by specifying the input is a messy free-text postal address rather than pre-structured data. It adds meaningful input semantics beyond the bare 'string' schema.

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

Purpose4/5

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

States a specific verb (parse) and resource (free-text postal address) and enumerates the structured output fields it produces. The purpose is unmistakable, though it never mentions the sibling expand_address, so differentiation is left to the agent.

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

Usage Guidelines4/5

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

"Use when a developer needs to standardise or parse postal addresses and does not want to self-host libpostal" gives a concrete usage scenario and even a rationale for choosing this hosted tool over a self-hosted build. It stops short of naming expand_address as an alternative or stating when not to use it.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updates
    • First observedexpand_address
    • First observedparse_address

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Global postal code lookups, validation, and city search for 240+ countries with timezone, admin region, and elevation metadata. Sub-10ms responses at $0.000028/query with 1,000 free queries on signup.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Parses, validates, and normalizes postal addresses for US, UK, FR, DE with component extraction and postal code verification. Pay-per-call via x402 micropayments (USDC on Base L2).
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides address validation and geocoding for 240+ countries, including UK Royal Mail PAF and US/Canada census enrichment. Enables batch validation, forward/reverse geocoding, UK postcode expansion, and automatic refunds for failed lookups.
    30 PyPI
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.