CMBS rates, lenders, underwriting, maturity wall and loan sizing from SEC data; servicing rules.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Appraisal Reduction Amount for a delinquent CMBS loan from a new appraisal, using the formula in a 2025 pooling and servicing agreement: balance minus (90% of appraised value + reserves - unpaid interest, advances and other amounts due). Returns the value side, the reduction, the share of scheduled interest the servicer keeps advancing, and the 25% deemed reduction that applies if no appraisal arrives in time.
Loan balance in dollars, e.g. 30000000.
New appraised value in dollars, e.g. 28000000.
Unreimbursed P&I and servicing advances, with interest, in dollars. Default 0.
Escrows, reserves and letters of credit in dollars. Default 0.
Unpaid taxes, insurance, ground rent, special servicing fees and other amounts due, in dollars. Default 0.
Unpaid interest at the mortgage rate in dollars. Default 0.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http cmbs-loan https://cmbs.loan/mcp
Appraisal Reduction Amount for a delinquent CMBS loan from a new appraisal, using the formula in a 2025 pooling and servicing agreement: balance minus (90% of appraised value + reserves - unpaid interest, advances and other amounts due). Returns the value side, the reduction, the share of scheduled interest the servicer keeps advancing, and the 25% deemed reduction that applies if no appraisal arrives in time.
| Argument | Type | Description |
|---|---|---|
| balance* | number | Loan balance in dollars, e.g. 30000000. |
| advances | number | Unreimbursed P&I and servicing advances, with interest, in dollars. Default 0. |
| reserves | number | Escrows, reserves and letters of credit in dollars. Default 0. |
| other_due | number | Unpaid taxes, insurance, ground rent, special servicing fees and other amounts due, in dollars. Default 0. |
| appraised_value* | number | New appraised value in dollars, e.g. 28000000. |
| unpaid_interest | number | Unpaid interest at the mortgage rate in dollars. Default 0. |
{
"type": "object",
"required": [
"balance",
"appraised_value"
],
"properties": {
"balance": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Loan balance in dollars, e.g. 30000000."
},
"advances": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Unreimbursed P&I and servicing advances, with interest, in dollars. Default 0."
},
"reserves": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Escrows, reserves and letters of credit in dollars. Default 0."
},
"other_due": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Unpaid taxes, insurance, ground rent, special servicing fees and other amounts due, in dollars. Default 0."
},
"appraised_value": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "New appraised value in dollars, e.g. 28000000."
},
"unpaid_interest": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Unpaid interest at the mortgage rate in dollars. Default 0."
}
},
"additionalProperties": false
}Special servicing, workout and liquidation fees on a CMBS loan for one outcome (loan corrected and paid at maturity, refinanced within 120 days of a missed maturity, or liquidated/discounted payoff), using the fee terms of a real 2025 pooling and servicing agreement: 0.25%/yr with a $3,500 monthly minimum, 1% workout fee with a $25,000 minimum, 1% to 3% liquidation fee. Returns each fee, the monthly fee and the total.
| Argument | Type | Description |
|---|---|---|
| balance* | number | Loan balance in dollars, e.g. 18000000. |
| outcome* | string | corrected = three on-time payments, the loan returns and pays off at maturity; refi120 = missed balloon only, refinanced or repaid within 120 days of maturity; payoff = discounted payoff, note sale, foreclosure or other liquidation. |
| proceeds | number | Payoff or liquidation proceeds in dollars. Needed for outcome "payoff". |
| note_rate_pct | number | Note rate in percent, e.g. 4.5. Needed for outcome "corrected" (the workout fee applies to interest collections). |
| months_to_maturity | integer | Months from the loan's return to maturity, e.g. 30. Needed for outcome "corrected". |
| months_in_special_servicing* |
CMBS originators ranked by loan volume over the last 12 months, from the originator named on each loan in the trusts' SEC filings. Filter by property type, state and loan amount (keeps lenders whose securitized loan sizes span it). Returns volume, loan count, size range, median rate, leverage and a page per lender.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many lenders to return, 1 to 30. Default 10. |
| state | string | US state as a two-letter code (TX) or a name (Texas). Omit for all states. |
| loan_amount | number | Loan amount in dollars, e.g. 12000000. |
| property_type | string | Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types. |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "How many lenders to return, 1 to 30. Default 10."
},
"state": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z .-]{1,30}$",
"description": "US state as a two-letter code (TX) or a name (Texas). Omit for all states."
},
"loan_amount": {
"type": "number",
"maximum": 5000000000,
"minimum": 0,
"description": "Loan amount in dollars, e.g. 12000000."
},
"property_type": {
"enum": [
"multifamily",
"retail",
"office",
"hotel",
"self-storage",
"industrial",
"mixed-use",
"mobile-home-park",
"co-op",
"healthcare"
],
"type": "string",
"description": "Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types."
}
},
"additionalProperties": false
}One CMBS originator's securitized book from SEC filings: 12- and 24-month volume, loan sizes, median rate, leverage, property types, states and its most recent loans (property, city, amount, rate, term, trust). Give the lender's name or slug, e.g. "Citi" or "wells-fargo".
| Argument | Type | Description |
|---|---|---|
| lender* | string | Lender name or slug, e.g. "Goldman Sachs" or "goldman-sachs". |
{
"type": "object",
"required": [
"lender"
],
"properties": {
"lender": {
"type": "string",
"maxLength": 80,
"minLength": 2,
"description": "Lender name or slug, e.g. \"Goldman Sachs\" or \"goldman-sachs\"."
}
},
"additionalProperties": false
}CMBS loans still reporting, by maturity year: count, balance, average note rate and the share whose NOI at securitization is under 9% of today's balance (a rough refinance-gap proxy), compared with today's median new-loan rate. Overall, by property type or by state (one filter at a time).
| Argument | Type | Description |
|---|---|---|
| state | string | US state as a two-letter code (TX) or a name (Texas). Omit for all states. |
| property_type | string | Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types. |
{
"type": "object",
"properties": {
"state": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z .-]{1,30}$",
"description": "US state as a two-letter code (TX) or a name (Texas). Omit for all states."
},
"property_type": {
"enum": [
"multifamily",
"retail",
"office",
"hotel",
"self-storage",
"industrial",
"mixed-use",
"mobile-home-park",
"co-op",
"healthcare"
],
"type": "string",
"description": "Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types."
}
},
"additionalProperties": false
}Median original note rates on CMBS loans securitized in the last 90 days, 180 days and 12 months, from SEC Form ABS-EE loan data, overall or for one property type, with the middle half, loan counts, the 5- vs 10-year split and recent months. Rates on closed loans, not a quote.
| Argument | Type | Description |
|---|---|---|
| property_type | string | Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types. |
{
"type": "object",
"properties": {
"property_type": {
"enum": [
"multifamily",
"retail",
"office",
"hotel",
"self-storage",
"industrial",
"mixed-use",
"mobile-home-park",
"co-op",
"healthcare"
],
"type": "string",
"description": "Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types."
}
},
"additionalProperties": false
}What CMBS lenders actually underwrote in the last 12 months, from SEC loan data: loan size, loan to value, debt service coverage, debt yield and occupancy (median and percentiles), interest-only share and 5/10-year term mix, overall or for one property type.
| Argument | Type | Description |
|---|---|---|
| property_type | string | Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types. |
{
"type": "object",
"properties": {
"property_type": {
"enum": [
"multifamily",
"retail",
"office",
"hotel",
"self-storage",
"industrial",
"mixed-use",
"mobile-home-park",
"co-op",
"healthcare"
],
"type": "string",
"description": "Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types."
}
},
"additionalProperties": false
}Maximum CMBS loan on a property under the three sizing tests lenders apply, and which one binds: loan to value x value, NOI / (DSCR x annual debt constant at the rate and amortization, or the rate if interest-only), and NOI / debt yield. Limits you omit default to what recent CMBS loans stayed within (90th percentile LTV, 10th percentile DSCR and debt yield, by property type), and the rate to the 90-day median.
| Argument | Type | Description |
|---|---|---|
| noi* | number | Underwritten net operating income (or net cash flow) per year in dollars, e.g. 1800000. |
| min_dscr | number | Minimum debt service coverage ratio, e.g. 1.30. |
| rate_pct | number | Note rate in percent, e.g. 6.5. Default: the 90-day median CMBS rate for the property type. |
| max_ltv_pct | number | Maximum loan to value in percent, e.g. 65. |
| interest_only | boolean | true = interest-only for the full term (most recent CMBS loans). Default true. |
| property_type | string | Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types. |
| property_value* |
The contractual sequence after a missed monthly payment or a missed balloon on a CMBS loan, day by day: transfer to the special servicer, SEC delinquency status codes, the appraisal reduction trigger and deadline, the 120-day maturity window, each with its PSA section. Give days_elapsed to get which events have already been triggered and the next one with days remaining.
| Argument | Type | Description |
|---|---|---|
| trigger* | string | missed_payment = a monthly payment went unpaid; missed_balloon = the loan was not repaid at maturity. |
| days_elapsed | integer | Days since the missed payment due date or the maturity date. Omit to get the full sequence. |
{
"type": "object",
"required": [
"trigger"
],
"properties": {
"trigger": {
"enum": [
"missed_payment",
"missed_balloon"
],
"type": "string",
"description": "missed_payment = a monthly payment went unpaid; missed_balloon = the loan was not repaid at maturity."
},
"days_elapsed": {
"type": "integer",
"maximum": 3650,
"minimum": 0,
"description": "Days since the missed payment due date or the maturity date. Omit to get the full sequence."
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 1, 2026.
| integer |
| Months the loan spends with the special servicer, e.g. 9. |
{
"type": "object",
"required": [
"balance",
"months_in_special_servicing",
"outcome"
],
"properties": {
"balance": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Loan balance in dollars, e.g. 18000000."
},
"outcome": {
"enum": [
"corrected",
"refi120",
"payoff"
],
"type": "string",
"description": "corrected = three on-time payments, the loan returns and pays off at maturity; refi120 = missed balloon only, refinanced or repaid within 120 days of maturity; payoff = discounted payoff, note sale, foreclosure or other liquidation."
},
"proceeds": {
"type": "number",
"maximum": 10000000000,
"minimum": 0,
"description": "Payoff or liquidation proceeds in dollars. Needed for outcome \"payoff\"."
},
"note_rate_pct": {
"type": "number",
"maximum": 30,
"minimum": 0,
"description": "Note rate in percent, e.g. 4.5. Needed for outcome \"corrected\" (the workout fee applies to interest collections)."
},
"months_to_maturity": {
"type": "integer",
"maximum": 600,
"minimum": 0,
"description": "Months from the loan's return to maturity, e.g. 30. Needed for outcome \"corrected\"."
},
"months_in_special_servicing": {
"type": "integer",
"maximum": 240,
"minimum": 0,
"description": "Months the loan spends with the special servicer, e.g. 9."
}
},
"additionalProperties": false
}| number |
| Appraised value or purchase price in dollars, e.g. 25000000. |
| amortization_years | integer | Amortization schedule in years. Required when interest_only is false. |
| min_debt_yield_pct | number | Minimum debt yield in percent, e.g. 8.5. |
{
"type": "object",
"required": [
"property_value",
"noi"
],
"properties": {
"noi": {
"type": "number",
"maximum": 2000000000,
"minimum": 0,
"description": "Underwritten net operating income (or net cash flow) per year in dollars, e.g. 1800000."
},
"min_dscr": {
"type": "number",
"maximum": 3,
"minimum": 1,
"description": "Minimum debt service coverage ratio, e.g. 1.30."
},
"rate_pct": {
"type": "number",
"maximum": 20,
"minimum": 0.5,
"description": "Note rate in percent, e.g. 6.5. Default: the 90-day median CMBS rate for the property type."
},
"max_ltv_pct": {
"type": "number",
"maximum": 90,
"minimum": 10,
"description": "Maximum loan to value in percent, e.g. 65."
},
"interest_only": {
"type": "boolean",
"description": "true = interest-only for the full term (most recent CMBS loans). Default true."
},
"property_type": {
"enum": [
"multifamily",
"retail",
"office",
"hotel",
"self-storage",
"industrial",
"mixed-use",
"mobile-home-park",
"co-op",
"healthcare"
],
"type": "string",
"description": "Property type: multifamily, retail, office, hotel, self-storage, industrial, mixed-use, mobile-home-park, co-op, healthcare. Omit for all types."
},
"property_value": {
"type": "number",
"maximum": 20000000000,
"minimum": 0,
"description": "Appraised value or purchase price in dollars, e.g. 25000000."
},
"amortization_years": {
"type": "integer",
"maximum": 40,
"minimum": 5,
"description": "Amortization schedule in years. Required when interest_only is false."
},
"min_debt_yield_pct": {
"type": "number",
"maximum": 20,
"minimum": 4,
"description": "Minimum debt yield in percent, e.g. 8.5."
}
},
"additionalProperties": false
}