Developer reference

Machine capability

Distressed commercial real-estate data for AI agents

Servicer-reported delinquency, special servicing, foreclosure and modification events on securitised commercial property. Real, broad, and small. The counts are printed below at their true size.

Short answer

Where is commercial real estate in distress, foreclosure or workout? Yes, for 28 states, broad but NOT national. 307 published events, measured 12 September 2026. Free, with no API key and no signup. Call search_property_events at https://exchange-production-9123.up.railway.app/mcp.

What it returns

A dated distress, foreclosure or modification event per property, with the trust, the servicer's reported reason and the source filing.

Coverage, with the denominators

Coverage is uneven by family and stating it any other way would be the one failure that matters here. These are whole populations, not samples.

Event familyEventsWhere it is covered
DISTRESS_FLAG_RAISED16726 states, broad but NOT nationalCA CO DC FL GA IL IN KY LA MA MD MI MN MO MS NC NH NJ NY OH OK OR PA TX VA WA
FORECLOSURE_EVENT12822 states, broad but NOT nationalCA CT FL GA IL IN KY LA MA MD MI MN MO MS NH NJ NY OH OK PA TX VA
LOAN_MODIFIED125 states only: CA, DE, IL, NY, WACA DE IL NY WA

Why this is different from the alternatives

These are reported by the servicer inside a securitisation filing rather than scraped from a county docket, so they are the commercial slice rather than the residential flood, and they carry a filing date you can cite.

A real call, and the real response

Executed against production when this page was generated. The response below is what came back, truncated, not an illustration.

Distressed commercial real estate anywhere in the US.

No within_days. That filter is forward-only and distress is a past event.

curl -s https://exchange-production-9123.up.railway.app/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_property_events","arguments":{"event_type":"DISTRESS_FLAG_RAISED","limit":3}}}'

Response (truncated)

