关于 civic-library-mcp
civic-library-mcp 为开发者和 AI Agent 提供美国公民与房地产相关的联邦开放数据查询。它以精简 JSON 返回地理编码、人口普查、机会区和 FEMA 洪水区信息,五项工具中四项无需配置。
主要功能
- 01美国地址地理编码
- 02查询人口普查区
- 03检查机会区资格
- 04获取 ACS 人口统计
- 05查询 FEMA 洪水风险
适用场景
- 01筛查房产是否位于机会区
- 02按坐标查询人口普查区及人口数据
- 03评估地点的 FEMA 洪水风险
MCP 相关
该 MCP 服务向 MCP 客户端提供五种美国地理与房产数据查询工具,包括地址地理编码、人口普查区、机会区、ACS 人口统计和洪水区。人口统计工具需要免费的 Census API 密钥,其余四项无需配置。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y civic-library-mcpCENSUS_API_KEY密钥Free Census API key (https://api.census.gov/data/key_signup.html). Required only for the get_tract_demographics tool; all other tools work with no key.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
5收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| address | string | 是 | 美国街道地址,例如 '1600 Pennsylvania Ave NW, Washington, DC 20500' |
详细介绍
civic-library-mcp
一个 MCP 服务,让 AI Agent 能够简洁、高效地访问美国民事与房产数据——地理编码、人口普查区、机会区、ACS 人口统计数据和 FEMA 洪水区——数据全部来自免费的联邦开放数据。
不抓取数据,核心工具无需付费密钥,也不使用专有数据库。我们只将官方数据源(美国人口普查局、美国财政部 CDFI 基金、FEMA)封装为一组说明清晰的工具,返回精简的 JSON,而不是大多数数据类 MCP 服务塞进上下文窗口的臃肿数据。
面向使用 AI Agent 开展房地产科技、房地产、金融科技、民事科技、GIS 和住房研究的开发者。
工具
| 工具 | 功能 | 需要 API 密钥? |
|---|---|---|
geocode_address | 美国街道地址 → 纬度/经度 + 州、县和 2020 年人口普查区 GEOID | 无 |
lookup_census_tract | 纬度/经度 → 包含该点的 2020 年人口普查区(含县/州) | 无 |
check_opportunity_zone | 此地址/点/人口普查区是否位于指定的合格机会区? | 无 |
get_tract_demographics | 人口普查区的 ACS 5 年指标(收入、人口、房屋价值、贫困率等) | 免费 Census 密钥 |
check_flood_zone | 纬度/经度 → FEMA 洪水危险区 + 是否属于特别洪水危险区 | 无 |
五个工具中有四个无需任何配置即可使用。只有 get_tract_demographics 需要免费的 Census API 密钥(见下文)。
安装
Claude Desktop / Cursor / 任意 MCP 客户端
添加到 MCP 配置中(例如 claude_desktop_config.json):
{
"mcpServers": {
"civic-library": {
"command": "npx",
"args": ["-y", "civic-library-mcp"],
"env": {
"CENSUS_API_KEY": "your-free-census-key-optional"
}
}
}
}
Claude Code
claude mcp add civic-library -- npx -y civic-library-mcp
CENSUS_API_KEY 行是可选的——省略后,五个工具中仍有四个可正常使用。
Census API 密钥(仅用于人口统计数据)
get_tract_demographics 会调用美国人口普查 ACS Data API,该 API 需要免费密钥。约 30 秒即可在 https://api.census.gov/data/key_signup.html 获取密钥,并在服务的环境中将其设为 CENSUS_API_KEY。
示例
检查某处房产是否位于机会区:
// check_opportunity_zone({ "address": "900 Camp St, New Orleans, LA 70130" })
{
"is_opportunity_zone": true,
"tract_geoid_2010": "22071013400",
"designation_type": "Low-Income Community",
"round": "1.0",
"authority": "Tax Cuts and Jobs Act of 2017 (26 U.S.C. § 1400Z-1)",
"resolved_from": "address",
"source": "U.S. Treasury CDFI Fund (designated 2018-12-14)"
}
查询坐标的洪水风险:
// check_flood_zone({ "latitude": 29.9511, "longitude": -90.0715 })
{
"flood_zone": "X",
"zone_subtype": "0.2 PCT ANNUAL CHANCE FLOOD HAZARD",
"in_special_flood_hazard_area": false,
"zone_description": "Moderate-to-minimal risk (outside the 1% annual-chance floodplain).",
"source": "FEMA National Flood Hazard Layer"
}
人口普查区人口统计数据(需要密钥):
// get_tract_demographics({ "tract_geoid": "22071013400",
// "fields": ["population", "median_household_income", "poverty_rate"] })
{
"tract_geoid": "22071013400",
"tract_name": "Census Tract 134, Orleans Parish, Louisiana",
"acs_dataset": "ACS 5-Year 2023",
"population": 2276,
"median_household_income": 41250,
"poverty_rate": 0.231
}
关于准确性的说明:机会区使用 2010 年人口普查区
机会区的指定依据2010 年人口普查区边界,而 Census 地理编码器默认返回2020 年人口普查区——两个时期的人口普查区 GEOID 并不相同。若直接将 2020 年 GEOID 与机会区列表匹配,在边界发生变动的区域附近就会悄无声息地返回错误结果。
check_opportunity_zone 会正确处理此问题:在匹配前,重新将地址/坐标解析为其对应的2010 年人口普查区。(你可以看到区别——同一地址通过 geocode_address 得到的 GEOID 可能是 …980000,而通过 check_opportunity_zone 得到的则是 …006202。)如果直接传入 tract_geoid,系统会将其视为 2010 年 GEOID。
数据源与许可
| 数据 | 来源 | 备注 |
|---|---|---|
| 地理编码与人口普查区 | 美国人口普查局地理编码器 | 公有领域 |
| 机会区 | 美国财政部 CDFI 基金 | 第一轮(2018 年)指定,共 8,764 个区,随项目打包 |
| 人口统计数据 | 美国人口普查 ACS 5 年数据 | 公有领域;需要免费密钥 |
| 洪水区 | FEMA 国家洪水危险区图层 | 公有领域 |
所有底层数据均为美国联邦开放数据(公有领域)。本软件采用 MIT 许可。
随项目打包的机会区列表通过 npm run build:oz 重新生成。
路线图
- OZ 2.0 — 《One Big Beautiful Bill Act》(2025 年)中的指定事项,待最终确定/发布。
- 更多 ACS 字段 — 教育程度、种族/族裔、住房产权类型、通勤。
- 县级地块/CAD 查询 — 仅在来源的使用条款允许自动访问时,按县添加。
- 人口普查指定地点和 ZIP 地理区域、FEMA 基准洪水高程。
免责声明
此工具提供政府公开数据,仅供参考。它不构成法律、财务、税务、保险或投资建议。依赖机会区、洪水区和人口统计数据进行任何交易前,应对照官方记录来源进行确认。数据按“原样”提供,不附带任何保证。
贡献
欢迎提交 Issue 和 PR,尤其是补充联邦开放数据来源和 ACS 字段。请保持响应简洁(节省 token 是一项特性),并为每个数据点注明来源。
许可证
MIT © 2026 Adrian Cisneros
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。