Skip to main content Skip to footer

LoanGlass MCP Server

Live Mortgage Rates Inside ChatGPT and Claude

LoanGlass For AI Assistants

What It Is

LoanGlass gives AI assistants live mortgage rate data from more than 800 US lenders, over the Model Context Protocol (MCP).

Published sources give you an average. LoanGlass gives you the distribution: what the cheap end of the market charges, the median, how far apart they are, and where one specific quote sits among them. Percentiles and lender counts are not available from any published source.

Endpoint https://mcp.loanglass.com/mcp
Transport Streamable HTTP
Authentication None
Tools 1 — mortgage_rates
Rate limit 300 requests per minute per client address
Health GET https://mcp.loanglass.com/health

Why There Is No Sign-In

An assistant that cannot reach a connector does not tell you. It answers from the open web instead, and for mortgages that usually means a published national average — the one number this service exists to improve on. Every sign-in step makes that more likely, so there are none. The same rate data is already public on loanglass.com.

Connecting

Claude (Web Or Desktop)

Add a custom connector and paste https://mcp.loanglass.com/mcp. No authentication.

Claude Code

claude mcp add --transport http loanglass https://mcp.loanglass.com/mcp

ChatGPT

Turn on developer mode, create a connector with the URL above, and set authentication to none.

Other Clients

Clients that accept a configuration file:

{ "mcpServers": { "loanglass": { "type": "http", "url": "https://mcp.loanglass.com/mcp" } } }

Clients that only speak stdio can bridge to it with npx mcp-remote https://mcp.loanglass.com/mcp.

Calling It Directly

curl https://mcp.loanglass.com/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"mortgage_rates","arguments":{"state":"Ohio","myRate":6.75}}}'

The reply arrives as a stream with one data: line. tools/list returns the machine-readable schema and is the authoritative version of this page.

What To Ask

You talk to your assistant; it decides when to call LoanGlass.

  • “I was quoted 6.75% in Ohio — is that any good?”
  • “What are mortgage rates right now?”
  • “Is 5.99% competitive on a 15-year in Florida?”
  • “Am I being overcharged? I’m paying one point.”
  • “How much could I save by shopping around on a $600k loan?”

The Tool: mortgage_rates

One tool, two kinds of answer. Leave out myRate and you get a picture of the market. Include it and you also get a verdict on that specific quote.

Parameters

Every parameter is optional. {} returns the national 30-year fixed picture.

Name Type Default Notes
loanType string 30-Year Fixed One of the loan types below.
state string national Full name or two-letter code — Ohio or OH.
purchaseType string New Purchase New Purchase or Refinance.
propertyType string Single-Family Home The only covered value.
occupancy string Primary Residence The only covered value.
points string Zero Points Pass the borrower’s actual points if they pay any.
myRate number none A quoted rate as a percentage, e.g. 6.75.
loanAmount number 400000 Used to show differences in dollars per month.
termYears integer from loanType Leave unset. A 15-Year Fixed uses 15; ARMs use 30.

Accepted Values

Matching ignores case, spacing and punctuation, so 30 year fixed and refinance both work.

Loan types

30-Year Fixed20-Year Fixed15-Year Fixed10-Year Fixed30-Year Fixed Jumbo20-Year Fixed Jumbo15-Year Fixed Jumbo30-Year Fixed VA30-Year Fixed FHA10/1-Year ARM10/6-Month ARM7/1-Year ARM7/6-Month ARM5/1-Year ARM5/6-Month ARM3/1-Year ARM

Points

Zero Points0-1% Points1-2% Points2-3% Points3%+ PointsAny Points

Any Points mixes rates bought down with points and rates at par, and the response warns about it.

Recognised But Not Covered

These are real products that too few lenders publish to describe a market.

Parameter Not covered Answer instead on
purchaseType Cash-Out Refinance, Construction Refinance
propertyType Condominium, Multi-Family Home, Manufactured Home, Land Single-Family Home
occupancy Secondary Residence, Investment Property Primary Residence

Coverage is deepest for fixed-rate, new-purchase, single-family, primary-residence loans. Small states can fall below the reporting floors for less common loan types.

Responses

A Full Answer

Field Meaning
found true
as_of Date the underlying rates were observed.
basis Every assumption echoed back, including the observation window.
coverage lenders_reporting, rates_observed, confidence.
distribution p10_pct, median_pct, p90_pct, spread_bps, spread_monthly_usd and observed_range.
your_rate Only when myRate is supplied. See below.
summary The whole answer in plain English, disclaimer included.
disclaimer Standing text.

your_rate contains percentile, lenders_cheaper, bps_vs_median, bps_vs_cheapest, monthly_vs_p10_usd, a plain-English verdict, and three fields about rounding: lenders_at_this_price_point, percentile_if_one_notch_higher and clustering_note.

Too Few Lenders To Describe A Market

