Parcel Enrich
The full public record for one parcel (owner, mailing address, land use, zoning, values, last sale, legal description, acreage) plus flood, terrain, wetland, utility and road facts at it.
One parcel, or a list · Tools: parcel_enrich, start_run, get_run
· 6 lookups per matched parcel (5 for the parcel, 1 for the 11 point fields); nothing when no parcel matches.
Connect Isopleth in that app first (one click above), so the assistant can call it.
mkdir -p ~/.claude/skills/isopleth-parcel-enrich && curl -fsSL https://isopleth.dev/templates/parcel-enrich/SKILL.md -o ~/.claude/skills/isopleth-parcel-enrich/SKILL.md
Other agents: or
download it. In MCP clients that show prompts, pick
parcel_enrich.
Example prompt
“Pull the parcel record for 2100 Barton Springs Rd, Austin, TX: who owns it, what is it zoned, what is it worth, and is it in a flood zone?”
Or pick the parcel_enrich prompt from the Isopleth MCP server in your client.
How it works
- Call parcel_enrich with the location (address, lat/lng, parcel_id, or apn plus state) and the point fields listed below. Owner and assessor columns come back in parcel.fields; the point fields are measured at the parcel's interior point.
- Check match: "point" or "address" is a direct hit; if additional_parcels is not empty, the point touched more than one parcel, so say which one you used.
- Report the owner and mailing address, land use and zoning, assessed land, improvement and total value, last sale price and date, acreage and legal description, then the site facts: flood zone, elevation and slope, soil drainage, wetlands, water and sewer service, and road access.
- For many parcels, call start_run with kind "enrich", one item per parcel and the same fields, then page through get_run.
Fields used
Point fields, measured at each parcel:
nfhl_flood_zone: FEMA flood zone code at this point from the National Flood Hazard Layer, such as AE, A, AO, VE or X. Where several zones overlap, the one that sets the flood-insurance requirement is used.within_floodplain_polygon: True when this point lies inside a FEMA Special Flood Hazard Area (the 1%-annual-chance floodplain) in the National Flood Hazard Layer.elevation: Height of the ground at this point in meters, relative to the NAVD88 datum. Read from the USGS 3D Elevation Program 10 m elevation model; the USGS point-query service fills gaps.slope_degrees: Steepness of the ground at this point in degrees, calculated from the USGS 3DEP elevation model. 0 is level ground and 90 is a vertical face.soil_drainage_class: How quickly water leaves the soil here under natural conditions, using the USDA SSURGO drainage classes (for example 'Well drained' or 'Poorly drained').intersects_wetland: True when this point lies inside a wetland mapped by the U.S. Fish and Wildlife Service National Wetlands Inventory.within_water_service_area: True when this point is inside the mapped service area of a public community water system, from EPA's community water system service area boundaries.within_sewer_service_area: True when this point is inside a sewershed in EPA's Sewersheds dataset: an area whose wastewater flows to a specific public treatment plant.nearest_major_road_distance_m: Distance in meters to the closest major road in Overture Maps transportation data.nearest_road_distance_m: Distance in meters to the closest road open to vehicles, of any class, searching up to 500 m. Footpaths and cycleways are left out.county_population: Estimated number of residents of the county, from the Census Bureau's 2025 population estimates.
Parcel record columns (published columns vary by state; see coverage): parcelnumb, address, owner, mailadd, mail_city, mail_state2, mail_zip, usedesc, zoning, parval, landval, improvval, saleprice, saledate, legaldesc, gisacre.
Tool call
What the agent sends to parcel_enrich:
{
"address": "2100 Barton Springs Rd, Austin, TX",
"fields": [
"nfhl_flood_zone",
"within_floodplain_polygon",
"elevation",
"slope_degrees",
"soil_drainage_class",
"intersects_wetland",
"within_water_service_area",
"within_sewer_service_area",
"nearest_major_road_distance_m",
"nearest_road_distance_m",
"county_population"
]
}
Output
A parcel summary card (record columns) followed by a site-facts table with the source of each value. Flag a flood zone starting with A or V, wetlands on the parcel, and no water or sewer.
SKILL.md
Save this as isopleth-parcel-enrich/SKILL.md in your agent's skills folder
(for Claude Code, ~/.claude/skills/), or download it.
---
name: isopleth-parcel-enrich
description: The full public record for one parcel (owner, mailing address, land use, zoning, values, last sale, legal description, acreage) plus flood, terrain, wetland, utility and road facts at it. Uses the Isopleth MCP server (https://api.isopleth.dev/mcp).
---
# Parcel Enrich
The full public record for one parcel (owner, mailing address, land use, zoning, values, last sale, legal description, acreage) plus flood, terrain, wetland, utility and road facts at it.
## Requirements
- The Isopleth MCP server connected at `https://api.isopleth.dev/mcp` with an API key in the `Authorization: Bearer` header (see https://isopleth.dev/docs/mcp).
- Tools used: `parcel_enrich`, `start_run`, `get_run`.
- Cost: 6 lookups per matched parcel (5 for the parcel, 1 for the 11 point fields); nothing when no parcel matches.
## Steps
1. Call parcel_enrich with the location (address, lat/lng, parcel_id, or apn plus state) and the point fields listed below. Owner and assessor columns come back in parcel.fields; the point fields are measured at the parcel's interior point.
2. Check match: "point" or "address" is a direct hit; if additional_parcels is not empty, the point touched more than one parcel, so say which one you used.
3. Report the owner and mailing address, land use and zoning, assessed land, improvement and total value, last sale price and date, acreage and legal description, then the site facts: flood zone, elevation and slope, soil drainage, wetlands, water and sewer service, and road access.
4. For many parcels, call start_run with kind "enrich", one item per parcel and the same fields, then page through get_run.
## Arguments (example `parcel_enrich` call)
```json
{
"address": "2100 Barton Springs Rd, Austin, TX",
"fields": [
"nfhl_flood_zone",
"within_floodplain_polygon",
"elevation",
"slope_degrees",
"soil_drainage_class",
"intersects_wetland",
"within_water_service_area",
"within_sewer_service_area",
"nearest_major_road_distance_m",
"nearest_road_distance_m",
"county_population"
]
}
```
## Output
A parcel summary card (record columns) followed by a site-facts table with the source of each value. Flag a flood zone starting with A or V, wetlands on the parcel, and no water or sewer.
Every value carries its source, license and attribution. Keep the source next to each value, and show the attributions if you share the results.
Connect your agent
Claude.ai, Claude Desktop and the Claude mobile apps. Sign in with Isopleth; no key to paste.
- Click Add to Claude. The Add custom connector dialog opens with the name and URL filled in; select Add. (Team and Enterprise: an owner adds it once, then everyone connects their own account.)
- Select Connect, sign in to Isopleth with your email, then Allow access.
- Desktop and mobile pick it up automatically. Pro, Max, Team and Enterprise plans.
https://api.isopleth.dev/mcp
ChatGPT on the web (Pro, Business, Enterprise and Edu). Sign in with Isopleth; no key to paste.
- Open Plugins, select +, then Add custom MCP server (older layouts: Settings → Apps → Create, with developer mode on).
- Paste the URL, name it Isopleth, choose OAuth and leave the client ID and secret blank.
- Sign in to Isopleth when asked, choose Allow access, then type
@Isoplethin a chat.
https://api.isopleth.dev/mcp
One command, then /mcp inside Claude Code to sign in in your browser.
claude mcp add --transport http isopleth https://api.isopleth.dev/mcp
claude mcp add --transport http isopleth https://api.isopleth.dev/mcp --header "Authorization: Bearer $ISOPLETH_KEY"
One click opens Cursor's install prompt. Cursor signs you in to Isopleth the first time a tool runs.
Nothing opened? The app may not be installed or may block links from the browser; use the copy option below.
{
"mcpServers": {
"isopleth": {
"url": "https://api.isopleth.dev/mcp"
}
}
}One click opens VS Code's MCP install page (Copilot agent mode). VS Code offers to sign in to Isopleth.
Nothing opened? The app may not be installed or may block links from the browser; use the copy option below.
code --add-mcp '{"name":"isopleth","type":"http","url":"https://api.isopleth.dev/mcp"}'{
"servers": {
"isopleth": {
"type": "http",
"url": "https://api.isopleth.dev/mcp"
}
}
}One command. Codex sees that Isopleth supports sign-in and opens your browser.
codex mcp add isopleth --url https://api.isopleth.dev/mcp
codex mcp add isopleth --url https://api.isopleth.dev/mcp --bearer-token-env-var ISOPLETH_KEY
Use Add to Claude on the Claude tab: connectors added on claude.ai appear in Claude Desktop. To use an API key instead, add this to claude_desktop_config.json (Settings → Developer → Edit Config; needs Node.js 18+).
{
"mcpServers": {
"isopleth": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.isopleth.dev/mcp",
"--header",
"Authorization:${ISOPLETH_AUTH}"
],
"env": {
"ISOPLETH_AUTH": "Bearer YOUR_ISOPLETH_KEY"
}
}
}
}Paste into ~/.codeium/windsurf/mcp_config.json (Cascade → MCP → open config). Windsurf uses serverUrl, not url.
{
"mcpServers": {
"isopleth": {
"serverUrl": "https://api.isopleth.dev/mcp"
}
}
}Any client that speaks Streamable HTTP: the URL, then the client's OAuth sign-in or the header Authorization: Bearer <your key>. Stdio-only clients can use the mcp-remote bridge shown under Claude Desktop.
https://api.isopleth.dev/mcp
Authorization: Bearer $ISOPLETH_KEY