Skip to main content
Glama

parcel-gis-mcp-server

Hutton SIR Research Agent 스위트의 세 번째 커넥터입니다(FEMA NFHL 및 Municode 커넥터와 함께). 공공 정부 ArcGIS REST 서비스를 직접 호출하여 카운티/주 토지 데이터 및 GIS 레이어 식별 쿼리를 제공합니다. 이는 FEMA 커넥터가 작동하게 만든 'JS 포털을 우회하고, 그 아래 서비스를 쿼리하는' 패턴과 동일합니다.

API 키가 필요 없습니다. 모든 업스트림 소스는 공개 엔드포인트입니다.

해결하는 문제

SIR 실행에서 가장 일관된 실패 클래스: Tier-1 토지 포털(qPublic/Schneider, pbcpao.gov, OCPA, LOJIC 앱)은 JS 렌더링 또는 토큰 차단되어 있으며, 유일한 Tier-2 미러(FloridaParcels)는 FL 전용이고 신뢰할 수 없습니다. 이 서버는 SIR §0A 기본 키(토지 식별자)를 해당 포털이 기반으로 하는 공개 ArcGIS 레이어에 대해 확인하고, 점-다각형 조회(용도지구, 토지 이용, WMD, 시 경계)와 USGS 고도를 추가합니다.

Related MCP server: mcp-arcgis-fauquier

도구

도구

목적

parcel_lookup

식별자(§0A 기본 키)로 토지 검색 → 속성 + WGS84 중심점. 정확 일치 → LIKE → 별칭 필드 폴백.

parcel_search_by_address

식별자가 제공되지 않았을 때 §0A(5) 폴백 경로.

gis_layer_identify

등록된 레이어 또는 모든 ArcGIS 레이어 URL에 대한 점-다각형 — 용도지구, 토지 이용, 시 경계, WMD 분할 확인.

gis_elevation_at_point

USGS EPQS/3DEP 지표면 고도(SIR 지형 경로 1, 품질 규칙 8).

gis_raw_query

탈출구(municode_raw_get 미러): 서비스 목록, 레이어 스키마 읽기, 수동 쿼리 — 새 관할 구역이 온보딩되는 방법.

gis_registry_list

확인 상태와 함께 등록된 모든 소스/레이어 표시.

parcel_lookup의 중심점은 FEMA 커넥터(fema_flood_zone_lookup) 및 gis_elevation_at_point에 직접 연결됩니다. 토지 ID 입력, 홍수 구역 + 고도 출력, 좌표는 품질 규칙 8에 따라 전달됩니다.

레지스트리 (src/registry.ts)

커버리지는 코드를 작성하지 않고 레지스트리 항목을 추가하여 확장됩니다. 이는 Jurisdiction Portal Registry의 코드 측 미러입니다. 모든 항목은 verified 날짜 또는 false(= ⟨실행 시 확인⟩)를 포함합니다. 제공된 시드:

  • fl-statewide — FGIO/FDOR 지적, 플로리다 67개 카운티 전체 (✅ 2026-08-17 확인; 스키마 확인됨: PARCEL_ID, OWN_NAME, PHY_ADDR1, LND_SQFOOT, DOR_UC, S_LEGAL, SALE_*, JV)

  • ky-jefferson — LOJIC 공개 OpenDataPVA 토지 (✅ 2026-08-17 확인 — gis.lojic.org의 공개 서버, 토큰 차단된 apps.lojic.org 서버 아님; 지오메트리 + PARCELID/PIN/LRSN만)

  • ky-state-pva-pattern — kygisserver 카운티별 PVA 템플릿 (⟨실행 시 확인⟩; Webster는 존재 확인, Jefferson/Scott는 부재 확인)

  • tn-statewide-tdec — 채터누가 시장을 위한 TDEC 주 전체 토지 미러 (⟨실행 시 확인⟩; 2026-08-17에 비브라우저 클라이언트 하나에 403 반환)

  • 식별 레이어: ky-jefferson-landuse (✅ 나열됨), fl-wmd-boundaries + fl-municipal-boundaries (첫 사용 시 고정할 URL)

새 관할 구역 온보딩: gis_raw_query로 카운티의 /rest/services 디렉토리 조회 → 토지/용도지구 레이어 찾기 → 필드 스키마 읽기(레이어 루트에서 f=json) → ParcelSource/IdentifyLayer 항목 추가 → 커밋 → Render 자동 배포.

로컬 개발

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

참고: 샌드박스/프록시 환경 내에서는 아웃바운드 호출이 차단될 수 있습니다. 대신 배포된 URL에 대해 스모크 테스트를 실행하세요:

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

배포 (GitHub → Render)

FEMA 및 Municode 커넥터와 동일한 프로세스입니다. 전체 단계별 안내는 DEPLOYMENT.md를 참조하세요. 간단 버전: 이 리포지토리를 GitHub에 푸시 → Render에서 리포지토리로 "New Web Service" → 빌드 npm install && npm run build, 시작 npm start → 커넥터 URL은 https://<service>.onrender.com/mcp입니다.

Related MCP Connectors

Related MCP Servers