Postio — UK Address, Postcode, Email & Phone Validation

uk.co.postioPublished by postio.co.ukv0.1.5Updated Oct 30, 2026

Validate UK addresses, postcodes, emails and phone numbers — Royal Mail PAF, live SMTP and HLR.

Overview

AI-generated overview

Validates UK addresses, postcodes, emails and phone numbers through the Postio API, using Royal Mail PAF data, live SMTP and HLR lookups.

What you can do
  • Search UK addresses by free-form text and get suggestions with UDPRNs
  • Fetch every PAF delivery point at a postcode, or the full record for a single UDPRN
  • Validate email addresses with syntax, typo correction, classification, MX and SMTP checks
  • Validate phone numbers with parsing and live HLR carrier and reachability data
  • Run a free key and health probe against the API
When to use it
Useful when an assistant needs to check or complete UK address, postcode, email or phone data — for example cleaning a contact list, finding a full address from a partial one, or flagging undeliverable emails and unreachable numbers.
Requirements
Runs locally over stdio via npx, so Node 20+ is needed. A Postio API key is required in the POSTIO_API_KEY environment variable; a free key covers the first 100 lookups. POSTIO_BASE_URL optionally overrides the API base URL. Network access to the Postio API is required.
Before you install
Several tools are billable per successful lookup: postcode lookup, UDPRN lookup, email validation and phone validation. Address search and the health probe are free. The API key is a secret passed in the environment. Email validation performs a live SMTP mailbox probe and phone validation a live HLR lookup, and the addresses, numbers and postcodes you submit are sent to the Postio API.

Installation

In SourceWeft

  1. Open Postio — UK Address, Postcode, Email & Phone Validation in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@postio/mcp

Model Context Protocol server for Postio — the UK validation API for addresses, emails and phone numbers, exposed as tools for any MCP-aware AI host.

First time? Sign up free — first 100 lookups on us, no card needed.

Works with Claude Desktop, Claude Code, Cursor, Windsurf, Zed, Continue, and anything else that speaks MCP over stdio.

Node 20+.

Install

You don't, really. Use npx from your host's MCP config.

Claude Code

bash
claude mcp add postio --env POSTIO_API_KEY=pk_… -- npx -y @postio/mcp

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "postio": {      "command": "npx",      "args": ["-y", "@postio/mcp"],      "env": { "POSTIO_API_KEY": "pk_…" }    }  }}

Cursor

~/.cursor/mcp.json (or <project>/.cursor/mcp.json for project-scoped):

json
{  "mcpServers": {    "postio": {      "command": "npx",      "args": ["-y", "@postio/mcp"],      "env": { "POSTIO_API_KEY": "pk_…" }    }  }}

Windsurf / Zed / Continue

Same JSON as Cursor — they all consume the standard MCP server config shape.

Tools

ToolWhat it doesBillable
postio_address_searchFree-form UK address search → suggestions + UDPRNsNo
postio_postcode_lookupAll PAF delivery points at a postcodeYes (on hit)
postio_udprn_lookupFull record for a single UDPRNYes (on hit)
postio_email_validateSyntax + typo + MX + SMTP + classificationYes
postio_phone_validateParse + live HLR lookup (carrier, ported, reachable)Yes
postio_connectFree health probeNo

The tools are intentionally primitive and 1:1 with the API. The agent decides when to chain them — a typical address-finder flow is postio_address_search → pick a UDPRN → postio_udprn_lookup for the full record.

Each tool returns the raw API envelope as JSON text, including meta.requestId for support correlation.

Example prompts

"Look up the address with udprn 25742215." → postio_udprn_lookup with udprn=25742215

"Find addresses on Wimpole Street W1G." → postio_address_search with query="Wimpole Street W1G"

"Is [email protected] a real email address?" → postio_email_validate with email="[email protected]" → the response includes didYouMean: "gmail.com".

"Verify these UK phone numbers and tell me which are mobile." → postio_phone_validate per number.

Configuration

Env varPurpose
POSTIO_API_KEYRequired. Your Postio API key.
POSTIO_BASE_URLOptional override of the API base URL (default https://api.postio.co.uk/v1).

A missing POSTIO_API_KEY is not fatal — the server still starts and advertises its tools, so a host can list them before you've configured credentials. Individual calls then fail with a message telling you to set the key.

Official MCP Registry

Listed at registry.modelcontextprotocol.io as uk.co.postio/postcode-address-validation, published under a domain-verified namespace (not a personal GitHub one).

bash
curl "https://registry.modelcontextprotocol.io/v0.1/servers/uk.co.postio%2Fpostcode-address-validation/versions/latest"

The listing is generated from server.json in this directory; the version there tracks this package's version. CI (publish-mcp-registry.yml) republishes on change.

License

MIT.

Source: packages/mcp/README.md at commit 9df8477

Tools

6

postio_postcode_lookup

Return every PAF delivery point at a UK postcode, ordered by building number. Whitespace and case are normalised. Billable on a hit; valid postcodes with no delivery points return an empty list and are not charged.

Parameterspostcoderequiredmax_results

postio_udprn_lookup

Look up a single UK delivery point by its UDPRN (Royal Mail's stable per-address ID). Use this after `postio_address_search` to fetch the full record for a chosen suggestion. Billable on a hit; misses (404) are not charged.

Parametersudprnrequired

postio_email_validate

Validate an email address: syntax (RFC 5322), typo correction (gnail→gmail), classification (disposable, role, free provider), MX lookup, and live SMTP mailbox probe. Returns an aggregated `deliverability` verdict (deliverable / undeliverable / risky / unknown / invalid) plus every signal independently.

Parametersemailrequired

postio_phone_validate

Parse a phone number with libphonenumber and run a live HLR (Home Location Register) lookup. Returns current carrier (post-porting), original carrier, ported flag, reachability, MCC/MNC. Pass numbers in E.164 (`+447700900123`) for unambiguous results.

Parametersnumberrequired

postio_connect

Free key/health probe. Returns 200 if the API key is active and the upstream search service is reachable. Useful as a smoke test or to warm the worker.

Takes no parameters.

Version history

2
  1. v0.1.5LatestOct 23, 2026
  2. v0.1.4Sep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts