Gwinnett County, GA zoning and land use. Resolves an address to its governing jurisdiction.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A machine-readable index of zoning, land-use, and development records for Gwinnett County, Georgia and its 17 municipalities. Built for AI agents first, humans second.
A "Duluth, GA" mailing address is usually not in the City of Duluth. It's in unincorporated Gwinnett β a different code, a different board, a different permit portal. Nothing on the internet resolves an address to its governing jurisdiction before answering a zoning question, so every AI assistant answering "what's the setback in Duluth GA" today is guessing.
Unincorporated Gwinnett is 67.3% of the county's land area. Getting this wrong is the default, not the edge case.
| Dataset | Records | Source |
|---|---|---|
| Jurisdiction boundaries | 19 (county + unincorporated + 17 cities) | US Census TIGER β public domain |
| County zoning cases | 11,739 (1970β2026) | Gwinnett GC_Planning ArcGIS |
| Resolved applicants | 7,369 (from 8,246 raw spellings) | derived |
| Duluth UDC | 860 sections, 18 tables | city PDF, 426 pp |
| Duluth meeting documents | 356 (7,878 pp, 2023β2026) | duluthga.net |
| Duluth land-use cases | 109 distinct, 64 with vote records | agenda mining |
The repo already has a starter README, so clone first and copy in β that avoids a push conflict:
Then, with the repo public, load the corpora. Postgres fetches them itself β you don't run anything locally, and no credential is involved:
Expected: 860 sections, 228 case rows (109 distinct), 356 meeting documents.
Ingestion runs inside Postgres via the http extension β it fetches the
county's ArcGIS REST services, Census TIGERweb, and this repo's own raw URLs
directly. No external worker, no credentials in transit, and the whole 11,739-case
county load moves zero bytes through a client.
Without a snapshot the site builds from site/fixtures/ β a small committed sample with
identical shapes β and says so on every page. npm run ci fails the build if any route
lacks a .md twin, any page presents records before naming its governing jurisdiction,
or the bulk export contains geometry.
Five tools, public, read-only, no auth: resolve_jurisdiction (always call first),
search_cases, get_case, get_code_section, list_jurisdictions. The REST API mirrors
the same five operations from the same implementation and publishes /openapi.json.
17 jurisdictions cannot be 17 hand-written scrapers. The vendor landscape consolidates hard β Municode, ArcGIS REST, CivicPlus, CivicClerk, BS&A, Accela β so roughly six adapters cover ~90% of them, and adding a city is a config file. Health metric: if a new city needs new code rather than a new config, the adapter layer is leaking.
confidence='high' it is correct 1,546/1,546 β 100%.
Every error falls inside the low-confidence band. All 22 disagreements were
within 141 m of a boundary (annexation lag; Census updates yearly).text_source='ocr' and is a
reconstruction, never a quotation of the record.ORDINANCE, 23 have an applicant field that ran on into a mailing address, and
only 13 carry a zoning district. Each row links to the PDF it came from; the document
is the record and the fields point at it. Published as stats.duluth_extraction.| Content | Posture | Basis |
|---|---|---|
| Ordinance / plan text | Mirror in full | Georgia v. Public.Resource.Org (2020) β edicts of government |
| Case records | Mirror in full | Facts; Georgia Open Records Act |
| County parcel/zoning geometry | Proxy only, never rehost | Gwinnett GIS licence forbids redistribution |
| Jurisdiction boundaries | Host | US Census TIGER β public domain |
| IBC/IRC base text | Never | ICC copyright; index Georgia amendments only |
This index is a mirror and derived analysis, not the system of record. Every
record carries source_url and last_verified.
Published under CC0.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/gwinnett-index)<a href="https://allmcps.com/mcp/gwinnett-index"><img src="https://allmcps.com/api/badge/gwinnett-index?style=directory" alt="Gwinnett Index on AllMCPs" /></a>