Canada Postal Code Lookup MCP
Server Details
Resolve Canadian postal codes to city, province and coordinates.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
- Repository
- donniertf-hub/uk-mcp-fleet
- GitHub Stars
- 0
TDQS
Scored across 3 tools
Each tool has a clearly distinct role: single lookup, bulk lookup, and distance calculation. There is no meaningful overlap between resolving a postal code and computing distance between two areas.
Names mix conventions: two are noun-like (`batch_postal`, `postal_lookup`) while `distance` is a bare noun, and only one uses a verb-like prefix. They remain readable, but the pattern is not predictable.
Three tools is lean but reasonable for a focused postal-code lookup server. Each tool covers a distinct operation, though the surface is slightly thin.
Core operations are covered: single lookup, batch resolution, and distance. However, there is no explicit validation tool, reverse lookup/geocoding, or bulk distance operation, leaving some natural gaps.
Available Tools
3 toolsbatch_postalBInspect
PRO. Resolve up to 100 Canadian postal codes / FSAs at once.
| Name | Required | Description | Default |
|---|---|---|---|
| access_token | No | Subscriber token from /success (or Authorization: Bearer) | |
| postal_codes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden; it does disclose two real behavioral traits — the 100-item cap and the 'PRO' subscriber requirement (reinforced by access_token in the schema). It omits what 'resolve' returns, error behavior for oversized input, and whether lookups are billable, leaving meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the key constraint front-loaded and no filler. The bare 'PRO.' fragment is terse to the point of being cryptic about what tier gating actually entails.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no output schema, the description is the only source of truth, yet it never explains what resolution returns (coordinates, timezone, address?) or how partial failures are reported. For a batch tool this leaves an agent unable to set expectations for the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%; access_token is documented in the schema, and the description usefully characterizes postal_codes as Canadian postal codes or FSAs capped at 100. That is adequate compensation but adds nothing about format tolerance, deduplication, or ordering of results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resolve'), the resource (Canadian postal codes / FSAs), and the batch scope (up to 100 at once), which distinguishes it from the single-code sibling postal_lookup. It does not explicitly name the sibling it differs from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'up to 100 ... at once' implies this is the bulk path versus the single-lookup siblings, but the description never states when to prefer batch_postal over postal_lookup or what to do with fewer/more than 100 codes. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distanceCInspect
PRO. Approximate great-circle distance (km) between two Canadian postal areas.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | ||
| from | Yes | ||
| access_token | No | Subscriber token from /success (or Authorization: Bearer) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one useful trait — results are approximate great-circle values, not driving distance — but says nothing about invalid/unknown postal code handling, precision bounds, or rate limits. The auth requirement is only obliquely signaled by 'PRO'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very tight, front-loaded, zero filler. The leading 'PRO.' fragment is unexplained jargon that costs a little clarity, but the core statement arrives immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with an auth token, no annotations, and no output schema, the description leaves too much unsaid: input format for postal codes, what happens on invalid input, and what the response contains beyond a km value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, and the description only implies that 'from'/'to' are postal areas without specifying accepted formats (FSA-only vs. full postal code, spacing, casing). The access_token parameter is documented in the schema but never addressed in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific operation (great-circle distance) and resource (Canadian postal areas), and adds the unit (km) plus the 'approximate' qualifier. It does not distinguish itself from siblings batch_postal or postal_lookup, so an agent must infer which tool to reach for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'PRO' hints at a subscription tier but is never explained as a precondition, and there is no statement of when to use this versus batch_postal (bulk distances?) or postal_lookup (geocoding?). No alternatives or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
postal_lookupAInspect
FREE. Resolve a Canadian postal code (or FSA) to city/province and approximate lat/lon.
| Name | Required | Description | Default |
|---|---|---|---|
| postal_code | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the load and does add real context: it declares the call is free (cost), that results are approximate in lat/lon (accuracy caveat), and that FSAs are accepted. It omits error behavior, rate limits, and response shape for misses, keeping it short of full disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence with the cost qualifier and the key resource front-loaded. Every clause adds information; nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the description adequately covers input flexibility and the returned fields plus an accuracy caveat. A format example or note on invalid-postal-code behavior would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it does by clarifying that the single postal_code accepts either a full postal code or an FSA. It stops short of giving format examples or normalization rules.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resolve') and resource ('Canadian postal code (or FSA)') and names the outputs (city/province, approximate lat/lon). It doesn't explicitly contrast with the siblings batch_postal or distance, but the singular 'a postal code' implicitly separates it from the batch variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'FREE' flag and by the single-record phrasing, which suggests using this instead of a paid or batch call for one lookup. There is no explicit when-to-use/when-not statement or named alternative, so an agent must infer the routing.
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.
3 tool updates
- First observed
batch_postal - First observed
distance - First observed
postal_lookup
Related MCP Connectors
Resolve Australian postcodes to locality, state and coordinates.
31Resolve Japanese 〒 postcodes to prefecture, city and town.
31Free, keyless postal/ZIP code lookup: place name(s), state/region, and coordinates.
Postal code lookup with place names and coordinates for 60+ countries. Via Zippopotam.us.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables ZIP and postal code lookups—resolving codes to city, state, and coordinates for 60+ countries, and fetching all postal codes for a city—via the Zippopotam.us API.5 npmMIT
- AlicenseAqualityDmaintenanceGlobal 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.41MIT
- AlicenseAqualityCmaintenanceMCP server that resolves postal/ZIP codes to place names, states, and coordinates using Zippopotam.us. Free, no API key required.1MIT
- AlicenseNot gradedqualityDmaintenanceJapanese postal code ⇄ address lookup with bundled official data — fully offline, no API key.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.