local-dfw-mcp
io.github.LizzleChen/local-dfw-mcp
Documentation
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 |
Advanced knobs
| 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.
