cmbs.news: CMBS loan data
listed under this name in a public catalogue; the server gives only its address, cmbs.news
Registry code: 5925318198c64429
cmbs.news: loan-level data on the loans in public CMBS trusts that file with the SEC (about 12,000 loans, $280B), read monthly from Form ABS-EE Schedule AL and Form 10-D trustee reports. Single-asset (SASB) and other private deals do not file, so they are not included.
Use search_loans to find loans by property, city, status, type, state, metro, tenant or maturity; get_loan for one loan's record and the special servicer's comment facts; get_trust for a trust's parties, bond classes (CUSIPs, credit support) and losses; distress_index for monthly delinquency and special-servicing rates; wire for…
- endpoint
- https://cmbs.news/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is cmbs.news: CMBS loan data live?
- Yes — it answered the hub's last check (checked 39m ago). It answered 100% of checks over the last 30 days.
- Is cmbs.news: CMBS loan data free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does cmbs.news: CMBS loan data have?
- 12 tools: search_loans, get_loan_parties, get_loan_history, tenant_exposure, find_cusip, about, get_loan, get_trust, ….
- Is cmbs.news: CMBS loan data safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 12 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
list_trusts open 39m ago
Public CMBS trusts, most distressed first (share of balance delinquent or with the special servicer), optionally filtered by name.
{ "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Name fragment, e.g. \"Benchmark\" or \"2021\"" }, "limit": { "type": "number", "description": "Up to 25 free, 400 with a Pro or Team key" } }, "additionalProperties": false }arguments 15 linescomps open 39m ago
Single-property CMBS loans as comparables: revenue, operating expenses, NOI (and each per square foot), expense ratio, occupancy, DSCR and valuations, filtered by type, metro, state, size and year built, with medians.
{ "type": "object", "required": [], "properties": { "cbsa": { "type": "string", "description": "Census CBSA metro code" }, "type": { "enum": [ "office", "retail", "multifamily", "lodging", "industrial", "mixed-use", "self-storage", "manufactured-housing", "healthcare", "other" ], "type": "string", "description": "Property type" }, "limit": { "type": "number", "description": "Up to 25 free, 400 with a Pro or Team key; the medians always cover every match" }, "state": { "type": "string", "description": "Two-letter state code" }, "max_sqft": { "type": "number", "description": "Maximum square feet" }, "min_sqft": { "type": "number", "description": "Minimum square feet" }, "built_after": { "type": "number", "description": "Year built at or after" } }, "additionalProperties": false }arguments 47 linesdistress_index open 39m ago
The cmbs.news distress index: monthly delinquency, special-servicing and matured-unpaid rates (balance-weighted, every public trust), plus current rates by property type, vintage, property type by vintage and state, and this month's transfers in and out of special servicing. Open data under CC BY 4.0.
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linessearch_loans unknown never probed
Find loans in public CMBS trusts. All filters are optional and combine. Returns the loans (largest first by default), the total count and balance.
{ "type": "object", "required": [], "properties": { "q": { "type": "string", "description": "Word starts in the property name, street address, ZIP, city, metro, state, property type or trust name, e.g. \"times square\", \"825 Eighth Avenue\" or \"houston office\"" }, "cbsa": { "type": "string", "description": "Census CBSA metro code, e.g. 35620 for New York" }, "sort": { "enum": [ "balance", "maturity", "dscr", "transfer" ], "type": "string", "description": "Order" }, "type": { "enum": [ "office", "retail", "multifamily", "lodging", "industrial", "mixed-use", "self-storage", "manufactured-housing", "healthcare", "other" ], "type": "string", "description": "Property type" }, "limit": { "type": "number", "description": "Results per call: up to 10 free, 100 with a Pro or Team key" }, "state": { "type": "string", "description": "Two-letter state or territory code" }, "trust": { "type": "string", "description": "Only loans in this trust, by slug, e.g. \"benchmark-2018-b8\"" }, "offset": { "type": "number", "description": "For paging: free stops at the first 25 results; Pro and Team page through everything" }, "status": { "enum": [ "special_servicing", "delinquent", "distressed", "watch", "matured_unpaid", "current" ], "type": "string", "description": "Loan condition" }, "tenant": { "type": "string", "description": "A tenant named among the three largest, e.g. \"Walgreens\"" }, "vintage": { "type": "string", "description": "Origination year, e.g. \"2021\"" }, "max_dscr": { "type": "number", "description": "Maximum latest DSCR, e.g. 1.0" }, "max_rate": { "type": "number", "description": "Maximum current interest rate, as a fraction or percent" }, "min_dscr": { "type": "number", "description": "Minimum latest DSCR, e.g. 1.25" }, "min_rate": { "type": "number", "description": "Minimum current interest rate, as a fraction or percent: 0.05 or 5" }, "originator": { "type": "string", "description": "Originator, or part of the name, e.g. \"Wells Fargo\"" }, "max_balance": { "type": "number", "description": "Maximum balance in dollars" }, "min_balance": { "type": "number", "description": "Minimum balance in dollars" }, "max_occupancy": { "type": "number", "description": "Maximum latest occupancy, as a fraction or percent" }, "min_occupancy": { "type": "number", "description": "Minimum latest occupancy, as a fraction or percent: 0.8 or 80" }, "maturing_after": { "type": "string", "description": "YYYY-MM or YYYY-MM-DD" }, "maturing_before": { "type": "string", "description": "YYYY-MM or YYYY-MM-DD" }, "special_servicer": { "type": "string", "description": "Trust's special servicer: finds loans in trusts whose general special servicer is this name, or part of it, e.g. \"Rialto\". A given loan may be serviced by someone else" } }, "additionalProperties": false }arguments 125 linesget_loan_parties unknown never probed
Pro and Team: the guarantors, named parties and contacts SEC filings give for one loan (prospectus Annex A-1, the trust's 10-D), each with a link to its filing. Without a key it says how many are on file and how to get them.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "The loan slug: the last part of its cmbs.news URL, from search_loans" } }, "additionalProperties": false }arguments 13 linesget_loan_history unknown never probed
Pro and Team: every monthly report for one loan back to its first filing (late 2016 at the earliest): balance, payment status, special servicing, workout strategy, modification, coverage and occupancy. Without a key it says how to get it; the loan page shows the last six months.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "The loan slug: the last part of its cmbs.news URL, from search_loans" } }, "additionalProperties": false }arguments 13 linestenant_exposure unknown never probed
Every loan in the data where a tenant is among the three largest at the property, with balance, status, coverage and lease end where it is the largest tenant. With no tenant, lists the tenants with the most CMBS exposure.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Tenants or loans listed: up to 25 free, 400 with a Pro or Team key" }, "tenant": { "type": "string", "description": "Tenant name, e.g. \"Walgreens\", \"Dollar Tree\", \"WeWork\"" } }, "additionalProperties": false }arguments 15 linesfind_cusip unknown never probed
Look up a CMBS certificate class by CUSIP: its trust, coupon, original and current balance, principal paid, realized losses and credit support from the latest trustee report.
{ "type": "object", "required": [ "cusip" ], "properties": { "cusip": { "type": "string", "description": "9-character CUSIP" } }, "additionalProperties": false }arguments 13 linesabout unknown never probed
Coverage, as-of dates, counts, the headline index, plan limits, license and links (docs, OpenAPI, changelog).
{ "type": "object", "required": [], "properties": {}, "additionalProperties": false }arguments 6 linesget_loan unknown never probed
One loan: terms, status, coverage, occupancy, the three largest tenants, watch flags, every trust holding a piece, and from the trustee report the special servicer's comment facts, appraisal reduction and advances. The special servicer is named only when one trust holds the whole loan and its report names one. A Pro or Team key adds the 12-month history, the operating statement, the rent roll detail, the servicer comment excerpt and modification terms.
{ "type": "object", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "The loan slug: the last part of its cmbs.news URL, from search_loans" } }, "additionalProperties": false }arguments 13 linesget_trust unknown never probed
A trust (deal) by slug or name fragment: balance and distress, parties (master and special servicer, directing certificateholder, operating advisor, trustee), every certificate class with CUSIP, coupon, balance, losses and credit support, and liquidated loans with loss severity.
{ "type": "object", "required": [ "trust" ], "properties": { "trust": { "type": "string", "description": "Trust slug like \"benchmark-2018-b8\" or a name fragment like \"BANK 2019-BNK16\"" } }, "additionalProperties": false }arguments 13 lineswire unknown never probed
The latest monthly Wire: loans transferred to or returned from special servicing, newly delinquent, moved deeper into delinquency, new appraisal reductions, liquidations with losses, and special servicer updates, largest first. A Pro or Team key adds the comment excerpts.
{ "type": "object", "required": [], "properties": { "limit": { "type": "number", "description": "Items per section: default 10 free and 25 with a key, up to 25 free and 400 with a Pro or Team key" }, "section": { "enum": [ "transfers", "returns", "delinquent", "worse", "appraisals", "liquidations", "updates" ], "type": "string", "description": "One section only" } }, "additionalProperties": false }arguments 24 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id5925318198c64429.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/5925318198c64429/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/5925318198c64429?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.