ParseAddr — Address Parsing & Normalization

com.parseaddr由 parseaddr.com 发布官方发布者v0.1.0更新于 Oct 24, 2026

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

已验证Streamable HTTP可网页运行开发者工具数据与分析

概览

AI 生成的概览

托管版 libpostal 服务,让助手把杂乱的自由文本邮政地址解析为结构化字段,并展开为规范化变体。

可以做什么
  • 把自由文本地址解析为门牌号、道路、单元、城市、邮编、国家等结构化字段
  • 将地址展开并规范化为多种标准写法,用于去重和记录匹配
  • 两个工具都调用托管 API,无需自行部署 libpostal 或编译 C 代码
适用场景
适合助手需要为结账、配送物流、CRM 去重或开户流程解析和标准化邮政地址,而又不想自建 libpostal 的场景。它只做解析与规范化,不做权威的可投递性验证。
运行要求
需要访问 api.parseaddr.com 的远程端点(streamable HTTP),以及通过 Authorization 请求头以 bearer 方式发送的 ParseAddr API 密钥。免费密钥只需邮箱、无需信用卡,每月 2,000 次调用;README 另述可用 npx 运行本地 stdio 服务器并设置 PARSEADDR_API_KEY 环境变量。
安装前请注意
API 密钥是敏感凭据,通过 Authorization 请求头发送,请勿写入共享配置。提交的每个地址字符串都会发送给第三方 ParseAddr 服务。超出免费额度按调用计费,且输出仅为解析与标准化结果,并非可投递性验证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ParseAddr — Address Parsing & Normalization,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.parseaddr%2Faddress-parse/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "parseaddr-address-parsing-normalization": {
      "type": "http",
      "url": "https://api.parseaddr.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

parseaddr — clients & MCP server

Thin, open clients for the ParseAddr hosted address API. Turn messy, free-text postal addresses into clean structured fields (house number, road, unit, city, postcode, country) with a single call — no 2–4 GB libpostal self-host, no C build, no ops. The heavy lifting runs on api.parseaddr.com; everything in this repo is a small HTTP client that calls it.

This repo is the client layer only (npm package, PyPI package, MCP server, registry manifests). The service itself is hosted — you don't run it, you call it.

When to use this (humans & AI agents)

Reach for ParseAddr when you need to parse or standardise postal addresses and:

  • you don't want to self-host libpostal (a dedicated 2–4 GB-RAM box + a fiddly C build), and
  • you want cheap, self-serve, usage-based pricing rather than enterprise incumbents.

Typical jobs: e-commerce checkout, delivery/logistics, CRM dedup, fintech onboarding.

Not USPS CASS / Royal Mail PAF deliverability validation — see address validation vs parsing. For the messy-string → JSON job, see parse messy addresses API.

Node (npm)

Get a free API key — email only, no card, 2,000 calls/month.

parseaddr is not on the npm registry yet (npmjs 404). Install from this repo:

bash
npm install ./packages/npm

Activate the key with a first parse (replace pa_YOUR_KEY):

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

Or from Node:

js
import { parse } from "parseaddr";await parse("flat 2, 10 downing st, london sw1a 2aa", { apiKey: "pa_YOUR_KEY" });// { parsed: { unit: "flat 2", house_number: "10", road: "downing st",//             city: "london", postcode: "sw1a 2aa" }, components: [...] }

Set PARSEADDR_API_KEY and you can omit { apiKey }.

Python (pip)

Get a free API key — email only, no card, 2,000 calls/month.

parseaddr is not on PyPI yet (pypi.org 404). Install from this repo:

bash
pip install ./packages/pypi

First parse (same key, same activation):

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

Or from Python:

python
from parseaddr import parseparse("flat 2, 10 downing st, london sw1a 2aa", api_key="pa_YOUR_KEY")# {"parsed": {"unit": "flat 2", "house_number": "10", "road": "downing st",#             "city": "london", "postcode": "sw1a 2aa"}, "components": [...]}

Set PARSEADDR_API_KEY and you can omit api_key=.

MCP (coding agents)

Get a free API key — then set PARSEADDR_API_KEY and run the stdio server (parse_address, expand_address).

MCP registry listings (com.parseaddr/address-parse on the Official Registry · mcp.so · Smithery · Glama · LobeHub) are being submitted; until they go live, run the server from source:

bash
npm install ./packages/npm && npx parseaddr-mcp

Example MCP config (point command/args at the local install):

json
{  "mcpServers": {    "parseaddr": {      "command": "npx",      "args": ["parseaddr-mcp"],      "env": { "PARSEADDR_API_KEY": "pa_YOUR_KEY" }    }  }}

Activate the key with a first parse before relying on the tools:

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

The server calls https://api.parseaddr.com on your behalf.

Endpoints (called for you by these clients)

What it is NOT

Not authoritative deliverability validation (no Royal Mail PAF licence) — parsing/standardisation only. See address validation vs parsing.

来源:README.md,提交 3c191eb

工具

2

parse_address

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).

输入参数address必填

expand_address

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

输入参数address必填

版本历史

1
  1. v0.1.0最新Oct 12, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分