Geocode the property address to obtain latitude/longitude coordinates.
Identify whether the municipality publishes a zoning GIS layer via ArcGIS REST API or another OGC-compliant service; many US cities publish this on their open data portals.
Query the zoning layer using a spatial identify or intersect operation, passing the parcel's centroid coordinates to retrieve the intersecting zoning polygon's attributes.
Parse the zoning district code (e.g., R-1, C-2, M-I) and description from the response attributes.
Cross-reference the zoning code against the municipality's published zoning ordinance or a lookup table to determine permitted uses, density limits, height limits, and setback requirements.
Cache the zoning result by parcel ID with a long TTL (30–90 days); zoning changes are infrequent but significant — consider subscribing to municipal zoning amendment notifications for cache invalidation.
Known gotchas
Zoning layer coverage is inconsistent; rural counties and small municipalities may not have a digital zoning GIS layer available — you may need to fall back to a manual lookup or a commercial data provider.
Overlay zoning districts (flood overlay, historic overlay, transit overlay) are separate layers from base zoning; a parcel may be subject to multiple overlay restrictions that affect permitted uses.
ArcGIS REST service URLs change when municipalities upgrade their GIS platforms; build in error handling and a URL discovery mechanism rather than hardcoding service URLs.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp