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

License: PolyForm Noncommercial 1.0.0 Node MCP Austin Metro CI

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:

VarDefaultPurpose
AUSTIN_SODA_APP_TOKENunsetSocrata app token. Raises rate limit on data.austintexas.gov + datahub.austintexas.gov. Free signup.
LOCAL_AUSTIN_MCP_TIERallSet to core to register only the 14 most-used tools (saves ~20 tool slots if your client has a soft cap).
VOW_PUBLIC_BASEhttps://vow-api.re-workflow.com/publicOverride the Neuhaus VOW base URL. Used for testing / staging.
AUSTIN_CACHE_DISABLEDunsetSet to 1 to bypass the in-memory geocoder / FEMA cache.
AUSTIN_LIMIT_<SOURCE>variesOverride 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)

ToolWhat it does
austin_active_listingsSearch active for-sale MLS listings by city / ZIP / school district / subdivision + price / beds / features. Active + under-contract only.
austin_listing_detailPull a single listing by MLS ID — price, beds, sqft, features, photos, neuhausre.com permalink.
austin_listing_by_addressFind an active listing by street address.
austin_neighborhood_lookupSearch or look up Austin-area neighborhoods, with sample active listings.
austin_search_blogSearch Ed Neuhaus's Austin real-estate blog on neuhausre.com.

Property (county appraisal + tax + zoning + permits)

ToolWhat it does
austin_travis_cadTravis CAD property lookup (owner, value, deeds) via True Prodigy API.
austin_williamson_cadWilliamson CAD lookup via ArcGIS.
austin_hays_cadHays CAD lookup via ArcGIS.
austin_travis_taxTravis County Tax Office — current bill, exemptions, delinquencies.
austin_mud_pidMUD / PID special-district overlay (Texas Comptroller).
austin_fema_floodFEMA NFHL flood zone lookup.
austin_permitsFull permit history for any City of Austin address.
austin_code_casesActive and historical code-compliance cases.
austin_zoningAustin zoning + lot dimensions + plat lookup.
austin_tree_permitsCity of Austin issued tree permits — removal / heritage / root-zone work. Useful for pre-listing prep and buyer due-diligence.
austin_property_360Composed: one address → CAD + tax + flood + permits + code + 311 + zoning in one shot.

Civic + Public Safety

ToolWhat it does
austin_311City of Austin 311 service requests.
austin_crimeAPD crime reports.
austin_afd_incidentsReal-time Austin Fire Department dispatches.
austin_council_votesCity Council voting records — search by topic, member, district, or date.
austin_city_budgetCity of Austin Open Budget — expense data by department, fund, fiscal year.
austin_district_lookupGiven an address: returns council district, school district, ESD, voter precinct, neighborhood plan.
austin_tea_schoolsTEA school + AISD attendance assignment.
austin_librariesAustin Public Library branch directory — find a branch by name, address, or council district. Includes amenity flags (wifi, computers, training rooms).
austin_parksCity 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_stationsAFD + Travis County ESD fire station directory — find the nearest station to a property. Useful for ISO rating + insurance underwriting context.
austin_police_dataUnified 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_inspectionsAustin / Travis County food establishment inspection scores (0-100). Filter by name, address, zip, score range, date.
austin_roadway_work_zonesActive construction / closures from City of Austin Transportation & Public Works.
austin_animal_centerAustin Animal Center intakes + outcomes — lost-pet search by found-address + breed, adoption availability.
austin_txdot_projectsTxDOT highway construction / maintenance projects in the Austin district. Filter by highway, county, work type.

Environment

ToolWhat it does
austin_nws_alertsActive National Weather Service alerts for an Austin location.
austin_lake_travis_levelLake Travis (and other Highland Lakes) reservoir level + 30-day trend.

Community

ToolWhat it does
austin_local_voicesSearch 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

ToolWhat it does
aboutVersion + capability summary.
austin_healthPings 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:

URIWhat it is
austin://datasets/indexEvery upstream provider, coverage notes, update cadence, authoritative URLs.
austin://coverage/mapWhich counties / cities each tool covers.
austin://faqCommon 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:

NameArgumentsWhat it does
investigate_propertyaddressRuns austin_property_360 and writes a buyer-facing brief with risks + bottom line.
compare_addressesaddress_a, address_bParallel austin_property_360 on two addresses, side-by-side table.
neighborhood_briefzipActive inventory + neighborhood metadata for a ZIP.
school_lookupcampus_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.

DomainSource
Active real estate listings + neighborhoodsNeuhaus Realty Group (https://neuhausre.com) — active + under-contract only, no sold comps, no login
Property recordsTravis CAD (True Prodigy API), Williamson + Hays CAD (ArcGIS REST)
Tax recordsTravis County Tax Office
Special districtsTexas 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/outcomesdata.austintexas.gov (Socrata SODA API)
TxDOT highway projectsTxDOT Open Data (ArcGIS)
Flood zonesFEMA NFHL + Austin floodplain GIS
District boundariesCity of Austin + Travis County ArcGIS open-data services
SchoolsTexas Education Agency + AISD
Lake levelsTexas Water Development Board (Water Data for Texas)
WeatherNational Weather Service (api.weather.gov)
Blog contentneuhausre.com WordPress REST API
Austin local voicesRSS feeds from 8 independent Austin writers / community newsletters (Substack + WordPress)
GeocodingU.S. Census geocoder

Architecture

  • Node.js (ES modules), @modelcontextprotocol/sdk over 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 composed austin_property_360 fan-out from saturating any single provider
  • AsyncLocalStorage carries the MCP request's AbortSignal into every upstream fetch so client-side cancellation cancels in-flight calls

Resilience (v0.6.0+)

Every upstream call goes through lib/retry.js, which:

  • Adds a per-attempt AbortController timeout (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 UpstreamError on 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-tool outputSchema — 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 AsyncLocalStorage into every upstream fetch.
  • Per-source concurrency caps (lib/semaphore.js) — named buckets prevent the composed austin_property_360 fan-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