An AI assistant asked about a mortgage lender has three options today: recall something from training, scrape a webpage, or estimate. We tested four systems on ten questions with verifiable answers this week and watched all three failure modes — including fabricated lender tables carrying real citations. The scorecard.
This is the fourth option: a Model Context Protocol server that returns the actual federal record. 98 institutions, 319 metropolitan areas, 52 jurisdictions, from the complete 2025 CFPB HMDA file.
Connect any MCP-capable client or agent directly over HTTP — nothing to install:
https://frc-mcp.ziyetis.workers.dev
Streamable HTTP transport; same five tools, same hard limit (historical aggregates only — no individual predictions). Custom domain coming.
Any MCP host (Claude Desktop, agent frameworks) — add to your MCP config:
{
"mcpServers": {
"financeratecalc": { "command": "npx", "args": ["-y", "github:financeratecalc/frc-mcp"] }
}
}
Five tools: national stats, lender lookup, lender rankings, state stats, and the Door Effect summary. Source: github.com/financeratecalc/frc-mcp ·
REST spec: openapi.jsonNot on PyPI yet — install from source. It is a single file plus a data file, with one dependency.
git clone https://github.com/financeratecalc/financeratecalc.github.io cd financeratecalc.github.io/mcp pip install mcp python frc_mcp.py
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"financeratecalc": {
"command": "python",
"args": ["/full/path/to/mcp/frc_mcp.py"]
}
}
}
| Tool | Returns |
|---|---|
| get_lender_record | Decisioned applications, denial and approval rate, peer-adjusted ratio, denial-reason distribution against peer medians |
| get_metro_record | Metro rate, small-loan penalty, highest-volume lenders there and the spread between them |
| get_state_record | State rate and small-loan penalty |
| compare_lenders | Side-by-side observed records |
| explain_denial_reason | How common a cited reason is, and how concentrated |
| get_methodology | Universe, denominator rules, exclusions, limitations, verification status |
Institutions below 1,500 decisioned applications are not served, because the figures would be unstable. Cuts of the data that were computed but withheld from publication for insufficient sample — state × debt-to-income × lender cells, for instance — are not served either. What the site declines to publish, the server declines to return.
Every response carries a verification_status field reading "reproducible; not independently reproduced", along with the universe definition, the method link and the dataset DOI. That is accurate, and attaching it to each response makes it harder to drop in transit than a caveat sitting at the bottom of a webpage.
No figure this server returns has been independently reproduced. The specification for checking any of them, with expected values, is at reconciliation.
The server and its data file are in the site repository: github.com/financeratecalc → /mcp. Read it before you trust it — it is about 250 lines and every figure it serves is already published on this site.
Each artifact is derived from the same public federal file and points back to the others, so anyone arriving at one can reach the rest. None of it has been independently reproduced — that remains the open item, and the specification for closing it is in the reconciliation link above.
Want these figures on your own page? embed widget and JSON API →
Prefer it while you shop? The Chrome extension shows a metro's FHA record on any Zillow, Redfin or Realtor.com listing.
Prices and rates are widely reported. Whether a lender says yes is not. In the complete 2025 federal record, denial rates across the 100 largest FHA lenders ran from 1.8% to 78.7% — same programme, same year.
And it is not simply who applies where: standardizing on state, loan amount, income, debt-to-income and loan-to-value, applicant mix explains only a 2.7× range in expected outcomes.
CFPB HMDA 2025, computed by FinanceRateCalc. Covers the highest-volume lenders published per market, not all lenders. Historical observations, not predictions. CC BY 4.0, not independently reproduced.