Gated two-step chain for CARD Act ability-to-pay compliance. Step 1 runs the §1026.51 ATP check, applying the DTI threshold (45%), the under-21 independent-income restriction, and the penalty fee safe harbor ($32 first / $43 subsequent; CFPB $8 rule vacated January 17, 2025). A §21.4 gate checks atp_passes: if the applicant passes, the chain exits immediately with an approved decision. For applicants who fail ATP, Step 2 builds the required adverse action notice per Reg B §1002.9, providing SHAP-ranked factor codes for the denial.
check_card_act_ability_to_pay{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "check_card_act_ability_to_pay",
"arguments": {
"applicant_age": 25,
"annual_income": 45000,
"total_assets": 12000,
"monthly_housing_payment": 1200,
"monthly_debt_obligations": 500,
"requested_credit_limit": 3000,
"has_cosigner": false,
"minimum_payment_pct": 2.0,
"violation_tier": "first"
}
},
"id": 1
}
build_adverse_action_notice{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "build_adverse_action_notice",
"arguments": {
"action_taken": "denied",
"creditor_name": "Acme Bank",
"notice_date": "2026-07-04",
"factor_codes": [
{"rank": 1, "code": "08", "source": "fico", "shap_value": -0.38},
{"rank": 2, "code": "14", "source": "fico", "shap_value": -0.27}
],
"credit_score_used": true,
"credit_score_value": 601,
"credit_score_model": "FICO Score 8",
"credit_score_range_min": 300,
"credit_score_range_max": 850
}
},
"id": 2
}
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: An applicant under 21 applied with no income and no cosigner. What must change before we open the account?
Run the AINumbers MCP tool `run_chain` with {"chain":"card-act-ability-to-pay"} and read `art-233-check-card-act-ability-to-pay.requires_cosigner`.
Re-run with `inputs` for `art-233-check-card-act-ability-to-pay`, reusing the values that result echoed, with `has_cosigner` set to true. 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/card-act-ability-to-pay.html