{
 "dfx": {
  "capability": "search_property_events",
  "version": "0.3.0",
  "answered_at": "2026-09-12T14:38:15.329322+00:00"
 },
 "ok": true,
 "count": 3,
 "results": [
  {
   "dfx_id": "7c806f25-e19f-4c0c-926d-21ecae144e98",
   "place_kind": "property",
   "event_type": "DISTRESS_FLAG_RAISED",
   "occurred_at": "2026-08-11",
   "in_days": -32,
   "headline": "North Attleboro Shopping Center, North Attleboro, MA: the master servicer reported this securitised loan as \"30 to 59 days delinquent\" as of 2026-08-11. Scheduled balance $6,847,638.",
   "address": "473 East Washington Street",
   "city": "North Attleboro",
   "state": "MA",
   "unit_count": null,
   "address_known": true,
   "magnitude": 6847638.34,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "7c806f25-e19f-4c0c-926d-21ecae144e98"
   }
  },
  {
   "dfx_id": "f7a04e84-a213-4e3f-b1f3-b7845c6dc79c",
   "place_kind": "property",
   "event_type": "DISTRESS_FLAG_RAISED",
   "occurred_at": "2026-06-11",
   "in_days": -93,
   "headline": "BEST WESTERN OHARE, Rosemont, IL: the master servicer reported this securitised loan as \"60 to 89 days delinquent\" as of 2026-06-11. Scheduled balance $8,042,749.",
   "address": "10300 WEST HIGGINS ROAD",
   "city": "Rosemont",
   "state": "IL",
   "unit_count": 141,
   "address_known": true,
   "magnitude": 8042749.11,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "f7a04e84-a213-4e3f-b1f3-b7845c6dc79c"
   }
  },
  {
   "dfx_id": "f5114e7f-a60a-401a-9b28-c199f9a3b5c1",
   "place_kind": "property",
   "event_type": "DISTRESS_FLAG_RAISED",
   "occurred_at": "2026-06-11",
   "in_days": -93,
   "headline": "Fresno E Street Office, Fresno, CA: the master servicer reported this securitised loan as \"60 to 89 days delinquent\" as of 2026-06-11. Scheduled balance $8,554,253.",
   "address": "1645  1665  1685 & 1735 East Street",
   "city": "Fresno",
   "state": "CA",
   "unit_count": 0,
   "address_known": true,
   "magnitude": 8554252.74,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source": "sec_abs_e

Recent commercial foreclosure activity.

No within_days, for the same reason.

curl -s https://exchange-production-9123.up.railway.app/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_property_events","arguments":{"event_type":"FORECLOSURE_EVENT","limit":3}}}'

Response (truncated)

{
 "dfx": {
  "capability": "search_property_events",
  "version": "0.3.0",
  "answered_at": "2026-09-12T14:38:20.615444+00:00"
 },
 "ok": true,
 "count": 3,
 "results": [
  {
   "dfx_id": "7c806f25-e19f-4c0c-926d-21ecae144e98",
   "place_kind": "property",
   "event_type": "FORECLOSURE_EVENT",
   "occurred_at": "2026-08-11",
   "in_days": -32,
   "headline": "North Attleboro Shopping Center, North Attleboro, MA: the master servicer reported the workout strategy on this securitised loan as \"deed in lieu of foreclosure\" as of 2026-08-11. Scheduled balance $6,847,638.",
   "address": "473 East Washington Street",
   "city": "North Attleboro",
   "state": "MA",
   "unit_count": null,
   "address_known": true,
   "magnitude": 6847638.34,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "7c806f25-e19f-4c0c-926d-21ecae144e98"
   }
  },
  {
   "dfx_id": "f7a04e84-a213-4e3f-b1f3-b7845c6dc79c",
   "place_kind": "property",
   "event_type": "FORECLOSURE_EVENT",
   "occurred_at": "2026-06-11",
   "in_days": -93,
   "headline": "BEST WESTERN OHARE, Rosemont, IL: the master servicer reported the workout strategy on this securitised loan as \"REO\" as of 2026-06-11. Scheduled balance $8,042,749.",
   "address": "10300 WEST HIGGINS ROAD",
   "city": "Rosemont",
   "state": "IL",
   "unit_count": 141,
   "address_known": true,
   "magnitude": 8042749.11,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "f7a04e84-a213-4e3f-b1f3-b7845c6dc79c"
   }
  },
  {
   "dfx_id": "f70f323a-21ba-441a-924d-43ad4d4bf570",
   "place_kind": "property",
   "event_type": "FORECLOSURE_EVENT",
   "occurred_at": "2026-06-11",
   "in_days": -93,
   "headline": "8000 JARVIS AVENUE, Newark, CA: the master servicer reported the workout strategy on this securitised loan as \"foreclosure\" as of 2026-06-11. Scheduled balance $6,100,000.",
   "address": "8000 JARVIS AVENUE",
   "city": "Newark",
   "state": "CA",
   "unit_count": null,
   "address_known": true,
   "magnitude": 6100000.0,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "OBSERVED",
   "source

Connecting

One HTTPS endpoint speaking Model Context Protocol over JSON-RPC. No signup, no API key, no OAuth for anything free. A plain GET on the endpoint returns every tool schema, so you can evaluate the server without calling it.

Claude Code

one command, then it is available in every session

claude mcp add --transport http dfx-real-estate https://exchange-production-9123.up.railway.app/mcp

Claude Desktop

claude_desktop_config.json, then restart the app. It cannot reach a remote server directly, so this bridges through mcp-remote.

{
  "mcpServers": {
    "dfx-real-estate": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://exchange-production-9123.up.railway.app/mcp"
      ]
    }
  }
}

Cursor, Windsurf, Cline and Zed

the mcp.json their settings panel writes

{
  "mcpServers": {
    "dfx-real-estate": {
      "url": "https://exchange-production-9123.up.railway.app/mcp"
    }
  }
}

VS Code

the servers key, which is spelled differently to everything above

{
  "servers": {
    "dfx-real-estate": {
      "type": "http",
      "url": "https://exchange-production-9123.up.railway.app/mcp"
    }
  }
}

There is no signup, no API key and no OAuth for anything free, and eleven of the twelve tools are free. A plain GET on the endpoint returns every tool schema, so a client can be pointed at it and evaluated before it is trusted.

Registry entry io.github.Capital-W-Holdings/us-property-parcel-real-estate-debt. The full machine-readable capability catalog, including every tool schema, the measured coverage grid and the stated gaps, is at /ai/real-estate-mcp/catalog.json.

Where this does not help

Where it does not help

  • This tape is thin. The counts below are the whole population, not a sample, and they are small enough that an empty result for your state means DFX has nothing rather than that the state is calm.
  • `within_days` looks FORWARD. Distress and foreclosure already happened, so omit the window rather than widening it.
  • Securitised lending only.

State by state

One page per state, each carrying the dated rows themselves rather than a description of them. These are free to read and free to call.

The other capabilities on this server

Facts on this page were last checked against the running product on . Prices are read from the live billing configuration, so this page and your invoice cannot disagree. The machine-readable version of this record is at /ai/entity.json.