Commercial mortgage programs, rates and loan sizing for AI assistants

Connect Claude, ChatGPT or another assistant and it can match a deal to 27 commercial mortgage programs, quote each program's published limits with their sources, price programs at today's index, size a loan and estimate a prepayment penalty, all from this site. 9 tools, free, read-only, no key. The same data is a plain JSON API.

What an assistant can answer with it

Three questions a borrower might ask in a row about one deal (the figures are an illustration), and the tool that answers each:

  1. match_programs: "A 32-unit garden apartment, about $6.2 million value, $410K NOI, cash-out refinance of a loan that matures next spring. Which programs can take this, and which drop out?"
  2. size_loan: "Same building. What is the largest loan a bank, an agency lender and a life company would each size it to, and which test caps each one?"
  3. prepayment_estimate: "The current loan is $3.8 million at 4.25% with a yield maintenance clause and 14 months left. Roughly what does paying it off today cost?"

Connect it

One URL, Streamable HTTP, read-only: https://commercial.mortgage/mcp

ClientWhereWhat goes in
Claude (web and desktop)Settings > Connectors > Add custom connectorThe server URL; leave authentication off
Claude CodeTerminal
claude mcp add --transport http commercial-mortgage https://commercial.mortgage/mcp
ChatGPTSettings > Apps and Connectors (Developer mode on, under Advanced) > CreateThe server URL, authentication "none"
PerplexitySettings > Connectors > Add custom connector > MCPThe server URL, no authentication
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "commercial-mortgage": {
      "url": "https://commercial.mortgage/mcp"
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "commercial-mortgage": {
      "type": "http",
      "url": "https://commercial.mortgage/mcp"
    }
  }
}
Gemini CLI~/.gemini/settings.json
{
  "mcpServers": {
    "commercial-mortgage": {
      "httpUrl": "https://commercial.mortgage/mcp"
    }
  }
}

App menus get renamed. If a path above has moved, search the app's settings for "MCP" or "connector".

Tools

ToolWhat it returnsTry asking
size_loanThe largest loan a property supports under a lender type’s LTV, DSCR and debt-yield limits, which test binds, the payment and the resulting ratios. Same math as the loan sizer; leave out the lender type to compare all five.How big a life company loan can I get on a $5 million property with $350,000 of NOI?
get_rates_by_lender_typeIndicative rate ranges for banks, life companies, CMBS, agency and debt funds: the index today plus a dated, named spread range.What are commercial mortgage rates today by lender type?
get_spreads_by_property_typeSpreads over the 10-year Treasury for multifamily, industrial, retail and office loans (CRED iQ), with the rate at today’s 10-year.How much more do office loans cost than other property types?
get_index_ratesThe 5-, 7- and 10-year Treasury, SOFR, 30-day average SOFR and prime, with dates and the week’s change.Where are the 10-year Treasury and SOFR today?
match_programsRanks the 27 programs for a deal (property, units, purpose, loan, value, NOI, occupancy, credit, timeline, recourse, special conditions): reasons and cautions for each, today’s indicative rate, the largest loan each program’s published limits allow, the layers that can fill a gap, and what was ruled out and why. Same rules as the matcher page.I want to refinance a 24-unit building worth $3.5 million with $240K of NOI into a $2.4 million loan, ideally non-recourse. Which programs fit?
program_rulesOne program’s published limits (loan size, LTV, LTC, DSCR, debt yield, term, amortization, timeline), recourse, prepayment and who it fits, each figure with its as-of date and primary source.What are the limits on a Fannie Mae small loan, and where do they come from?
compare_programsTwo or three programs side by side on rate today, size, leverage, coverage, term, recourse, prepayment and speed, with the head-to-head page when the site has one.Compare an FHA 223(f) loan with a Fannie Mae DUS loan.
get_ratesToday’s indicative rate for every program with a published spread (6 of 27 today), lowest first, filterable by property, purpose or family. Programs without a public spread are listed, not guessed.What is the cheapest commercial mortgage program for an industrial building today?
prepayment_estimateFannie Mae and Freddie Mac yield maintenance, CMBS yield maintenance, a defeasance estimate, Fannie Mae step-down schedules and the SBA 504 debenture premium, with the Treasury yield preloaded from today’s readings.What would it cost to prepay a $5 million Fannie Mae loan at 6.5% with seven years of yield maintenance left?

Every program figure a tool returns carries its fact id, as-of date and primary source (Fannie Mae, Freddie Mac, HUD, SBA, eCFR, SEC filings and others). A limit no verified source publishes comes back as null, and a program with no public spread gets no rate, so an assistant never repeats a guess. The program tools read the same rules file as the program matcher and the program pages.

JSON API

No key, open to cross-origin calls, edge-cached for about 15 minutes. Full schema: /openapi.json (OpenAPI 3.1).

EndpointReturns
GET /api/programsEvery program with its published limits (each figure with fact id, as-of date and source) and today’s indicative rate. Filters: property, purpose, family, lender_type, recourse, loan_amount.
GET /api/programs/{slug}One program, e.g. /api/programs/fha-223f-loans.
GET or POST /api/matchThe program matcher: property, purpose and loan_amount required; units, value, cost, noi, occupancy, credit, timeline, recourse, existing_loan, existing_balance, existing_payment and the condition flags optional.
GET /api/ratesThe six index series the site prices from, with dates and week-ago values.
GET /api/live?ids=UST10,SOFRAny portfolio series with week-ago and month-ago points and optional history.
POST /mcpThe MCP server above (Streamable HTTP, JSON-RPC 2.0).

Example: /api/match?property=multifamily&units=24&purpose=refinance&loan_amount=2400000&value=3500000&noi=240000&recourse=preferred

Discovery file: /.well-known/mcp.json. For bulk use, the spread tables download free as CSV and JSON, and the index rates are a JSON call, on Data and API. How every figure is built: methodology.

License and attribution

Treasury and Federal Reserve data are public domain. The compilation is CC BY 4.0: credit "Data: Commercial.Mortgage (commercial.mortgage)" with a link. SOFR carries the New York Fed's terms of use. Commercial.Mortgage is published by Janover Capital LLC, a commercial mortgage advisor, not a lender. Nothing returned is a quote, a loan offer or advice.

Questions or a data error: hello@commercial.mortgage. Privacy and terms.

Questions people ask

Do I need an account or a key to use it?

Neither. Anyone can call the tools and the JSON endpoints, and nothing they do can change data on this site. When an assistant repeats a figure, it should name the source and date that came back with it, or link the commercial.mortgage page it came from.

Where do the numbers come from?

Index rates come from the U.S. Treasury, the New York Fed and the Federal Reserve’s H.15 release, read from the same database as the rate board on this site. Spread ranges and sizing limits come from the named, dated sources on the methodology page.

How current are the program rules?

Each figure carries the date of the source it was read from, and the rules file records when it was built. Rates are repriced at request time from the live index; the program limits change only when a source does and a verifier re-reads it.

Is an answer a quote or a loan offer?

No. Rates are indications built from public data and loan sizes are estimates from the inputs given. A lender prices and sizes each loan on its own underwriting.