MCP server for US civic & property data: geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — from free federal open data.
claude mcp add civic-library-mcp -- npx -y civic-library-mcp{
"mcpServers": {
"civic-library-mcp": {
"command": "npx",
"args": ["-y", "civic-library-mcp"]
}
}
}MCP Servers overview
# civic-library-mcp
**An MCP server that gives AI agents clean, token-efficient access to US civic & property data — geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — sourced entirely from free federal open data.**
No scraping, no paid keys for the core tools, no proprietary databases. Just the official sources (U.S. Census Bureau, U.S. Treasury CDFI Fund, FEMA), wrapped in a small set of well-described tools that return compact JSON instead of the bloated payloads most data MCPs dump into your context window.
Built for developers working on **proptech, real-estate, fintech, civic tech, GIS, and housing research** with AI agents.
---
## Tools
| Tool | What it does | API key? |
|---|---|---|
| `geocode_address` | US street address → lat/lng + state, county, and 2020 census tract GEOID | None |
| `lookup_census_tract` | lat/lng → the 2020 census tract (with county/state) containing that point | None |
| `check_opportunity_zone` | Is this address / point / tract in a designated Qualified Opportunity Zone? | None |
| `get_tract_demographics` | ACS 5-Year indicators (income, population, home value, poverty rate, …) for a tract | Free Census key |
| `check_flood_zone` | lat/lng → FEMA flood-hazard zone + whether it's a Special Flood Hazard Area | None |
Four of the five tools work with **zero configuration**. Only `get_tract_demographics` needs a free Census API key (see below).
---
## Install
### Claude Desktop / Cursor / any MCP client
Add to your MCP config (e.g. `claude_desktop_config.json`):
```json
{
"mcpServers": {
"civic-library": {
"command": "npx",
"args": ["-y", "civic-library-mcp"],
"env": {
"CENSUS_API_KEY": "your-free-census-key-optional"
}
}
}
}
```
### Claude Code
```bash
claude mcp add civic-library -- npx -y civic-library-mcp
```
The `CENSUS_API_KEY` line is optional — leave it out and four of the five tools still work.
### Census API key (only for demographics)
`get_tract_demographics` calls the U.S. Census ACS Data API, which requires a free key. Get one in ~30 seconds at **<https://api.census.gov/data/key_signup.html>** and set it as `CENSUS_API_KEY` in the server's environment.
---
## Examples
**Check whether a property is in an Opportunity Zone:**
```jsonc
// 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)"
}
```
**Flood risk for a coordinate:**
```jsonc
// 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"
}
```
**Tract demographics (needs a key):**
```jsonc
// 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
}
```
---
## A note on correctness: Opportunity Zones use 2010 census tracts
Opportunity Zone designations are keyed to **2010** census tract boundaries, but the default Census geocoder returns **2020** tracts — and tract GEOIDs changed between the two vintages. A naive lookup that matches a 2020 GEOID against the OZ list will silently return wrong answers near any boundary that moved.
`check_opportunity_zone` handles this correctly: it re-resolves the address/coordinate to its **2010** tract before matching. (You can see the difference — the same address can yield GEOID `…980000` from `geocode_address` and `…006202` from `check_opportunity_zone`.) If you pass `tract_geoid` directly, it's treated as a 2010 GEOID.
---
## Data sources & licensing
| Data | Source | Notes |
|---|---|---|
| Geocoding & census tracts | [U.S. Census Bureau Geocoder](https://geocoding.geo.census.gov/) | Public domain |
| Opportunity Zones | [U.S. Treasury CDFI Fund](https://www.cdfifund.gov/opportunity-zones) | Round 1 (2018) designations, 8,764 tracts, bundled |
| Demographics | [U.S. Census ACS 5-Year](https://www.census.gov/data/developers/data-sets/acs-5year.html) | Public domain; free key required |
| Flood zones | [FEMA National Flood Hazard Layer](https://www.fema.gov/flood-maps/national-flood-hazard-layer) | Public domain |
All underlying data is U.S. federal open data (public domain). This software is MIT-licensed.
The bundled Opportunity Zone list is regenerated with `npm run build:oz`.
---
## Roadmap
- **OZ 2.0** — designations under the One Big Beautiful Bill Act (2025) once finalized/published.
- **More ACS fields** — educational attainment, race/ethnicity, housing tenure, commute.
- **County parcel / CAD lookups** — added per-county only where the source's terms of use permit automated access.
- **Census place & ZIP geographies**, FEMA base flood elevations.
---
## Disclaimer
This tool surfaces public government data for informational purposes. It is **not** legal, financial, tax, insurance, or investment advice. Opportunity Zone, flood-zone, and demographic determinations should be confirmed against the official source of record before relying on them for any transaction. Data is provided "as is" with no warranty.
## Contributing
Issues and PRs welcome — especially additional federal open-data sources and ACS fields. Keep responses compact (token cost is a feature) and every data point attributed to its source.
## License
MIT © 2026 Adrian Cisneros
What people ask about civic-library-mcp
What is adriancisnerosspeed-hub/civic-library-mcp?
+
adriancisnerosspeed-hub/civic-library-mcp is mcp servers for the Claude AI ecosystem. MCP server for US civic & property data: geocoding, census tracts, Opportunity Zones, ACS demographics, and FEMA flood zones — from free federal open data. It has 0 GitHub stars and was last updated today.
How do I install civic-library-mcp?
+
You can install civic-library-mcp by cloning the repository (https://github.com/adriancisnerosspeed-hub/civic-library-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is adriancisnerosspeed-hub/civic-library-mcp safe to use?
+
adriancisnerosspeed-hub/civic-library-mcp has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains adriancisnerosspeed-hub/civic-library-mcp?
+
adriancisnerosspeed-hub/civic-library-mcp is maintained by adriancisnerosspeed-hub. The last recorded GitHub activity is from today, with 0 open issues.
Are there alternatives to civic-library-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy civic-library-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/adriancisnerosspeed-hub-civic-library-mcp)<a href="https://claudewave.com/repo/adriancisnerosspeed-hub-civic-library-mcp"><img src="https://claudewave.com/api/badge/adriancisnerosspeed-hub-civic-library-mcp" alt="Featured on ClaudeWave: adriancisnerosspeed-hub/civic-library-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!
⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。