Census (ACS by ZIP)

io.github.mcpwright由 GitHub 账号 mcpwright 发布v0.1.3更新于 Oct 24, 2026

U.S. Census (ACS) data by ZIP: income, demographics, housing, education, from a local store.

已验证STDIO仅桌面位置与生活数据与分析

概览

AI 生成的概览

让助手从本地离线数据存储中查询任意 ZIP 编码的美国人口普查 ACS 收入、人口、住房和教育数据。

可以做什么
提供八个只读工具,基于美国社区调查(ACS)5 年数据:lookup_zip 确认 ZIP 是否对应人口普查 ZCTA 并返回名称、总人口和数据年份;get_income、get_demographics、get_housing 和 get_education 分别返回家庭收入中位数、年龄中位数、房屋价值与租金、以及教育程度。compare_zips 按某一指标对多个 ZIP 排序,get_acs_variable 按代码或友好名称返回任意已存储的 ACS 变量,find_zips 则按覆盖比例做地点到 ZIP 的反向查询。
适用场景
当助手需要按 ZIP 编码获取美国社区级统计数据时适用,例如比较不同地区的收入或住房成本、描述某地概况,或确定某城市包含哪些 ZIP。若预计会反复查询,它尤其合适,因为数据只需下载一次,之后完全在本地提供,不再产生网络请求。
运行要求
以 Python 包(mcpwright-census)形式通过 uvx 在本地运行;需要 Python 3.12+ 以及通过 CENSUS_API_KEY 环境变量提供的免费 Census API 密钥。需先执行一次 setup 或 refresh 命令,将 ACS 数据集批量下载到操作系统缓存目录下的本地 SQLite 存储;存储位置可用 CENSUS_MCP_STORE 覆盖。仅在首次下载和刷新时需要访问 Census Bureau 主机的网络。
安装前请注意
必须提供 CENSUS_API_KEY 环境变量,用于一次性批量下载;README 称该密钥不会被记录,也不会发送到其他地方。仅在 setup 或 refresh 期间向公开的 Census Bureau 端点发出请求。所有工具均为只读,不收集个人数据,但数据为 5 年估计值,约 2% 的 ZIP 没有对应 ZCTA 并会返回错误,find_zips 的结果是近似值,应结合覆盖比例解读。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Census (ACS by ZIP),将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

census-mcp

U.S. Census data by ZIP code, inside your agent. An MCP server that lets an LLM look up income, demographics, housing, and education for any ZIP — built on Anthropic's official mcp Python SDK.

All tools are read-only. Data is the U.S. Census Bureau's American Community Survey (ACS) 5-year release — bulk-downloaded once into a local store, then served offline. A free Census API key is required for the one-time download.

Status: published (v0.1.2) — uvx mcpwright-census (PyPI) and listed in the official MCP Registry as io.github.mcpwright/census-mcp. All 8 tools below are live and unit-tested, verified end-to-end against the live ACS 5-year release (vintage 2024 at the time of writing — the server auto-detects the latest). Part of the mcpwright suite.

Tools

ToolWhat it does
lookup_zip(zip_code)Confirm a ZIP maps to a Census ZCTA; returns name, total population, and the ACS vintage.
get_income(zip_code)Median household income, per-capita income, total households, and the % of households earning $200k+.
get_demographics(zip_code)Total population and median age.
get_housing(zip_code)Median home value, median gross rent, occupied units, and % owner-occupied.
get_education(zip_code)Of adults 25+, the % with a bachelor's degree or higher and the % with a graduate/professional degree.
compare_zips(zips, metric)Rank several ZIPs by one metric (income, age, home value, attainment, …), highest first.
get_acs_variable(zip_code, variable)Escape hatch: the raw value of any stored ACS variable, by code or friendly name.
find_zips(place, state=None)Reverse lookup: the ZIPs that fall within a city/town/CDP, ranked by how much of each ZIP's land lies in the place.

ZIP ≈ ZCTA (ZIP Code Tabulation Area): they mostly coincide, but ~2% of ZIPs (PO-box-only / non-residential) have no ZCTA and will return an error. All ACS figures are 5-year estimates.

find_zips is the reverse direction (place → ZIPs). It's approximate: ZCTAs don't nest inside places, so a ZIP can span several places and vice versa — read each match's coverage_pct and pass a state to disambiguate same-named places (e.g. Cambridge, MA vs OH). It's built on the public 2020 Census ZCTA-to-Place relationship file (2020 geography; no API key needed for it).

Install

Requires Python 3.12+ and a free Census API key (set CENSUS_API_KEY). The PyPI package is mcpwright-census; the command, server, and tools are all "census".

bash
export CENSUS_API_KEY=your-free-keyuvx mcpwright-census setup     # one-time: bulk-download the ACS dataset into a local store

Claude Code

bash
claude mcp add census -e CENSUS_API_KEY=your-free-key -- uvx mcpwright-census

Claude Desktop

Add to claude_desktop_config.json:

json
{  "mcpServers": {    "census": {      "command": "uvx",      "args": ["mcpwright-census"],      "env": { "CENSUS_API_KEY": "your-free-key" }    }  }}

First run downloads the full ACS dataset (~33k ZCTAs) into a local SQLite store under your OS cache dir, so every later lookup is instant and offline. Run mcpwright-census setup ahead of time, or let the server download lazily on first use. mcpwright-census refresh re-pulls when a new ACS vintage is published. Override the store location with CENSUS_MCP_STORE.

Develop

bash
git clone https://github.com/mcpwright/census-mcp && cd census-mcpuv syncuv run pytest -v                                     # tests (mocked Census + seeded SQLite)uv run ruff check src/ && uv run ruff format --check src/   # lint + formatuv run mypy                                          # type checkinguv run mcp dev src/census_mcp/server.py              # poke the tools in the MCP Inspector

Roadmap

  • lookup_zip — validate a ZIP, name + population
  • get_income — income measures + % $200k+
  • get_demographics — population + median age (age brackets still to come)
  • get_housing — median home value, rent, % owner-occupied
  • get_education — % bachelor's+, % graduate
  • compare_zips — one metric across several ZIPs, ranked
  • get_acs_variable — raw value for any stored ACS variable (escape hatch)
  • find_zips — reverse lookup: place → ZIPs, ranked by land coverage
  • get_demographics age brackets (under-18 / 18-34 / 35-64 / 65+)
  • Publish to PyPI (mcpwright-census) + the official MCP Registry

Privacy

census-mcp runs entirely on your machine and collects, stores, or transmits no personal data — no accounts, no tracking, no telemetry. Its only outbound requests go to the public U.S. Census Bureau to download public data: api.census.gov for the ACS dataset (using your own CENSUS_API_KEY), and www2.census.gov for the place-lookup file used by find_zips (no key needed). The key is read from your environment and is never logged or sent anywhere else. These downloads happen during setup/refresh (or lazily on first use); after that, lookups are served from a local store with no further network calls. The downloaded data lives under your OS cache directory (public reference data only) and can be deleted at any time.

Full policy: https://mcpwright.com/privacy

Questions & feedback

  • Questions, ideas, or "could it do X?" → Discussions
  • Bugs & concrete feature requests → Issues

Contributions welcome.


Part of mcpwright · built by Devender Gollapally

来源:README.md,提交 73cc534

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.3最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分