Machine capability
Commercial lease expiry and tenancy data for AI agents
Disclosed commercial tenancies with expiry dates, derived from filings rather than from a broker's listing sheet. Broad geographically and shallow in depth.
Short answer
Which commercial leases are approaching expiry, and who occupies a building? Yes, for 55 states and territories, effectively national. 3,966 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 lease expiry per property with the tenant, the premises where disclosed, and the filing it came from.
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 |
|---|---|---|
| LEASE_EXPIRING | 3,966 | 55 states and territories, effectively national |
Why this is different from the alternatives
Tenancy is normally private. What is here is the slice a public company had to disclose, which means it is checkable against a primary document.
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 leases expiring in the next three years.
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":"LEASE_EXPIRING","within_days":1095,"limit":3}}}'Response (truncated)
{
"dfx": {
"capability": "search_property_events",
"version": "0.3.0",
"answered_at": "2026-09-12T14:38:39.482018+00:00"
},
"ok": true,
"count": 3,
"results": [
{
"dfx_id": "58214cfc-3bec-4962-912f-39167e750713",
"place_kind": "property",
"event_type": "LEASE_EXPIRING",
"occurred_at": "2026-09-12",
"in_days": 0,
"headline": "The federal lease at 6500 43RD AVE N, BIRMINGHAM, AL expires 2026-09-12 (3,926 sq ft, $102,076 a year). The lessor is BIRMINGHAM AIRPORT AUTHORITY. No renewal option remains.",
"address": "6500 43RD AVE N",
"city": "Birmingham",
"state": "AL",
"unit_count": null,
"address_known": true,
"magnitude": 3926.0,
"magnitude_unit": "square_feet",
"evidence_class": "OBSERVED",
"source": "gsa_pbs_external_lease",
"sources": [
"gsa_pbs_external_lease"
],
"verify": {
"capability": "get_property_record",
"dfx_id": "58214cfc-3bec-4962-912f-39167e750713"
}
},
{
"dfx_id": "fcee679c-ce0f-444a-b1ca-307836253d2d",
"place_kind": "property",
"event_type": "LEASE_EXPIRING",
"occurred_at": "2026-09-13",
"in_days": 1,
"headline": "The federal lease at 1400 K ST NW, WASHINGTON, DC expires 2026-09-13 (33,490 sq ft, $1,712,542 a year). The lessor is TPP 1400K LLC. No renewal option remains.",
"address": "1400 K ST NW",
"city": "Washington",
"state": "DC",
"unit_count": null,
"address_known": true,
"magnitude": 33490.0,
"magnitude_unit": "square_feet",
"evidence_class": "OBSERVED",
"source": "gsa_pbs_external_lease",
"sources": [
"gsa_pbs_external_lease"
],
"verify": {
"capability": "get_property_record",
"dfx_id": "fcee679c-ce0f-444a-b1ca-307836253d2d"
}
},
{
"dfx_id": "01349fe5-d369-4f54-8a84-318c293e6b88",
"place_kind": "property",
"event_type": "LEASE_EXPIRING",
"occurred_at": "2026-09-14",
"in_days": 2,
"headline": "The federal lease at 1050 LAKES DR, WEST COVINA, CA expires 2026-09-14 (22,034 sq ft, $782,780 a year). The lessor is Lakes Property Owner LLC. No renewal option remains.",
"address": "1050 LAKES DR",
"city": "West Covina",
"state": "CA",
"unit_count": null,
"address_known": true,
"magnitude": 22034.0,
"magnitude_unit": "square_feet",
"evidence_class": "OBSERVED",
"source": "gsa_pbs_external_lease",
"sources": [
"gsa_pbs_external_lease"
]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 is the DISCLOSED slice of tenancy, not all of it. Absence of a lease is not evidence a building is empty.
- Shallow: broad state coverage over a small number of events.
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.
- Alabama 63
- Alaska 30
- American Samoa 1
- Arizona 104
- Arkansas 25
- California 542
- Colorado 62
- Connecticut 12
- Delaware 13
- District of Columbia 68
- Florida 216
- Georgia 137
- Guam 6
- Hawaii 63
- Idaho 21
- Illinois 165
- Indiana 47
- Iowa 32
- Kansas 30
- Kentucky 66
- Louisiana 50
- Maine 1
- Maryland 88
- Massachusetts 26
- Michigan 128
- Minnesota 50
- Mississippi 42
- Missouri 77
- Montana 28
- Nebraska 26
- Nevada 46
- New Jersey 70
- New Mexico 23
- New York 233
- North Carolina 91
- North Dakota 19
- Northern Mariana Islands 2
- Ohio 155
- Oklahoma 54
- Oregon 28
- Pennsylvania 124
- Puerto Rico 47
- Rhode Island 2
- South Carolina 52
- South Dakota 24
- Tennessee 99
- Texas 236
- US Virgin Islands 7
- Utah 34
- Vermont 1
- Virginia 202
- Washington 79
- West Virginia 36
- Wisconsin 72
- Wyoming 11
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.
- Where is commercial real estate in distress, foreclosure or workout? 307 events, 28 states, broad but NOT national.
- What did this property sell for, and who owns it? 43,680 events, 2 states only: MA, NY.
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.