MCP server for real estate, land and infrastructure data

Korzy is an MCP server for real estate and land data: it gives an AI assistant tools that look up real parcel and infrastructure records, so its answers about a place come from data rather than memory.

AI agents: the job to be done

Language models answer questions about specific properties from whatever they saw in training, which is rarely the current record. Agents that research land, energy or real estate need tools that return the record itself: the parcel at an address, the utilities at a point, the projects nearby.

The Korzy MCP server (OAuth or API key, 6 tools) exposes those lookups as tools any MCP client can call. Our plugins for Claude and ChatGPT connect it to those assistants, and the agent plugin for Claude Code, Codex and Hermes adds a research skill that chains them: a lookup at the address, the records behind it, then enrichment.

Questions Korzy answers for AI agents

  • Who owns this property and when did it last sell? (owner fields where published; available on request, opt-in per organization)
  • Does this address have public water and sewer?
  • What data-center projects are planned near this site?
  • What power plants and grid capacity are near this site?

API routes and MCP tools for AI agents

Each MCP tool on the Korzy MCP server runs the matching API route, at the same credits. Routes link to their section of the API reference; credits and rate limits covers what each request costs.

MCP toolAPI routeWhat it returns
lookup/v1/lookupThe parcels at an address or point, with the utilities, environment, logistics, data-center, power, grid and terrain sections the agent asks for.
enrich/v1/enrichChosen parcel fields for a list of addresses or parcels; the only tool that returns owner fields (available on request, opt-in per organization).
get_record/v1/records/{id}Any record a lookup returned, by its ID.
ask/v1/askA question about one place, answered from Korzy data with citations.
support_request/v1/supportReport missing or wrong data, or request a feature, from the conversation.
list_fields/v1/fieldsSections, fields and credits, so the agent knows what exists before it spends credits. Free.

Example requests and production responses

Real responses from the production API, captured November 5, 2026 and trimmed to the main fields. Every request needs an API key; see API authentication.

1. enrich with owner fields

The tool call an agent makes for “Who owns 1600 Glenarm Pl, Denver, and when did it last sell?”. Owner values are shown as placeholders. 2 credits.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "enrich",
    "arguments": {
      "items": [
        {
          "address": "1600 Glenarm Pl, Denver, CO"
        }
      ],
      "fields": [
        "identity",
        "address",
        "sale",
        "owner"
      ]
    }
  }
}
Production response (trimmed)
{
  "fields": [
    "korzy_id",
    "parcelid",
    "alternate_parcel_number",
    "statefp",
    "geoid"
  ],
  "results": [
    {
      "index": 0,
      "input": {
        "address": "1600 Glenarm Pl, Denver, CO"
      },
      "status": "ok",
      "records": [
        {
          "id": "08031-00608646b37458fef5b5",
          "korzy_id": "08031-00608646b37458fef5b5",
          "parcelid": "0234610034000",
          "statefp": "08",
          "geoid": "08031",
          "countyname": "Denver",
          "updated": "2026-04-21",
          "parceladdr": "1628 GLENARM PL",
          "parcelcity": "DENVER",
          "situs_zip": "80202",
          "legal_description": "EAST DENVER B195 L7 & SW/2 OF L6 LAND ONLY SEE 02346-10-035 FOR IMPS",
          "saledate": "2018-07-11",
          "saleamt": 131000000,
          "owner_name": "EXAMPLE HOLDINGS LLC",
          "owner_mailing_address": "100 EXAMPLE ST, SAMPLE CITY, ST 00000"
        },
        {
          "id": "08031-38ea02a85c11fd253b1c",
          "korzy_id": "08031-38ea02a85c11fd253b1c",
          "parcelid": "0234610035000",
          "statefp": "08",
          "geoid": "08031",
          "countyname": "Denver",
          "updated": "2026-04-21",
          "parceladdr": "1600 GLENARM PL",
          "parcelcity": "DENVER",
          "situs_zip": "80202-4311",
          "legal_description": "EAST DENVER B195 L7 & SW/2 OF L6 IMPS ONLY SEE 02346-10-034 FOR LAND ONLY",
          "saledate": "2018-07-11",
          "saleamt": 131000000,
          "owner_name": "EXAMPLE HOLDINGS LLC",
          "owner_mailing_address": "100 EXAMPLE ST, SAMPLE CITY, ST 00000"
        },
        {
          "id": "08031-5b4cf0a0a15d0ff3a944",
          "korzy_id": "08031-5b4cf0a0a15d0ff3a944",
          "parcelid": "0234610034998",
          "statefp": "08",
          "geoid": "08031",
          "countyname": "Denver",
          "updated": "2026-04-21",
          "parceladdr": "1628 GLENARM PL MASTR",
          "parcelcity": "DENVER",
          "situs_zip": "80202",
          "legal_description": "EAST DENVER B195 L7 & SW/2 OF L6 MASTER CARD",
          "saledate": "2026-06-15",
          "saleamt": 0
        }
      ],
      "truncated": false,
      "credits": 2
    }
  ],
  "credits": {
    "charged": 2,
    "refunded": 0
  },
  "credits_url": "/v1/fields#attribution"
}