Fewer than 10 lenders: sufficient_for_statistics: false and observed_rates_pct in place of distribution. The summary tells the assistant to widen the query rather than present a range.

No Lender Publishes The Combination

found: false with a suggestion. This is an answer, not an error.

A Value That Isn’t Valid

No query is run. error: "invalid_argument" and a problems list, one entry per bad parameter:

  • reason: "unrecognised" — a naming problem. Includes did_you_mean and valid_values.
  • reason: "not_yet_covered" — a real product with too little data. Includes advice and covered_values. Call again on the covered value and tell the user which basis was used.

Temporarily Unavailable

error: "temporarily_unavailable" with retry_suggested: true. This covers both outages and planned maintenance. The summary explicitly tells the assistant not to substitute a figure from another source.

Rate Limited

HTTP 429.

Reading The Numbers

  • Percentiles count lenders, not rows. Each lender counts once, at their best offer, so a lender publishing many rates cannot tilt the result.
  • The headline spread is the 10th to the 90th percentile. One lender running a teaser rate would otherwise double what shopping around appears to be worth. The raw lowest and highest rates are in observed_range, labelled as observed rather than achievable.
  • Lenders price in eighths, so many sit on exactly the same rate. A quote just under a crowded price point can move many percentile places for a tiny change. clustering_note says when that applies.
  • Confidence: with 30 or more lenders you get everything. From 10 to 29 there is no percentile and no verdict. Below 10 there is no median either.
  • Verdict bands (30+ lenders only): up to the 10th percentile excellent, up to the 30th good, up to the 55th reasonable, up to the 80th below average, above that poor.
  • Monthly payment figures use the term implied by the loan type. ARMs are modelled over 30 years, because “7/1” is how long the rate is fixed, not how long the loan runs.

Example

Arguments {"state": "Ohio", "myRate": 6.75} — response, trimmed:

{
  "found": true,
  "as_of": "2026-09-11",
  "coverage": { "lenders_reporting": 64, "rates_observed": 76, "confidence": "high" },
  "distribution": {
    "p10_pct": 6.500, "median_pct": 6.875, "p90_pct": 7.375,
    "spread_bps": 88, "spread_monthly_usd": 234,
    "observed_range": { "lowest_pct": 6.000, "highest_pct": 8.000 }
  },
  "your_rate": {
    "rate_pct": 6.75, "percentile": 38, "lenders_cheaper": 24,
    "bps_vs_median": -12, "bps_vs_cheapest": 75, "monthly_vs_p10_usd": 66,
    "verdict": "reasonable - a little better than the middle of the market",
    "lenders_at_this_price_point": 9, "percentile_if_one_notch_higher": 52
  }
}

About The Data

  • Source. Rates lenders advertise on their own websites, collected daily by around 300 collectors.
  • Freshness. Each lender’s most recent rate within the last five days. as_of is the date observed.
  • What it is not. Advertised rates are indicative, not offers, and not financial advice. A borrower’s actual rate depends on credit, loan-to-value, points and property.
  • No paid placement. Nothing sponsored influences what this returns.

Privacy

LoanGlass never receives your conversation — only the arguments the assistant chose to send. Each call records those arguments, the assistant’s name and version, a session id, timing and the outcome. None of that identifies a person.

Service Status

GET /health returns {"status":"ok","answering":true}. answering: false means the service has been switched off deliberately, and every question receives a stated maintenance response rather than a dead connection.

Check Service Status Compare Today’s Rates

Rates are advertised by lenders on their own websites and observed by LoanGlass on the date shown. They are indicative, not offers.

DISCLAIMER: LoanGlass (previously known as mortgage-rates.ai) is an independent information platform created to promote greater transparency in the mortgage market for the benefit of borrowers. LoanGlass is not a lender, mortgage broker, or financial advisor, and is not registered with the Nationwide Mortgage Licensing System (NMLS). Nothing contained on this website shall be construed as an offer to lend, solicit, or extend credit of any kind.

The mortgage rates displayed on this site are collected daily from publicly available sources provided by more than 800 lenders. LoanGlass does not receive compensation for listing these rates, and all rates are presented as published by the respective lenders. While every effort is made to ensure accuracy, the information may contain errors or omissions. Mortgage rates are highly dependent on an individual’s financial circumstances, credit profile, loan terms, and other factors. As such, the rates you are quoted directly by a lender may differ materially from the rates displayed here.

Users should contact lenders directly to obtain formal, binding loan offers. If you identify any discrepancies in the data or would like to have your institution’s rates included, please contact us at content@loanglass.com.

All logos, trademarks, and brand names appearing on this website are the property of their respective owners.

We use cookies and similar technologies to improve your experience, analyze site usage, and deliver personalized content. By clicking "Accept", you agree to the storing of cookies on your device in accordance with our Privacy Policy. You can manage your cookie preferences at any time.