Methodology
Official federal data published methodology reproducible calculation FinanceRateCalc interpretation
We are not the source. We are the layer that makes the source usable — and every step above is checkable.
Open source · MCP · CC BY 4.0

Let an agent query the federal record instead of guessing at it.

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.

Install

pip install frc-mcp

Claude Desktop — add to claude_desktop_config.json:

{
  "mcpServers": {
    "financeratecalc": {
      "command": "python",
      "args": ["-m", "frc_mcp"]
    }
  }
}

Tools

ToolReturns
get_lender_recordDecisioned applications, denial and approval rate, peer-adjusted ratio, denial-reason distribution against peer medians
get_metro_recordMetro rate, small-loan penalty, highest-volume lenders there and the spread between them
get_state_recordState rate and small-loan penalty
compare_lendersSide-by-side observed records
explain_denial_reasonHow common a cited reason is, and how concentrated
get_methodologyUniverse, denominator rules, exclusions, limitations, verification status

What it will not do

There is no endpoint that takes borrower details and returns an approval probability, and there will not be one. This server returns observed counts and rates from a federal file. It does not rate, score, rank by quality, or recommend institutions, and denial rates reflect applicant composition as well as lender practice.

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.

Verification status travels with the number

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.

Source

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.

The full record — every artifact, one place
Data · Zenodo, DOI 10.5281/zenodo.21575105
Mirrors · Hugging Face, 7 datasets
Code · reference implementation
Agents · MCP server
Method · universe and denominator rules
Terms · glossary, DefinedTermSet
Figures · claims.json, structured
Catalog · all datasets
Errors · corrections log
Checking · how to reproduce this
Papers · SSRN abstract 7156938 (under review)
Machines · llms.txt

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.