2. lookup with utilities and environment

One call returns the parcel, the water and sewer service areas, environmental layers and nearby cleanup sites. 3 credits.

{
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "name": "lookup",
    "arguments": {
      "address": "2304 Hillsborough St, Raleigh, NC",
      "sections": [
        "utilities",
        "environment"
      ]
    }
  }
}
Production response (trimmed)
{
  "location": {
    "longitude": -78.66618558988388,
    "latitude": 35.78758805,
    "address": "2304 HILLSBOROUGH ST, RALEIGH",
    "match_type": "exact"
  },
  "parcels": {
    "records": [
      {
        "id": "37183-a18c4295290bf3664953",
        "bldgsqft": 32147,
        "countyname": "Wake",
        "latitude": 35.78758805,
        "longitude": -78.66618558988388,
        "korzy_id": "37183-a18c4295290bf3664953",
        "parceladdr": "2304 HILLSBOROUGH ST",
        "parcelcity": "RALEIGH",
        "parcelid": "0794910704",
        "saleamt": 225000,
        "saledate": "1989-08-17",
        "statefp": "37",
        "taxacres": 0.21,
        "totalvalue": 9236920,
        "updated": "2026-05-17",
        "usedesc": "C",
        "yearbuilt": 2016,
        "situs_zip": "27607",
        "legal_description": "LO17 HARRIS CHAMBERLAIN BM1915 -50",
        "land_use_code": "COM",
        "alternate_parcel_number": "0051702",
        "building_count": 2,
        "land_value_usd": 2476416,
        "improvement_value_usd": 6760504,
        "last_sale_document": "Deed Book/Page 016128/02260",
        "geoid": "37183",
        "parcelid2": "0051702",
        "ogparcelid": "0794910704"
      }
    ],
    "truncated": false,
    "provenance": {
      "source": "Korzy parcels",
      "as_of": "2026-11-04"
    }
  },
  "sections": {
    "utilities": {
      "status": "ok",
      "data": {
        "water": [
          {
            "id": "utility:water:29943",
            "feature_id": "water:29943",
            "name": "RALEIGH, CITY OF",
            "boundary_basis": "System Sourced"
          }
        ],
        "sewer": [
          {
            "id": "utility:sewer:2161",
            "feature_id": "sewer:2161",
            "name": "NEUSE RIVER RESOURCE RECOVERY FACILITY",
            "boundary_basis": "Sourced"
          }
        ],
        "treatment_plants": [
          {
            "id": "utility:treatment:7989",
            "feature_id": "treatment:7989",
            "name": "NORTH CARY WWTP",
            "distance_km": 11.327081897513994
          },
          {
            "id": "utility:treatment:7990",
            "feature_id": "treatment:7990",
            "name": "SOUTH CARY WWTP",
            "distance_km": 17.150176534137536
          },
          {
            "id": "utility:treatment:7988",
            "feature_id": "treatment:7988",
            "name": "APEX WWTP",
            "distance_km": 17.341430989229266
          }
        ],
        "truncated": {
          "water": false,
          "sewer": false
        }
      },
      "provenance": [
        {
          "dataset": "water",
          "data_version": "63b7c1c3-9661-4fed-a59f-ddbfff80c2e4"
        },
        {
          "dataset": "sewer",
          "data_version": "63b7c1c3-9661-4fed-a59f-ddbfff80c2e4"
        },
        {
          "dataset": "treatment",
          "data_version": "63b7c1c3-9661-4fed-a59f-ddbfff80c2e4"
        }
      ]
    },
    "environment": {
      "status": "ok",
      "data": {
        "radius_km": 10,
        "matches": {
          "air_quality_areas": [
            {
              "id": "poi:air-quality-areas:air_quality_areas:0:103",
              "feature_id": "air_quality_areas:0:103",
              "name": "Raleigh-Durham-Chapel Hill Area · Ozone 8-hr (1997 standard) · NC",
              "status": "Maintenance",
              "state": "NC",
              "category": "Ozone 8-hr (1997 standard)",
              "poi_slug": "air-quality-areas",
              "geometry_kind": "area"
            },
            {
              "id": "poi:air-quality-areas:air_quality_areas:10:64",
              "feature_id": "air_quality_areas:10:64",
              "name": "Raleigh-Durham Area · Ozone 1-hr (1979 standard-revoked) · NC",
              "status": "Maintenance (NAAQS revoked)",
              "state": "NC",
              "category": "Ozone 1-hr (1979 standard-revoked)",
              "poi_slug": "air-quality-areas",
              "geometry_kind": "area"
            },
            {
              "id": "poi:air-quality-areas:air_quality_areas:9:38",
              "feature_id": "air_quality_areas:9:38",
              "name": "Raleigh-Durham Area · CO (1971 Standard) · NC",
              "status": "Maintenance",
              "state": "NC",
              "category": "CO (1971 Standard)",
              "poi_slug": "air-quality-areas",
              "geometry_kind": "area"
            }
          ]
        },
        "nearby": {
          "superfund_npl": [
            {
              "id": "poi:superfund-npl-sites:superfund_npl:records:266",
              "feature_id": "superfund_npl:records:266",
              "name": "North Carolina State University (Lot 86, Farm Unit #1)",
              "status": "NPL Site",
              "state": "North Carolina",
              "city": "Raleigh",
              "category": "Superfund NPL sites",
              "distance_km": 4.558660802921175,
              "poi_slug": "superfund-npl-sites",
              "geometry_kind": "point"
            }
          ],
          "brownfields": [
            {
              "id": "poi:brownfields:brownfields:records:5117",
              "feature_id": "brownfields:records:5117",
              "name": "FORMER TAO AUTO",
              "state": "NC",
              "city": "RALEIGH",
              "category": "Brownfields",
              "distance_km": 1.7380021755612463,
              "poi_slug": "brownfields",
              "geometry_kind": "point"
            },
            {
              "id": "poi:brownfields:brownfields:records:3287",
              "feature_id": "brownfields:records:3287",
              "name": "301 HILLSBOROUGH STREET",
              "state": "NC",
              "city": "RALEIGH",
              "category": "Brownfields",
              "distance_km": 2.1790881613804753,
              "poi_slug": "brownfields",
              "geometry_kind": "point"
            },
            {
              "id": "poi:brownfields:brownfields:records:11457",
              "feature_id": "brownfields:records:11457",
              "name": "PROPERTY 25",
              "state": "NC",
              "city": "RALEIGH",
              "category": "Brownfields",
              "distance_km": 2.19563822135326,
              "poi_slug": "brownfields",
              "geometry_kind": "point"
            },
            {
              "id": "poi:brownfields:brownfields:records:4602",
              "feature_id": "brownfields:records:4602",
              "name": "0 WEST SOUTH STREET",
              "state": "NC",
              "city": "RALEIGH",
              "category": "Brownfields",
              "distance_km": 2.6141642491852357,
              "poi_slug": "brownfields",
              "geometry_kind": "point"
            },
            {
              "id": "poi:brownfields:brownfields:records:3288",
              "feature_id": "brownfields:records:3288",
              "name": "CONVENTION CENTER PARKING LOTS",
              "state": "NC",
              "city": "RALEIGH",
              "category": "Brownfields",
              "distance_km": 2.772620723029745,
              "poi_slug": "brownfields",
              "geometry_kind": "point"
            }
          ]
        },
        "coverage": {
          "flood_hazard": {
            "status": "unavailable",
            "states": [],
            "stale_states": [],
            "note": "No published state package covers the reference point; coverage is unknown."
          },
          "wetlands": {
            "status": "unavailable",
            "states": [],
            "stale_states": [],
            "note": "No published state package covers the reference point; coverage is unknown."
          }
        },
        "truncated": {
          "brownfields": true
        },
        "note": "Screening at the supplied reference point, not a full parcel overlap analysis. Area and line matches intersect the published geometry at that point. Nearby cleanup records use reported point locations and straight-line distance. Source coverage and geometry limitations apply; absence of a match is not an environmental clearance. Flood hazard and wetland coverage at the point is reported under coverage: no intersecting polygon is unknown, never a finding that the point is outside a flood zone or wetland."
      },
      "provenance": [
        {
          "dataset": "superfund_sites",
          "as_of": "2026-11-05",
          "data_version": "20261105T023448534475Z"
        },
        {
          "dataset": "superfund_npl",
          "as_of": "2026-11-05",
          "data_version": "20261105T023448534475Z"
        },
        {
          "dataset": "brownfields",
          "as_of": "2026-11-05",
          "data_version": "20261105T023448534475Z"
        },
        {
          "dataset": "protected_areas",
          "as_of": "2025-03-31",
          "data_version": "20261105T023448534475Z"
        },
        {
          "dataset": "critical_habitat_areas",
          "as_of": "2026-11-05",
          "data_version": "20261105T023448534475Z"
        }
      ]
    }
  },
  "credits": {
    "charged": 3,
    "refunded": 0
  },
  "credits_url": "/v1/fields#attribution"
}

County parcel data for AI agents

Parcel coverage, infrastructure counts and example requests for counties where this work is common. Korzy covers parcel data in every U.S. county.

How Korzy compares with other parcel data APIs

More Korzy use cases

Connect your agent to Korzy

Every plan includes the MCP server (OAuth or API key, 6 tools), plugins for Claude and ChatGPT, and the agent plugin for Claude Code, Codex and Hermes. Sign in with your Korzy account or use an API key.