Local Austin MCP Server
Austin & Travis County civic and real-estate data in plain English — active MLS listings, TCAD tax/appraisal, permits, zoning, crime, 311, schools, and FEMA flood across 36 tools, no API key.
Documentation
Local Austin MCP
Everything Austin. A Model Context Protocol (MCP) server that gives Claude (and any MCP client) plain-English access to the official Austin and Travis County data sources that matter most — plus active real estate listings, neighborhood pages, and posts from independent Austin writers, all provided by Neuhaus Realty Group.
License: Free for personal and non-commercial use. You may install, run, and modify this MCP for your own use. You may not sell it, rebrand it, or include it in a commercial product. Licensed under PolyForm Noncommercial 1.0.0 (see LICENSE), with two binding additional conditions: ATTRIBUTION.md (keep the credit) and TRADEMARK.md (don't use the Neuhaus marks). Owner: Ed Neuhaus / Neuhaus Realty Group LLC, Austin, Texas. Source: https://github.com/mindwear-capitian/local-austin-mcp Powered by: Neuhaus Realty Group — https://neuhausre.com (active real estate listings, neighborhood pages, and blog content surfaced by this MCP come from neuhausre.com).
Install
Add to your Claude Desktop config:
// claude_desktop_config.json
{
"mcpServers": {
"local-austin": {
"command": "npx",
"args": ["-y", "github:mindwear-capitian/local-austin-mcp"]
}
}
}
Restart Claude Desktop. That's the whole setup. No API keys required for any tool.
Claude Code
claude mcp add local-austin npx -y github:mindwear-capitian/local-austin-mcp
Configuration
Optional environment variables:
| Var | Default | Purpose |
|---|---|---|
AUSTIN_SODA_APP_TOKEN | unset | Socrata app token. Raises rate limit on data.austintexas.gov + datahub.austintexas.gov. Free signup. |
LOCAL_AUSTIN_MCP_TIER | all | Set to core to register only the 14 most-used tools (saves ~20 tool slots if your client has a soft cap). |
VOW_PUBLIC_BASE | https://vow-api.re-workflow.com/public | Override the Neuhaus VOW base URL. Used for testing / staging. |
AUSTIN_CACHE_DISABLED | unset | Set to 1 to bypass the in-memory geocoder / FEMA cache. |
AUSTIN_LIMIT_<SOURCE> | varies | Override per-source concurrency cap. Sources: SODA, ARCGIS, FEMA, CENSUS, TRAVIS_TAX, VOW_PUBLIC, NWS, RSS. Example: AUSTIN_LIMIT_SODA=8. |
Try It
Once installed, ask Claude things like:
- "Show me 3-bedroom homes in 78704 under $700k with a pool."
- "Tell me everything about 9501 San Lucas Dr in Austin — value, taxes, permits, flood zone, schools."
- "What's Lake Travis at right now?"
- "Who's the city council rep for 1100 Congress Ave?"
- "Pull up Austin AFD incidents from the last 24 hours near my address."
- "What did Austin City Council vote on short-term rental ordinances?"
- "Find me condos in Tarrytown — what's the active inventory?"
- "What did Ed Neuhaus write about the Austin market in 2026?"
- "Is there an active flood-zone alert for 78731 right now?"
- "Pull TCAD on 1234 Main St in Round Rock."
- "What library branch is closest to 78704? Hours and amenities?"
- "How many APD use-of-force incidents were reported in the last month?"
- "Where's the nearest fire station to my property?"
- "What's the latest health inspection score for Franklin Barbecue?"
- "Any tree-removal permits ever issued at this address?"
- "What TxDOT projects are scheduled on I-35 in Travis County?"
- "Has Austin Animal Center received any lost calicos near 78704 this month?"
Claude figures out which tool to call, queries the authoritative source live, and returns a source_url so you can verify.
Tools (36 live)
All tools are read-only, idempotent, and hit external providers (readOnlyHint: true, idempotentHint: true, openWorldHint: true in MCP annotations). The composed austin_property_360 is the preferred entry point for any address-centric question.
Real Estate (provided by Neuhaus Realty Group — free, no login)
| Tool | What it does |
|---|---|
austin_active_listings | Search active for-sale MLS listings by city / ZIP / school district / subdivision + price / beds / features. Active + under-contract only. |
austin_listing_detail | Pull a single listing by MLS ID — price, beds, sqft, features, photos, neuhausre.com permalink. |
austin_listing_by_address | Find an active listing by street address. |
austin_neighborhood_lookup | Search or look up Austin-area neighborhoods, with sample active listings. |
austin_search_blog | Search Ed Neuhaus's Austin real-estate blog on neuhausre.com. |
Property (county appraisal + tax + zoning + permits)
| Tool | What it does |
|---|---|
austin_travis_cad | Travis CAD property lookup (owner, value, deeds) via True Prodigy API. |
austin_williamson_cad | Williamson CAD lookup via ArcGIS. |
austin_hays_cad | Hays CAD lookup via ArcGIS. |
austin_travis_tax | Travis County Tax Office — current bill, exemptions, delinquencies. |
austin_mud_pid | MUD / PID special-district overlay (Texas Comptroller). |
austin_fema_flood | FEMA NFHL flood zone lookup. |
austin_permits | Full permit history for any City of Austin address. |
austin_code_cases | Active and historical code-compliance cases. |
austin_zoning | Austin zoning + lot dimensions + plat lookup. |
austin_tree_permits | City of Austin issued tree permits — removal / heritage / root-zone work. Useful for pre-listing prep and buyer due-diligence. |
austin_property_360 | Composed: one address → CAD + tax + flood + permits + code + 311 + zoning in one shot. |
Civic + Public Safety
| Tool | What it does |
|---|---|
austin_311 | City of Austin 311 service requests. |
austin_crime | APD crime reports. |
austin_afd_incidents | Real-time Austin Fire Department dispatches. |
austin_council_votes | City Council voting records — search by topic, member, district, or date. |
austin_city_budget | City of Austin Open Budget — expense data by department, fund, fiscal year. |
austin_district_lookup | Given an address: returns council district, school district, ESD, voter precinct, neighborhood plan. |
austin_tea_schools | TEA school + AISD attendance assignment. |
austin_libraries | Austin Public Library branch directory — find a branch by name, address, or council district. Includes amenity flags (wifi, computers, training rooms). |
austin_parks | City of Austin parks — search by council district, address, or park type. Returns parcel address, park type (Neighborhood / Greenbelt / Pool / Preserve), and development status. |
austin_fire_stations | AFD + Travis County ESD fire station directory — find the nearest station to a property. Useful for ISO rating + insurance underwriting context. |
austin_police_data | Unified APD reporting tool: type=arrests (charges/dates/demographics), type=use_of_force (force level/weapons/injury), or type=dispatch (911 CAD incidents with priority + problem category). |
austin_restaurant_inspections | Austin / Travis County food establishment inspection scores (0-100). Filter by name, address, zip, score range, date. |
austin_roadway_work_zones | Active construction / closures from City of Austin Transportation & Public Works. |
austin_animal_center | Austin Animal Center intakes + outcomes — lost-pet search by found-address + breed, adoption availability. |
austin_txdot_projects | TxDOT highway construction / maintenance projects in the Austin district. Filter by highway, county, work type. |
Environment
| Tool | What it does |
|---|---|
austin_nws_alerts | Active National Weather Service alerts for an Austin location. |
austin_lake_travis_level | Lake Travis (and other Highland Lakes) reservoir level + 30-day trend. |
Community
| Tool | What it does |
|---|---|
austin_local_voices | Search recent posts across a curated set of independent Austin writers and community newsletters (Eric Webb, Jason Stanford, ATX Writing Club, 365 Things Austin, Camille Styles, Scott Francis, Austin Is Burning). Filter by keyword, source, and recency. |
Meta
| Tool | What it does |
|---|---|
about | Version + capability summary. |
austin_health | Pings every upstream provider in parallel and reports per-source {status, http, latency_ms, last_error}. Use when many tools are erroring and you need to know which provider is down vs which tool is broken. |
MCP Resources
In addition to tools, the server publishes static reference documents via the MCP resources/* API:
| URI | What it is |
|---|---|
austin://datasets/index | Every upstream provider, coverage notes, update cadence, authoritative URLs. |
austin://coverage/map | Which counties / cities each tool covers. |
austin://faq | Common gotchas (WCAD redacted values, free vs gated MLS data, etc.). |
MCP Prompts
Server-published templates that chain tools. Clients surface them as slash commands or one-click flows:
| Name | Arguments | What it does |
|---|---|---|
investigate_property | address | Runs austin_property_360 and writes a buyer-facing brief with risks + bottom line. |
compare_addresses | address_a, address_b | Parallel austin_property_360 on two addresses, side-by-side table. |
neighborhood_brief | zip | Active inventory + neighborhood metadata for a ZIP. |
school_lookup | campus_name, district? | TEA accountability rating + 1-line summary. |
health_check | (none) | Wraps austin_health with narration. |
Sources of Truth
Every tool returns data from an official, authoritative source. No third-party aggregators. No AI-generated summaries presented as fact. Every response includes a source_url field so you can verify the underlying record.
| Domain | Source |
|---|---|
| Active real estate listings + neighborhoods | Neuhaus Realty Group (https://neuhausre.com) — active + under-contract only, no sold comps, no login |
| Property records | Travis CAD (True Prodigy API), Williamson + Hays CAD (ArcGIS REST) |
| Tax records | Travis County Tax Office |
| Special districts | Texas Comptroller Special Purpose Districts |
| Permits + zoning + 311 + crime + code violations + budget + council votes + AFD + libraries + parks + fire stations + APD arrests / use of force / CAD dispatch + restaurant inspections + tree permits + roadway work zones + animal shelter intakes/outcomes | data.austintexas.gov (Socrata SODA API) |
| TxDOT highway projects | TxDOT Open Data (ArcGIS) |
| Flood zones | FEMA NFHL + Austin floodplain GIS |
| District boundaries | City of Austin + Travis County ArcGIS open-data services |
| Schools | Texas Education Agency + AISD |
| Lake levels | Texas Water Development Board (Water Data for Texas) |
| Weather | National Weather Service (api.weather.gov) |
| Blog content | neuhausre.com WordPress REST API |
| Austin local voices | RSS feeds from 8 independent Austin writers / community newsletters (Substack + WordPress) |
| Geocoding | U.S. Census geocoder |
Architecture
- Node.js (ES modules),
@modelcontextprotocol/sdkover stdio - Tool handlers are stateless per call; each hits the authoritative source live. An optional in-memory LRU+TTL cache fronts a few stable lookups (geocoder, FEMA NFHL by lat/lng) for 24h to avoid duplicate calls within a session
- Real-estate tools call a free public endpoint hosted by Neuhaus Realty Group (rate-limited per IP, active + under-contract only)
- No databases, no auth servers, no shared keys baked into the binary
- All upstream API calls are client-side direct HTTPS (Socrata, ArcGIS, NWS, etc.) or a thin pass-through to the public Neuhaus endpoint
- Per-source concurrency caps (
lib/semaphore.js) prevent the composedaustin_property_360fan-out from saturating any single provider AsyncLocalStoragecarries the MCP request'sAbortSignalinto every upstreamfetchso client-side cancellation cancels in-flight calls
Resilience (v0.6.0+)
Every upstream call goes through lib/retry.js, which:
- Adds a per-attempt
AbortControllertimeout (8-25s depending on profile) - Retries transient failures (5xx, 429, timeout, network) with jittered exponential backoff
- Returns 4xx as-is (those are real query problems, not transient)
- Throws a structured
UpstreamErroron final failure, naming the source, kind, status, attempts, and last error
When a tool surfaces an UpstreamError to Claude, the message clearly states the MCP is working correctly, names which third-party data provider is having a problem, and suggests what to do next (retry in N seconds, try an alternate tool). Users + LLMs never see a raw stack trace or a confusing "tool errored" message.
Six retry profiles tuned to upstream behavior: fast (NWS, Census), soda (data.austintexas.gov), arcgis (ArcGIS REST, FEMA, county CADs), tcad (Travis CAD via True Prodigy — also has bespoke concurrency cap), rss (per-source graceful degradation across local voices), scraper (Travis Tax HTML).
v0.10.0 additions
structuredContent+ per-tooloutputSchema— 23 of 36 tools publish a Zod-based output schema (search-style envelopes) so MCP clients can validate, render, and generate typed SDK code; the remaining composite / single-entity tools return open structured content.- AbortSignal plumbing — MCP request cancellation propagates via
AsyncLocalStorageinto every upstreamfetch. - Per-source concurrency caps (
lib/semaphore.js) — named buckets prevent the composedaustin_property_360fan-out from hammering any single provider. - LRU + TTL cache (
lib/cache.js) — 24h cache on the Census geocoder + FEMA NFHL point lookups. - MCP Resources + Prompts — see sections above.
- GitHub Actions CI — Node 20 + 22 matrix, runs unit tests + MCP handshake on every push.
See CHANGELOG.md for the full v0.10.0 release notes, including the BREAKING tool-name rename to the austin_* prefix.
Contact
For partnership, licensing, sponsorship, or press inquiries:
Neuhaus Realty Group LLC Austin, Texas https://neuhausre.com