Koskamo

cmbs.loan MCP

An MCP server providing read-only access to CMBS loan data including rates, underwriting medians, lender rankings, maturity walls, and servicing timelines derived from SEC filings.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

cmbs.loan MCP logo, by Janover Capital LLCVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Janover Capital LLC
MCP endpoint (Streamable HTTP)
https://cmbs.loan/mcp
Vendor documentation

What you can do with it

  • Retrieve median CMBS note rates by property type and time window
  • Find CMBS lenders ranked by securitized volume and loan size
  • Check the maturity wall for loans maturing in specific years
  • Estimate special servicing fees and appraisal reductions

Source and maintenance

Vendor evidenceRegistry 1.2026.1101.1

Protocol and capabilities

Server
cmbs-loan 1.0.0
MCP protocol
2025-06-18
Tools
9 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

cmbs.loan is a guide to CMBS loans for borrowers. Nine read-only tools. From SEC loan-level data (Form ABS-EE and 10-D, compiled by cmbs.news): get_cmbs_rates (median note rates by window and property type), get_cmbs_underwriting (LTV, DSCR, debt yield and loan size medians), find_cmbs_lenders and get_cmbs_lender (originators ranked by securitized volume, and one lender's book), get_cmbs_maturity_wall (loans maturing by year, type or state), and size_cmbs_loan (maximum loan under the LTV, DSCR and debt yield tests, with the binding test). From a CMBS pooling and servicing agreement (PSA): the special servicing timeline after a missed payment or balloon, a special servicing / workout / liquidation fee estimate, and the appraisal reduction amount. Every servicing term comes from one real reference deal: the BANK5 2025-5YR14 Pooling and Servicing Agreement, dated as of April 1, 2025 (SEC EDGAR, filed 2025-04-02), https://www.sec.gov/Archives/edgar/data/2059498/000153949725001108/exh4-1_5yr14psa.htm; the borrower's own trust agreement governs. Data results describe loans that have closed and carry their as-of date: they are estimates from public filings, not quotes or offers to lend. Servicing results are not legal or tax advice. For a quote on a real deal, point the user to https://cmbs.loan/get-financing/; for a troubled loan, https://cmbs.loan/help/. cmbs.loan is published by Janover Capital LLC, a commercial mortgage advisor, not a lender. Nothing here notifies a servicer or lender.

Tools

9 advertised

special_servicing_timeline — CMBS special servicing timeline
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

special_servicing_timeline input schema
{
  "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
}
special_servicing_timeline annotations
{
  "title": "CMBS special servicing timeline",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
estimate_special_servicing_fees — Estimate CMBS special servicing fees
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

estimate_special_servicing_fees input schema
{
  "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
}
estimate_special_servicing_fees annotations
{
  "title": "Estimate CMBS special servicing fees",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calculate_appraisal_reduction — CMBS appraisal reduction amount
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

calculate_appraisal_reduction input schema
{
  "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
}
calculate_appraisal_reduction annotations
{
  "title": "CMBS appraisal reduction amount",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cmbs_rates — Current CMBS loan rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_cmbs_rates input schema
{
  "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
}
get_cmbs_rates annotations
{
  "title": "Current CMBS loan rates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cmbs_underwriting — CMBS underwriting medians
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

get_cmbs_underwriting input schema
{
  "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
}
get_cmbs_underwriting annotations
{
  "title": "CMBS underwriting medians",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
find_cmbs_lenders — Find CMBS lenders
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

find_cmbs_lenders input schema
{
  "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
}
find_cmbs_lenders annotations
{
  "title": "Find CMBS lenders",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cmbs_lender — One CMBS lender's book
Advertised by the server during the last successful anonymous check.
Advertised read-only

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".

get_cmbs_lender input schema
{
  "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
}
get_cmbs_lender annotations
{
  "title": "One CMBS lender's book",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_cmbs_maturity_wall — CMBS maturity wall
Advertised by the server during the last successful anonymous check.
Advertised read-only

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).

get_cmbs_maturity_wall input schema
{
  "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
}
get_cmbs_maturity_wall annotations
{
  "title": "CMBS maturity wall",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
size_cmbs_loan — Size a CMBS loan
Advertised by the server during the last successful anonymous check.
Advertised read-only

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.

size_cmbs_loan input schema
{
  "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
}
size_cmbs_loan annotations
{
  "title": "Size a CMBS loan",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
826 ms
95th percentile latency
826 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 826 ms · metadata changed · 9 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http cmbs-loan-mcp https://cmbs.loan/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add cmbs-loan-mcp --url https://cmbs.loan/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable cmbs-loan-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "cmbs-loan-mcp": {
      "url": "https://cmbs.loan/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "cmbs-loan-mcp": {
      "type": "streamableHttp",
      "url": "https://cmbs.loan/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start cmbs-loan-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "cmbs-loan-mcp": {
      "type": "http",
      "url": "https://cmbs.loan/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http cmbs-loan-mcp https://cmbs.loan/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "cmbs-loan-mcp": {
      "url": "https://cmbs.loan/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "cmbs-loan-mcp": {
      "serverUrl": "https://cmbs.loan/mcp"
    }
  }
}

Let your agent find its tools

Find servers like cmbs.loan MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run cmbs.loan MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing