Gated three-step chain for agency mortgage decisioning. Step 1 checks the FHFA 2026 conforming loan limit to classify the loan as conforming, super-conforming, or jumbo. Step 2 verifies agency eligibility against the Fannie Mae DU / Freddie Mac LPA eligibility matrix including DTI caps, LTV/CLTV/HCLTV by occupancy and purpose, and multi-unit limits. A §21.4 gate at Step 2 exits immediately when the loan is ineligible for agency delivery, avoiding unnecessary LLPA computation. If eligible, Step 3 computes the full LLPA stack from the Fannie Mae public matrix (FICO by LTV base grid, purpose adjustments, FTHB AMI waiver).
skipped_by_gate in the run artifact.check_conforming_loan_limit{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_conforming_loan_limit",
"arguments": {
"loan_amount": 650000,
"units": 1,
"state": "TX",
"high_cost_county": false,
"loan_program": "Conventional"
}
},
"id": 1
}
check_agency_eligibility_matrix{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_agency_eligibility_matrix",
"arguments": {
"loan_purpose": "purchase",
"occupancy": "primary",
"units": 1,
"ltv_pct": 80.0,
"cltv_pct": 80.0,
"hcltv_pct": 80.0,
"dti_pct": 42.0,
"au_system": "du"
}
},
"id": 2
}
compute_llpa_stack{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "compute_llpa_stack",
"arguments": {
"fico": 740,
"ltv_pct": 80.0,
"loan_purpose": "purchase",
"occupancy": "primary",
"property_type": "single_family",
"fthb": false,
"ami_pct": 100
}
},
"id": 3
}
Copy this paragraph into Claude, OpenClaw, or any MCP-aware agent to run this whole workflow on the server and check one field that answers a real question.
Question: The borrower sits just inside our FICO and LTV limits. Where does agency eligibility actually decline this file?
Run the AINumbers MCP tool `run_chain` with {"chain":"mortgage-agency-pricing-and-eligibility"} and read `art-222-agency-eligibility-matrix.eligible_flag`.
Re-run with `inputs` for `art-222-agency-eligibility-matrix`, reusing the values that result echoed, with `fico_score` changed so the FICO score is 580. Compare the same field.
Verify: call `verify_execution_hash` (https://mcp.ainumbers.co/mcp) with `claimed_hash` set to `composite_execution_hash` and the full `composite_artifact`.
Ledger, for a human re-check: https://ledger.ainumbers.co/
PII rule: send synthetic or anonymised inputs only. The MCP server runs these kernels and logs no payloads.
Chain page: https://ainumbers.co/chaingraph/chains/mortgage-agency-pricing-and-eligibility.html