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 family | Events | Where it is covered |
|---|---|---|
| DISTRESS_FLAG_RAISED | 167 | 26 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_EVENT | 128 | 22 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_MODIFIED | 12 | 5 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_eRecent 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",
"sourceConnecting
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.
- California 40
- Colorado 2
- Connecticut 3
- Delaware 1
- District of Columbia 1
- Florida 6
- Georgia 8
- Illinois 36
- Indiana 3
- Kentucky 6
- Louisiana 2
- Maryland 12
- Massachusetts 2
- Michigan 3
- Minnesota 2
- Mississippi 7
- Missouri 2
- New Hampshire 2
- New Jersey 15
- New York 93
- North Carolina 2
- Ohio 14
- Oklahoma 4
- Oregon 1
- Pennsylvania 12
- Texas 16
- Virginia 5
- Washington 6
The other capabilities on this server
- Which commercial real-estate loans mature in a given state and window? 3,422 events, 52 states and territories, effectively national.
- Which LIHTC properties are reaching the end of a compliance period? 11,956 events, 56 states and territories, effectively national.
- Which HUD-subsidised properties have contracts approaching expiry? 4,721 events, 54 states and territories, effectively national.
- What did this property sell for, and who owns it? 43,680 events, 2 states only: MA, NY.
- Which commercial leases are approaching expiry, and who occupies a building? 3,966 events, 55 states and territories, effectively national.
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.