Developer reference

Machine capability

CRE loan maturity data for AI agents

Confirmed maturity dates on US commercial and multifamily loans, callable by an agent over MCP with no key. The dates come from SEC ABS-EE servicer filings and HUD FHA insurance records, so every one is filed rather than estimated.

Short answer

Which commercial real-estate loans mature in a given state and window? Yes, for 52 states and territories, effectively national. 3,422 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

The event tape: the maturity as a dated event with the property, the securitisation trust or insurance programme it sits in, the scheduled balance and the source. The loan tape: the LOAN rather than the event, one row per loan, with original principal, lender, instrument type, origination date and the secured building's address, deduplicated and ordered by maturity date.

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
LOAN_MATURITY_SCHEDULED3,42252 states and territories, effectively national

Why this is different from the alternatives

Every maturity_basis is 'confirmed'. Nothing here is a model output. Most providers holding servicer-filed maturity data put it behind a contract and a sales call; this one answers an anonymous POST.

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.

Commercial real-estate loans in Massachusetts maturing inside 18 months.

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":"LOAN_MATURITY_SCHEDULED","state":"MA","within_days":548,"limit":3}}}'

Response (truncated)

{
 "dfx": {
  "capability": "search_property_events",
  "version": "0.3.0",
  "answered_at": "2026-09-12T14:37:58.577844+00:00"
 },
 "ok": true,
 "count": 3,
 "results": [
  {
   "dfx_id": "6ecec9a2-b336-45d1-b4a1-adf9e66c852f",
   "place_kind": "property",
   "event_type": "LOAN_MATURITY_SCHEDULED",
   "occurred_at": "2026-12-06",
   "in_days": 85,
   "headline": "THE GROVE AT PLYMOUTH- MASS, Plymouth, MA: securitised loan matures 2026-12-06. Scheduled balance $13,868,676.",
   "address": "20, 45-65 & 46-100 SHOPS AT 5 WAY",
   "city": "Plymouth",
   "state": "MA",
   "unit_count": null,
   "address_known": true,
   "magnitude": 13868676.42,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "VERIFIED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "6ecec9a2-b336-45d1-b4a1-adf9e66c852f"
   },
   "debt": [
    {
     "loan_dfx_id": "19fdd5c7-f24b-48c5-bc57-3a6b467b4cd2",
     "instrument": "cmbs_securitized_loan",
     "original_principal_usd": 15000000.0,
     "current_principal_usd": 13868676.42,
     "interest_rate_pct": 4.74,
     "source": "sec_abs_ee"
    }
   ]
  },
  {
   "dfx_id": "48f23e41-e63e-4b2e-8776-24c37074212c",
   "place_kind": "property",
   "event_type": "LOAN_MATURITY_SCHEDULED",
   "occurred_at": "2027-01-01",
   "in_days": 111,
   "headline": "Orchard Hill Park, Leominster, MA: securitised loan matures 2027-01-01. Scheduled balance $28,478,012.",
   "address": "10-82 Orchard Hill Park Drive",
   "city": "Leominster",
   "state": "MA",
   "unit_count": null,
   "address_known": true,
   "magnitude": 28478011.69,
   "magnitude_unit": "usd_scheduled_balance",
   "evidence_class": "VERIFIED",
   "source": "sec_abs_ee",
   "sources": [
    "sec_abs_ee"
   ],
   "verify": {
    "capability": "get_property_record",
    "dfx_id": "48f23e41-e63e-4b2e-8776-24c37074212c"
   },
   "debt": [
    {
     "loan_dfx_id": "5b7a35cc-8801-411c-a6bb-a5d187e89d83",
     "instrument": "cmbs_securitized_loan",
     "original_principal_usd": 33500000.0,
     "current_principal_usd": 28478011.69,
     "interest_rate_pct": 5.752,
     "source": "sec_abs_ee"
    }
   ]
  },
  {
   "dfx_id": "9b86ced7-387e-43b8-ba5d-dc01faffc466",
   "place_kind": "property",
   "event_type": "LOAN_MATURITY_SCHEDULED",
   "occurred_at": "2027-01-06",
   "in_days": 116,
   "hea

Which commercial loans in Massachusetts mature in the next eighteen months, with lenders named?

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":"debt_maturity_schedule","arguments":{"state":"MA","within_days":548,"limit":5}}}'

Response (truncated)

{
 "dfx": {
  "capability": "debt_maturity_schedule",
  "version": "0.3.0",
  "answered_at": "2026-09-13T17:56:02.948452+00:00"
 },
 "ok": true,
 "count": 5,
 "filter": {
  "state": "MA",
  "within_days": 548,
  "maturity_between": [
   "2026-09-13",
   "2028-03-14"
  ]
 },
 "population": {
  "loans_dfx_holds_for_this_filter": 17,
  "count_is_exact": true,
  "loans_delivered": 5,
  "complete": false,
  "delivery_cap": 5,
  "note": "When this delivery came back under the cap, the population IS the delivery and complete is true. When it filled the cap, an exact count is taken separately; if count_is_exact is false that count did not answer in time and the number above is a floor rather than a total. `limit` goes up to 200."
 },
 "rows": [
  {
   "loan_dfx_id": "19fdd5c7-f24b-48c5-bc57-3a6b467b4cd2",
   "maturity_date": "2026-12-06",
   "maturity_basis": "confirmed",
   "original_principal_usd": 15000000.0,
   "current_principal_usd": 13868676.42,
   "interest_rate_pct": 4.74,
   "origination_date": "2016-11-17",
   "term_months": null,
   "instrument_type": "cmbs_securitized_loan",
   "is_open": true,
   "maturity_event_published": true,
   "lender": {
    "dfx_id": "b305fd14-a1ca-4298-a18f-b9c6cb7ac40c",
    "name": "SPREF"
   },
   "property": {
    "dfx_id": "6ecec9a2-b336-45d1-b4a1-adf9e66c852f",
    "address": "20, 45-65 & 46-100 SHOPS AT 5 WAY",
    "city": "Plymouth",
    "state": "MA",
    "postal_code": "02360",
    "county": "Plymouth",
    "property_type": "retail",
    "property_subtype": null,
    "unit_count": null,
    "year_built": null
   },
   "source": "sec_abs_ee"
  },
  {
   "loan_dfx_id": "5b7a35cc-8801-411c-a6bb-a5d187e89d83",
   "maturity_date": "2027-01-01",
   "maturity_basis": "confirmed",
   "original_principal_usd": 33500000.0,
   "current_principal_usd": 28478011.69,
   "interest_rate_pct": 5.752,
   "origination_date": "2016-12-23",
   "term_months": null,
   "instrument_type": "cmbs_securitized_loan",
   "is_open": true,
   "maturity_event_published": true,
   "lender": {
    "dfx_id": "75480225-3461-4fd6-aed4-996bd269b5cd",
    "name": "JPMCB"
   },
   "property": {
    "dfx_id": "48f23e41-e63e-4b2e-8776-24c37074212c",
    "address": "10-82 Orchard Hill Park Drive",
    "city": "Leominster",
    "state": "MA",
    "postal_code": "01453",
    "county": "Worcester",
    "property_type": "retail",
    "property_subtype": null,
   

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

  • Federal programme and securitised lending only. Conventionally financed property carries no debt record here, because the Registries of Deeds are closed to automation. A property absent from a maturity search is NOT a property without debt.
  • The loan schedule covers one state per call, up to 200 loans.
  • No refinancing INTENT is observed. A confirmed maturity is a date, not a decision.

State by state

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.