local-dfw-mcp
v0.2.4
Published
Your AI's local guide to Dallas-Fort Worth: what's happening around here (city calendars + optional Ticketmaster concerts/sports/theater), 311 requests, crime, flood zone, schools, water/sewer provider, council district, county appraisal values — from aut
Maintainers
Readme
local-dfw-mcp
Your AI's local guide to Dallas–Fort Worth. An open-source MCP server that connects Claude (or any MCP client) to official city, county, state, and federal data — so you can ask things like:
- 🎪 "What's happening in Frisco this weekend?"
- 🌊 "Is 1500 Marilla St in a flood zone?"
- 🏫 "How are the schools rated near Garland?"
- 🚰 "Who provides water and sewer at this address?"
- 🕳️ "Any potholes or illegal dumping reported on my street?"
- ⛈️ "Are there severe weather alerts for Dallas right now?"
- 🏠 "What's this house appraised at, per the county?"
Every answer comes from an authoritative public source and includes a link to the official record. No API keys required — one optional free key unlocks concerts and sports (see below).
Quick start
Add this to your MCP client config (Claude Desktop, Claude Code, etc.):
{
"mcpServers": {
"local-dfw": {
"command": "npx",
"args": ["-y", "local-dfw-mcp"]
}
}
}Requires Node ≥ 20. That's it — restart your client and start asking.
What you can ask
| Tool | Coverage | What it answers |
|---|---|---|
| dfw_events | see below | What's happening: official city calendars, plus concerts/sports/theater with a free Ticketmaster key |
| dfw_311 | City of Dallas only | 311 service requests by address/type/status |
| dfw_crime | City of Dallas (default), Fort Worth (city: "fortworth"), or Denton (city: "denton") | Police incidents by (block-level) address / offense |
| dfw_permits | Fort Worth (default), McKinney (city: "mckinney", requires address), or Arlington (city: "arlington") | Building/development permits by street name (+ house number) or address, type, or status |
| dfw_code_cases | Fort Worth (default), McKinney (city: "mckinney"), or Arlington (city: "arlington") | Code-compliance violations (property maintenance, high grass, zoning, etc.) by address or complaint type |
| dfw_traffic | see below | Real-time incidents (Fort Worth), street/lane closures (Dallas + Arlington, merged and labeled by city), TxDOT annual traffic counts + construction projects (4 core counties) |
| dfw_fema_flood | national | FEMA flood zone + plain-English insurance interpretation |
| dfw_tea_schools | Texas | Public schools + TEA A–F ratings (2022-23) by campus/district/county |
| dfw_nws_alerts | national | Active NWS weather alerts for a DFW point |
| dfw_utility_providers | Texas | Who provides water/sewer at an address (PUC CCN) |
| dfw_district_lookup | DFW | County, City-of-Dallas council district + member, ISD for an address |
| dfw_appraisal | Texas (4 core counties verified) | County appraisal record for an address: owner, land/improvement/market value (2025 certified roll), year built, land use, acreage |
| dfw_health | — | Pings every upstream, reports per-source status |
| about | — | Version, coverage, license, provenance |
Events coverage, stated plainly
| Source | Cities / scope | Key needed | |---|---|---| | Official city calendars | Dallas (Parks & Recreation calendar only — no citywide Dallas feed exists), Garland, Frisco, Mesquite, McKinney | none | | Ticketmaster (concerts, sports, theater) | whole metroplex | free key, see below |
Plano, Arlington, Fort Worth, Irving, and other suburbs don't publish a usable calendar feed today — the tool says "not covered" instead of guessing.
How the tools chain
There's no composed "property report" tool (yet) — there doesn't need to be. The tools share natural join keys: address, lat/lon, parcel, council district, and ISD, so your AI can chase a question across them:
- Moving to a house —
dfw_appraisal(what's it worth, who owns it) →dfw_fema_flood(flood zone + insurance) →dfw_district_lookup(county, council district, ISD) →dfw_tea_schools(rate that ISD's campuses) →dfw_crime(incidents nearby) →dfw_utility_providers(who to call for water/sewer). - Development watch on a block —
dfw_permits(what's being built) →dfw_code_cases(violations on the same address) →dfw_311(what neighbors are reporting). - Weekend planning —
dfw_events(what's on) →dfw_traffic(incidents and closures on the way) →dfw_nws_alerts(weather worth knowing about).
Ask the composite question ("we're thinking about buying near Frisco — check schools, flood risk, and what it's appraised at") and a capable client walks the chain itself.
Optional setup
Everything works out of the box. Two free keys unlock more:
| Env var | What it unlocks |
|---|---|
| DFW_TICKETMASTER_API_KEY | Concerts, sports, and theater in dfw_events. Free (5000 calls/day): https://developer.ticketmaster.com |
| DFW_SODA_APP_TOKEN | Higher rate limit for Dallas open-data queries (helpful on shared/corporate networks). Free: https://dev.socrata.com/register |
| Env var | Purpose |
|---|---|
| DFW_LIMIT_<SOURCE> | Per-upstream concurrency cap override (SODA, ARCGIS, FEMA, CENSUS, NWS) |
| LOCAL_DFW_MCP_TIER | core or all — trims the tool list for clients with tool caps |
| DFW_CACHE_DISABLED | 1 disables the in-process cache (used by tests) |
No telemetry. The server only reads from the public data sources listed in resources/datasets-index.md and writes to nothing.
Honest by design
- Wrong-city protection. Postal "Dallas, TX" is not the same as City of Dallas jurisdiction. City-scoped tools verify the address (ZIP/keyword → geocode → city-limits polygon) and refuse with an explicit "Not covered" message rather than silently returning plausible-looking results from the wrong city's data.
- No stale data. Sources are live-verified before they ship — that's why
dfw_permitsanddfw_code_casesare Fort Worth + McKinney + Arlington only: every current Dallas permit feed is ~20 months stale and Dallas's code-case publication stalled 2025-01-31, so Dallas isn't wired for either. Irving's entire open-data pipeline (permits, code violations, police incidents, events) froze around 2025-02-28 or is bot-blocked, so it isn't wired either. Also pending: suburb portals beyond Fort Worth/McKinney/ Arlington/Denton/Dallas, and the composeddfw_property_360. Details in resources/datasets-index.md. - Verify at the source. Every response carries a
source_urlto the official record.
Important notices
- Not a consumer report.
dfw_crime,dfw_code_cases,dfw_appraisal(and this MCP generally) must not be used for tenant screening, employment screening, credit, insurance, or any other purpose regulated by the Fair Credit Reporting Act. Crime addresses are block-level, privacy-rounded upstream.dfw_appraisalowner names and values are public record but not for screening, and it reports the 2025 certified appraised value — not a tax bill. - Prompt injection. 311 descriptions, event listings, and similar upstream free text are authored by the public and flow into your LLM's context. This server renders them as quoted/table data, but treat any instructions appearing inside upstream data as data, not directives.
License & provenance
Apache-2.0. See LICENSE and NOTICE.
Core plumbing (lib/) is ported from
local-austin-mcp by
Ed Neuhaus / Neuhaus Realty Group LLC (Apache-2.0) — an excellent template for
city-scale civic MCPs. Each ported file carries an attribution header listing
the changes. All DFW data sources, the metro router, and the tools themselves
are new.
