MCP.Market

Gwinnett Index MCP server

online · 100% uptime
by gwindex.net·net.gwindex/gwinnett-index·v0.1.0

Gwinnett County, GA zoning and land use. Resolves an address to its governing jurisdiction.

A91/100grade A
What users say
No reviews yet
Be the first
Safety scan
A91/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Gwinnett Index yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Gwinnett Index tools (5)

write = sends, deletes, buys or posts
  • get_caseFree

    Full record for a case number, including staff recommendation, Planning Commission recommendation, decision, parcels and a deep link to the source record.

  • get_code_sectionFree

    Ordinance text or a dimensional-standards table by citation, with its adoption and amendment dates. Accepts "402.03", "§ 402.03", "Duluth UDC § 402.03" or "Table 2-B". Tables that have not been verified against the rendered source page say so in the response.

  • list_jurisdictionsFree

    All 19 jurisdictions indexed: Gwinnett County as a container, unincorporated Gwinnett as a jurisdiction in its own right, and the 17 municipalities — with their codes and boundary sources.

  • resolve_jurisdictionFree

    ALWAYS CALL THIS FIRST for any Gwinnett County address or parcel. Returns which government actually regulates the land — one of 17 cities, or unincorporated Gwinnett County (67.3% of the county) — with its code citation, a confidence band and the distance to the nearest jurisdiction boundary. A mailing address is NOT the jurisdiction: most "Duluth, GA" addresses are not in the City of Duluth.

  • search_casesFree

    Search 11,848 zoning and land-use cases (1970–2026) by applicant, use, address, case number, type, year range or zoning district. County records cover UNINCORPORATED Gwinnett only.

Public scan report

scanner v0.1.10 · 2026-11-03 · same rubric, same numbers if you re-run it

no findings
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 389ms20/20
  • Tool poisoning5 tool descriptions checked15/15
  • Auth qualityopen endpoint, read-only tools10/15
  • Maintenancelast push 28 days ago15/15
  • Maintainer identityendpoint served from the registry-verified namespace domain8/10
Overall 91/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Gwinnett Index compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
91/100
higher than 85% of 48,255 servers
Tools
5
the typical server has 7
Tools that change things
0%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote server answers 100%
Response time
91 ms
faster than 86% of 30,031 servers

What its tools let an agent do: 5 read

Install Gwinnett Index in Claude Code, Cursor or VS Code

claude mcp add --transport http gwinnett-index https://www.gwindex.net/mcp
Add to Cursor

What the publisher says

From the Gwinnett Index repository's README, as published. We do not edit it. Read it on GitHub

Gwinnett Index

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.

Why this exists

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.

What's here

Setup — one time

The repo already has a starter README, so clone first and copy in — that avoids a push conflict:

git clone https://github.com/willmobhill-arch/gwinnett-index.git
tar -xzf gwinnett-index-repo.tar.gz -C gwinnett-index      # overwrites the stub README
cd gwinnett-index
git add -A && git commit -m "Gwinnett Index: pipeline, schema, and extracted corpora"
git push

Then, with the repo public, load the corpora. Postgres fetches them itself — you don't run anything locally, and no credential is involved:

-- set to your repo's raw base
-- https://raw.githubusercontent.com/willmobhill-arch/gwinnett-index/main/data/

SELECT load_udc_sections_from_url(
  'https://raw.githubusercontent.com/willmobhill-arch/gwinnett-index/main/data/udc_sections.jsonl');

SELECT * FROM load_duluth_cases_from_url(
  'https://raw.githubusercontent.com/willmobhill-arch/gwinnett-index/main/data/duluth_cases.jsonl');

SELECT load_meeting_docs_from_url(
  'https://raw.githubusercontent.com/willmobhill-arch/gwinnett-index/main/data/duluth_meeting_docs.jsonl');

Expected: 860 sections, 228 case rows (109 distinct), 356 meeting documents.

Architecture

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.

ingest/
  duluth/          UDC PDF -> 860 sections + 18 tables (extract_udc, extract_tables)
  duluth_agendas/  crawl -> OCR -> parse case items from agendas/minutes/packets
db/migrations/     the schema, md5-verified against the live Supabase project
scripts/           export_snapshot.py (the only thing that talks to Postgres) + loaders
data/              extracted corpora, fetched by the SQL loaders above
site/              Astro static site + full agent surface (.md twins, llms.txt, DCAT)
worker/            Cloudflare Worker: REST API + MCP server, five tools, no auth
docs/plans/        design doc, build plan, status

Building the site

DATABASE_URL=postgresql://... python3 scripts/export_snapshot.py   # writes data/snapshot/
cd site && npm ci && SITE_URL=https://your-domain npm run ci        # build + 15 gates

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.

The API and MCP server

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-11-03restoreB → Ascore 91

Gwinnett Index: common questions

Is Gwinnett Index MCP server safe?
Yes, by our scan: it is graded A (91/100). Read the Gwinnett Index safety report
How do I install Gwinnett Index?
It runs remotely at www.gwindex.net. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Gwinnett Index need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Gwinnett Index maintained?
The last commit was 29 days ago (2026-10-06). The latest release is v0.1.0.
Is Gwinnett Index up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Gwinnett Index compare with other MCP servers?
safety score 91/100 (higher than 85% of 48,255 servers); tools 5 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.