AI agents

Land Deal Screener

Screen a land deal in one call: the parcel record and price history against flood, wetland, protected-area, habitat, slope, soil, access and utility red flags.

One parcel, or a list of deals · Tools: parcel_enrich, start_run, get_run · 6 lookups per parcel (5 for the parcel, 1 for the 16 point fields).

Run it
2Send the prompt
Use in ClaudeUse in ChatGPTUse in Cursor

Connect Isopleth in that app first (one click above), so the assistant can call it.

3Or install the skill
Claude Code: install SKILL.md
mkdir -p ~/.claude/skills/isopleth-land-deal-screener && curl -fsSL https://isopleth.dev/templates/land-deal-screener/SKILL.md -o ~/.claude/skills/isopleth-land-deal-screener/SKILL.md

Other agents: or download it. In MCP clients that show prompts, pick land_deal_screener.

Example prompt

“I'm being offered 40 acres at 35.79, -78.64 for $380,000. Screen it: price per acre against the assessed land value, and any flood, wetland or access problems.”

Or pick the land_deal_screener prompt from the Isopleth MCP server in your client.

How it works

  1. Call parcel_enrich with the parcel and the fields listed below.
  2. Price check: compute asking price per acre (gisacre, or deeded_acres where published) and compare it with assessed land value per acre and the last sale price and date. Assessed values often lag the market; say so rather than calling it a bargain or overpriced on that alone.
  3. Red flags: flood zone A or V or inside the floodplain polygon; wetlands on the parcel (and their acreage); protected area or critical habitat; average slope over about 15 degrees; hydrologic group D soils or a restrictive layer shallower than 100 cm; no road within 100 m; outside water or sewer service.
  4. Give each check pass, watch or fail with the value and source, then an overall verdict: clean, needs diligence, or walk away.
  5. For several deals, call start_run with kind "enrich" and rank the results by the number of fails.

Fields used

Point fields, measured at each parcel:

Parcel record columns (published columns vary by state; see coverage): parcelnumb, owner, usedesc, zoning, gisacre, deeded_acres, parval, landval, saleprice, saledate, taxamt.

Tool call

What the agent sends to parcel_enrich:

{
  "apn": "0123456789",
  "state": "NC",
  "fields": [
    "nfhl_flood_zone",
    "within_floodplain_polygon",
    "intersects_wetland",
    "wetland_acres",
    "intersects_protected_area",
    "intersects_critical_habitat",
    "slope_degrees",
    "elevation",
    "soil_hydrologic_group",
    "soil_restrictive_layer_depth_cm",
    "nearest_major_road_distance_m",
    "nearest_road_distance_m",
    "within_water_service_area",
    "within_sewer_service_area",
    "nearest_transmission_line_distance_m",
    "lcms_class"
  ]
}

Output

A screening table (check, value, pass/watch/fail, source), the price-per-acre comparison, and a one-paragraph verdict. This is a desktop screen, not a survey, title search or wetland delineation.

SKILL.md

Save this as isopleth-land-deal-screener/SKILL.md in your agent's skills folder (for Claude Code, ~/.claude/skills/), or download it.

---
name: isopleth-land-deal-screener
description: Screen a land deal in one call: the parcel record and price history against flood, wetland, protected-area, habitat, slope, soil, access and utility red flags. Uses the Isopleth MCP server (https://api.isopleth.dev/mcp).
---

# Land Deal Screener

Screen a land deal in one call: the parcel record and price history against flood, wetland, protected-area, habitat, slope, soil, access and utility red flags.

## 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 parcel (5 for the parcel, 1 for the 16 point fields).

## Steps

1. Call parcel_enrich with the parcel and the fields listed below.
2. Price check: compute asking price per acre (gisacre, or deeded_acres where published) and compare it with assessed land value per acre and the last sale price and date. Assessed values often lag the market; say so rather than calling it a bargain or overpriced on that alone.
3. Red flags: flood zone A or V or inside the floodplain polygon; wetlands on the parcel (and their acreage); protected area or critical habitat; average slope over about 15 degrees; hydrologic group D soils or a restrictive layer shallower than 100 cm; no road within 100 m; outside water or sewer service.
4. Give each check pass, watch or fail with the value and source, then an overall verdict: clean, needs diligence, or walk away.
5. For several deals, call start_run with kind "enrich" and rank the results by the number of fails.

## Arguments (example `parcel_enrich` call)

```json
{
  "apn": "0123456789",
  "state": "NC",
  "fields": [
    "nfhl_flood_zone",
    "within_floodplain_polygon",
    "intersects_wetland",
    "wetland_acres",
    "intersects_protected_area",
    "intersects_critical_habitat",
    "slope_degrees",
    "elevation",
    "soil_hydrologic_group",
    "soil_restrictive_layer_depth_cm",
    "nearest_major_road_distance_m",
    "nearest_road_distance_m",
    "within_water_service_area",
    "within_sewer_service_area",
    "nearest_transmission_line_distance_m",
    "lcms_class"
  ]
}
```

## Output

A screening table (check, value, pass/watch/fail, source), the price-per-acre comparison, and a one-paragraph verdict. This is a desktop screen, not a survey, title search or wetland delineation.

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.

  1. 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.)
  2. Select Connect, sign in to Isopleth with your email, then Allow access.
  3. Desktop and mobile pick it up automatically. Pro, Max, Team and Enterprise plans.
Connector URL
https://api.isopleth.dev/mcp

ChatGPT on the web (Pro, Business, Enterprise and Edu). Sign in with Isopleth; no key to paste.

  1. Open Plugins, select +, then Add custom MCP server (older layouts: Settings → Apps → Create, with developer mode on).
  2. Paste the URL, name it Isopleth, choose OAuth and leave the client ID and secret blank.
  3. Sign in to Isopleth when asked, choose Allow access, then type @Isopleth in a chat.
Server URL
https://api.isopleth.dev/mcp

One command, then /mcp inside Claude Code to sign in in your browser.

Terminal
claude mcp add --transport http isopleth https://api.isopleth.dev/mcp
With an API key instead
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.

Or paste into ~/.cursor/mcp.json
{
  "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.

Or from a terminal
code --add-mcp '{"name":"isopleth","type":"http","url":"https://api.isopleth.dev/mcp"}'
Or .vscode/mcp.json
{
  "servers": {
    "isopleth": {
      "type": "http",
      "url": "https://api.isopleth.dev/mcp"
    }
  }
}

One command. Codex sees that Isopleth supports sign-in and opens your browser.

Terminal
codex mcp add isopleth --url https://api.isopleth.dev/mcp
With an API key instead
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+).

claude_desktop_config.json
{
  "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.

mcp_config.json
{
  "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.

Server URL
https://api.isopleth.dev/mcp
Header (API key)
Authorization: Bearer $ISOPLETH_KEY