AI agents

Solar/Wind Site Prospecting

Find large rural parcels and rank them for utility-scale solar or wind: resource, distance and voltage to the grid, slope, flood, wetlands and protected land.

An area to prospect, or a list of parcels · Tools: parcel_search, parcel_enrich, start_run, get_run, proximity · 25 lookups per search page with results, then 6 per parcel screened (5 for the parcel, 1 for the 13 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-solar-wind-site-prospecting && curl -fsSL https://isopleth.dev/templates/solar-wind-site-prospecting/SKILL.md -o ~/.claude/skills/isopleth-solar-wind-site-prospecting/SKILL.md

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

Example prompt

“Prospect Potter County, TX for solar: parcels of 160 acres or more within 3 km of a 115 kV or larger line. Rank the top 10.”

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

How it works

  1. Call parcel_search with the state and county, acres_min (about 5 acres per MW for solar; wind needs larger, often several adjoining tracts) and land_use words such as agricultural or vacant. Use limit 100.
  2. Screen the candidates: for a handful, call parcel_enrich with each parcel_id and the fields below; for dozens or more, call start_run with kind "enrich", items [{"parcel_id": ...}] and the same fields, with max_lookups set, then page through get_run.
  3. Drop parcels in flood zone A or V, on wetlands, protected land or critical habitat, or with average slope over about 5 degrees for solar (about 10 for wind).
  4. Rank the rest by grid access first (distance to a line of the needed voltage and to a substation), then resource (GHI for solar; 100 m wind speed and capacity factor for wind), then acreage.
  5. For the finalists, call proximity with categories ["power"] for the nearest substation, line, plant and pipeline with names and voltages.

Fields used

Point fields, measured at each parcel:

Parcel record columns (published columns vary by state; see coverage): parcelnumb, owner, mailadd, mail_state2, usedesc, gisacre, parval, lat, lon.

Tool call

What the agent sends to parcel_enrich:

{
  "lat": 35.21,
  "lng": -101.83,
  "fields": [
    "ghi_annual_kwh_m2_day",
    "mean_wind_speed_100m_ms",
    "wind_capacity_factor_pct",
    "slope_degrees",
    "nearest_transmission_line_distance_m",
    "nearest_transmission_line_voltage_kv",
    "nearest_substation_distance_m",
    "nearest_substation_max_voltage_kv",
    "nfhl_flood_zone",
    "intersects_wetland",
    "intersects_protected_area",
    "intersects_critical_habitat",
    "lcms_class"
  ]
}

Output

A ranked table: parcel, owner, acres, grid distance and voltage, resource value, red flags, lookups spent. Straight-line distances only; interconnection capacity needs a utility study.

SKILL.md

Save this as isopleth-solar-wind-site-prospecting/SKILL.md in your agent's skills folder (for Claude Code, ~/.claude/skills/), or download it.

---
name: isopleth-solar-wind-site-prospecting
description: Find large rural parcels and rank them for utility-scale solar or wind: resource, distance and voltage to the grid, slope, flood, wetlands and protected land. Uses the Isopleth MCP server (https://api.isopleth.dev/mcp).
---

# Solar/Wind Site Prospecting

Find large rural parcels and rank them for utility-scale solar or wind: resource, distance and voltage to the grid, slope, flood, wetlands and protected land.

## 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_search`, `parcel_enrich`, `start_run`, `get_run`, `proximity`.
- Cost: 25 lookups per search page with results, then 6 per parcel screened (5 for the parcel, 1 for the 13 point fields).

## Steps

1. Call parcel_search with the state and county, acres_min (about 5 acres per MW for solar; wind needs larger, often several adjoining tracts) and land_use words such as agricultural or vacant. Use limit 100.
2. Screen the candidates: for a handful, call parcel_enrich with each parcel_id and the fields below; for dozens or more, call start_run with kind "enrich", items [{"parcel_id": ...}] and the same fields, with max_lookups set, then page through get_run.
3. Drop parcels in flood zone A or V, on wetlands, protected land or critical habitat, or with average slope over about 5 degrees for solar (about 10 for wind).
4. Rank the rest by grid access first (distance to a line of the needed voltage and to a substation), then resource (GHI for solar; 100 m wind speed and capacity factor for wind), then acreage.
5. For the finalists, call proximity with categories ["power"] for the nearest substation, line, plant and pipeline with names and voltages.

## Arguments (example `parcel_enrich` call)

```json
{
  "lat": 35.21,
  "lng": -101.83,
  "fields": [
    "ghi_annual_kwh_m2_day",
    "mean_wind_speed_100m_ms",
    "wind_capacity_factor_pct",
    "slope_degrees",
    "nearest_transmission_line_distance_m",
    "nearest_transmission_line_voltage_kv",
    "nearest_substation_distance_m",
    "nearest_substation_max_voltage_kv",
    "nfhl_flood_zone",
    "intersects_wetland",
    "intersects_protected_area",
    "intersects_critical_habitat",
    "lcms_class"
  ]
}
```

## Output

A ranked table: parcel, owner, acres, grid distance and voltage, resource value, red flags, lookups spent. Straight-line distances only; interconnection capacity needs a utility study.

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