Skip to main content
Glama

parcel-gis-mcp-server

Third connector in the Hutton SIR Research Agent suite (alongside the FEMA NFHL and Municode connectors). Exposes county/state parcel data and GIS layer identify queries by hitting public government ArcGIS REST services directly — the same "bypass the JS portal, query the service underneath" pattern that made the FEMA connector work.

No API keys. Every upstream source is a public endpoint.

Was es löst

Die häufigste Fehlerklasse in SIR-Läufen: Tier-1-Parzellenportale (qPublic/Schneider, pbcpao.gov, OCPA, LOJIC-Apps) sind JS-rendered oder token-blockiert, und der einzige Tier-2-Spiegel (FloridaParcels) ist nur für Florida und unzuverlässig. Dieser Server löst den SIR §0A-Primärschlüssel – die Parzellenkennung – gegen die offenen ArcGIS-Layer auf, auf denen diese Portale aufbauen, und fügt Punkt-in-Polygon-Abfragen (Bebauungszone, Landnutzung, WMD, Stadtgrenzen) sowie USGS-Höhendaten hinzu.

Related MCP server: mcp-arcgis-fauquier

Werkzeuge

Tool

Zweck

parcel_lookup

Parzelle nach Kennung (§0A-Primärschlüssel) → Attribute + WGS84-Zentroid. Exakt → LIKE → alias-field-Fallback.

parcel_search_by_address

§0A(5)-Fallback-Pfad, wenn keine Kennung angegeben wurde.

gis_layer_identify

Punkt-in-Polygon gegen einen registrierten Layer oder eine beliebige ArcGIS-Layer-URL — Bebauungszone, Landnutzung, Gemeindegrenze, WMD-Split-Prüfungen.

gis_elevation_at_point

USGS EPQS/3DEP-Geländehöhe (SIR-Topographie-Pfad 1, Qualitätsregel 8).

gis_raw_query

Notausstieg (spiegelt municode_raw_get): Dienste auflisten, Layer-Schemas lesen, handgebaute Abfragen — wie neue Jurisdiktionen integriert werden.

gis_registry_list

Alle registrierten Quellen/Layer mit Verifizierungsstatus anzeigen.

Der Zentroid von parcel_lookup wird direkt in den FEMA-Connector (fema_flood_zone_lookup) und gis_elevation_at_point verkettet — Parzellen-ID rein, Überschwemmungszone + Höhe raus, mit Koordinaten gemäß Qualitätsregel 8.

Das Registry (src/registry.ts)

Die Abdeckung wächst durch Hinzufügen eines Registry-Eintrags, nicht durch Schreiben von Code — das code-seitige Spiegelbild des Jurisdiction Portal Registry. Jeder Eintrag trägt ein verified-Datum oder false (= ⟨verify at run⟩). Mitgelieferte Startdaten:

  • fl-statewide — FGIO/FDOR-Kataster, alle 67 FL-Bezirke (✅ verifiziert 2026-08-17; Schema bestätigt: PARCEL_ID, OWN_NAME, PHY_ADDR1, LND_SQFOOT, DOR_UC, S_LEGAL, SALE_*, JV)

  • ky-jefferson — LOJIC offene OpenDataPVA-Parzellen (✅ verifiziert 2026-08-17 — der offene Server unter gis.lojic.org, nicht der token-blockierte unter apps.lojic.org; nur Geometrie + PARCELID/PIN/LRSN)

  • ky-state-pva-pattern — kygisserver pro-Bezirk PVA-Vorlage (⟨verify at run⟩; Webster bestätigt vorhanden, Jefferson/Scott bestätigt nicht vorhanden)

  • tn-statewide-tdec — TDEC landesweiter Parzellenspiegel für den Chattanooga-Markt (⟨verify at run⟩; gab 403 an einen Nicht-Browser-Client zurück am 2026-08-17)

  • Identify-Layer: ky-jefferson-landuse (✅ aufgelistet), fl-wmd-boundaries + fl-municipal-boundaries (URL zum Anheften bei erster Verwendung)

Onboarding einer neuen Jurisdiktion: gis_raw_query das /rest/services-Verzeichnis des Bezirks → den Parzellen-/Zonen-Layer finden → sein Feldschema lesen (f=json auf dem Layer-Root) → einen ParcelSource/IdentifyLayer-Eintrag hinzufügen → commit → Render deployt automatisch.

Lokale Entwicklung

npm install
npm run build
npm start                      # listens on :3000, MCP endpoint = POST /mcp
node test/live-test.mjs        # smoke test against localhost

Hinweis: Aus einer sandboxed/proxied Umgebung können ausgehende Aufrufe blockiert sein; führen Sie den Smoke-Test stattdessen gegen die bereitgestellte URL durch:

node test/live-test.mjs https://YOUR-SERVICE.onrender.com/mcp

Bereitstellen (GitHub → Render)

Gleicher Prozess wie bei den FEMA- und Municode-Connectoren — siehe DEPLOYMENT.md für die vollständige Schritt-für-Schritt-Anleitung. Kurzversion: Dieses Repo auf GitHub pushen → Render "New Web Service" aus dem Repo → Build npm install && npm run build, start npm start → Connector-URL ist https://<service>.onrender.com/mcp.

Related MCP Connectors

Related MCP Servers