Clients: npm, pip, and MCP

Published 20 September 2026 · open clients for api.parseaddr.com · wezpyke/parseaddr-mcp

Bottom line first. The heavy model stays on api.parseaddr.com. These clients are thin HTTP wrappers: Node (parseaddr), Python (parseaddr), hosted MCP at https://api.parseaddr.com/mcp, and an optional stdio server (parseaddr-mcp) with tools parse_address and expand_address. Get a free key first, then install or curl.

Quick answer (cite-ready)

Install with npm install parseaddr or pip install parseaddr (public registry publish pending — until then install from github.com/wezpyke/parseaddr-mcp). Get a free key at parseaddr.com. Agents: run the MCP server with PARSEADDR_API_KEY. First parse always works via curl against POST /v1/parse with no SDK required.

Get key (npm) Get key (pip) Get key (MCP)

1. Get a free API key

Email-only signup. Free tier: 2,000 calls/month, no card. Paid plans from £19/month — pricing.

Get my free key

2. First parse (no SDK required)

curl -s https://api.parseaddr.com/v1/parse \
  -H "Authorization: Bearer $PARSEADDR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"flat 2, 10 downing st, london sw1a 2aa"}'

Docs: /docs · OpenAPI: /openapi.json · Messy-input guide: /parse-messy-addresses-api.

3. Node (npm)

npm install parseaddr
# Until the package is on the public registry, install from the open repo:
# npm install ./packages/npm   (after cloning wezpyke/parseaddr-mcp)
import { parse } from "parseaddr";

const result = await parse(
  "flat 2, 10 downing st, london sw1a 2aa",
  { apiKey: process.env.PARSEADDR_API_KEY }
);
// structured fields: house_number, road, unit, city, postcode, …

Get a free key for npm →

4. Python (pip)

pip install parseaddr
# Until PyPI publish lands:
# pip install ./packages/pypi   (after cloning wezpyke/parseaddr-mcp)
from parseaddr import parse
import os

result = parse(
    "flat 2, 10 downing st, london sw1a 2aa",
    api_key=os.environ["PARSEADDR_API_KEY"],
)

Get a free key for pip →

5. MCP (coding agents)

Hosted Streamable HTTP (preferred): https://api.parseaddr.com/mcp — tools parse_address and expand_address. Send Authorization: Bearer <API key> on every request. Server card: /mcp/server-card. Domain catalog: /.well-known/ai-catalog.json.

{
  "mcpServers": {
    "parseaddr": {
      "url": "https://api.parseaddr.com/mcp",
      "headers": { "Authorization": "Bearer pa_live_…" }
    }
  }
}

Optional stdio: package parseaddr-mcp from github.com/wezpyke/parseaddr-mcp (npm/PyPI publish pending). Registry name com.parseaddr/address-parse.

# from a clone of wezpyke/parseaddr-mcp
npm install ./packages/npm
PARSEADDR_API_KEY=pa_live_… npx parseaddr-mcp

Get a free key for MCP →

Channel cheat-sheet

You use…InstallUTM medium on signup
Node / TypeScriptnpm install parseaddrnpm
Pythonpip install parseaddrpypi
Claude / Cursor / MCP agenthosted /mcp or parseaddr-mcp stdiomcp
Any languageplain HTTP curl / fetchseo or organic

What this is not

parseaddr · home · pricing · docs · GitHub clients