Skip to main content
Glama

Site-Screen MCP Connector (Hutton server #5)

Soils · wetlands · environmental screen · seismic design values — the fifth custom MCP server in the Hutton SIR/AHJ connector family. Same architecture as the other four: TypeScript / MCP SDK / streamable HTTP, deploy on Render, keyless public sources, no secrets.

Why this server exists (evidence basis, 2026-08-26 runs)

Gap it closes

Evidence

Hydrologic soil group / drainage class / water table "not desk-answerable through any keyless service" (Portal Registry standing entry, 2026-08-26)

The gap existed because USDA Soil Data Access is POST-only and every existing connector is GET-only. soils_at_parcel speaks POST SQL to SDMDataAccess.sc.egov.usda.gov/Tabular/post.rest (keyless, JSON out, verified 2026-08-28).

NWI wetlands logged "unreachable" 2026-08-19

The service moved hostswww.fws.gov/wetlandsmapservice 302-redirects to fwspublicservices.wim.usgs.gov, where layer 0 (Wetlands) answers queries (verified 2026-08-28). wetlands_at_parcel queries the new host directly.

Quality Rule 6 screen hand-assembled from 3–4 raw sources per run (Acworth: owner-name patterns + EMEF + UST Finder found a dry cleaner at 156 ft and open USTs at 193 ft that no parcel layer carried)

env_screen_near runs SEMS/NPL + RCRAInfo + Brownfields + UST facilities + LUST + any registered state layer in one call, with computed distances and the geocode-point caveat baked into the output.

Seismic desk-answerable, wind not — repeatedly conflated risk

seismic_design_at_point wraps the verified USGS designmaps service (asce7-22 / -16 / -10) and its output restates the wind boundary every time.

Deliberate scope limits (same doctrine as the Territory server): no telecom (FCC's documented API needs an account token — not keyless; field stays on the Utilities Routine §2D path), no attempt on walled sources (subscription recorders, ASP.NET tax portals), and the PE-input boundary is unchanged — soils output is screening-grade and says so.

Related MCP server: mcp-arcgis-fauquier

Tools

Tool

What it does

screen_registry_list

Sources + vintages + gaps + the canonical §0C owner-name pattern list

soils_at_parcel

SSURGO map units intersecting the parcel polygon: HSG, drainage class, hydric %, water-table min depth, flood/pond frequency, bedrock depth, ENG small-commercial rating, dominant component, survey-area currency date

sda_raw_sql

SELECT-only escape hatch into SDA (mapunit/muaggatt/component/chorizon/sacatalog + SDA_* spatial helpers)

wetlands_at_parcel

NWI polygons intersecting parcel (optional buffer), new host

env_screen_near

One-call Quality Rule 6 database screen with distances (ft)

seismic_design_at_point

USGS Ss/S1/SDS/SD1/SDC etc. at the real centroid

env_raw_query

Raw GET against any public ArcGIS layer (state env layers → promote to registry once proven)

Deploy (Render — same as the other four)

  1. New Web Service → this repo. Build: npm install && npm run build. Start: npm start.

  2. No environment variables required (PORT provided by Render).

  3. Health check path: /healthz.

  4. Connector URL for Claude: https://<service>.onrender.com/mcp (streamable HTTP).

First-run live verification checklist (before it goes in §10 as standing infrastructure)

Per project doctrine, code delivered ≠ verified. On the next run:

  1. screen_registry_list — server answers, registry renders.

  2. soils_at_parcel on the Covington parcel polygon (Assessment 1040006750) — expect Myatt fine sandy loam, hydric indication TRUE (matches the 2026-08-26 run's parish-layer finding, this time from SSURGO with HSG + water table attached).

  3. wetlands_at_parcel same polygon — record presence/absence; St. Tammany's own hydric layer is the cross-check.

  4. env_screen_near on the Acworth centroid, radius 1000, state GA — expect KEN'S CLEANERS (RCRAInfo) and the Kroger UST facility to reproduce with distances ≈ the run record's 156/193 ft (point-to-point, so close but not identical — that difference is itself the method note).

  5. seismic_design_at_point on the Acworth centroid, asce7-22 — compare to the 2026-08-26 WebFetch result.

  6. Log every outcome (clean/timeout/error) to the Jurisdiction Portal Registry and flip verified dates in src/registry.ts.

Then update instructions §10: the v010 draft already carries this server as "code delivered 2026-08-28 — pending Render deployment + live verification"; promote the wording to standing-infrastructure once the checklist passes.

Design notes

  • Result envelope on every tool: status (ok / no_features / outside_coverage / layer_error), source, vintage, retrieved_at, caveats[] — the Territory server's honesty taxonomy.

  • Retry-once on network failure; 25 s fetch timeout; identifying User-Agent.

  • sda_raw_sql refuses anything but a single SELECT (no ;, no comments, no DML/DDL keywords).

  • Stateless streamable-HTTP: a fresh McpServer + transport per POST — no session state to leak between runs.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    ollect comprehensive environmental data from 80+ US federal sources (FEMA, EPA, USGS, NOAA, NRCS, USFWS, DOE, DOT, CDC, Census) for any US location. One tool returns flood zones, soils, wetlands, rainfall, water quality, contamination, seismic risk, infrastructure, ecology, energy, and demographics.
    3
    16
    6
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables querying and searching Fauquier County, Virginia open geospatial datasets (parcels, zoning, addresses, public works) via ArcGIS Feature Services.
    16
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Graysonf12/Site-screen-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server