Beta

API and MCP reference

Every tool and its inputs, options, answers, errors and limits.

Read-only tools, available two ways: POST https://www.jmaclending.com/api/v1/tools/{tool} and the MCP server at https://www.jmaclending.com/mcp. Both use the same inputs and checks, and return the same answers. No sign-in or key. They change nothing and accept no personal information: unknown fields are rejected. Answers contain no rate, price, fee or compensation.

For licensed mortgage professionals. Not an advertisement to consumers, a loan offer, a rate quote or a commitment to lend. Answers may be inaccurate or out of date; verify with JMAC. All loans are subject to underwriting approval.

Check which JMAC programs fit

  • API POST /api/v1/tools/check_scenario
  • MCP tool jmac_check_scenario
  • Read-only, uses the pricing engine

Checks a mortgage scenario against JMAC Lending's wholesale programs (non-QM, jumbo, closed-end seconds, and agency when loanType is agency) and returns which programs take it, why each fits, the room left, near misses with the limit they missed and the change that would fix them, and choices that open more programs. Use it when a mortgage professional asks which JMAC programs or loans fit a scenario, or whether JMAC can do a loan. It returns no rates, prices, fees or compensation. headline is a one-line answer; near misses may carry a fix the broker can check, which the tool never applies on its own. checkedAs says back how the scenario was read, with any assumed values (no prepay, one unit, investment occupancy for DSCR) marked. A missing field comes back as one question for the broker, with each field's choices; the tool never fills in the score, value, loan amount or documentation type. The tool takes numbers and choices only, never names, addresses or loan numbers.

Example

API

curl https://www.jmaclending.com/api/v1/tools/check_scenario \
  -H "Content-Type: application/json" \
  -d '{"lien":"first","purpose":"purchase","occupancy":"investment","propertyType":"sfr","state":"AZ","zip":"85016","value":640000,"loanAmount":480000,"fico":720,"docType":"dscr","dscr":1.1,"citizenship":"us","rental":"short"}'

MCP (tools/call)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "jmac_check_scenario",
    "arguments": {
      "lien": "first",
      "purpose": "purchase",
      "occupancy": "investment",
      "propertyType": "sfr",
      "state": "AZ",
      "zip": "85016",
      "value": 640000,
      "loanAmount": 480000,
      "fico": 720,
      "docType": "dscr",
      "dscr": 1.1,
      "citizenship": "us",
      "rental": "short"
    }
  }
}

Inputs

FieldRequiredTakesMeaning
lienRequiredone of: first = First mortgage; second = Closed-end secondFirst mortgage, or a closed-end second behind a first the borrower keeps.
loanTypeOptionalone of: nonagency = Non-agency; agency = AgencyLeft out: non-agency (non-QM, jumbo and seconds).
programsAgency onlya list (1 to 4) of: conventional = Conventional; fha = FHA; fha-dpa = FHA with down payment assistance; va = VA; usda = USDAAgency programs to check. Left out: conventional and FHA.
manualAgency onlytrue or falseA manual underwrite (FHA or USDA only).
purposeRequiredone of: purchase = Purchase; rate-term = Rate/term refinance; cash-out = Cash-out refinanceLoan purpose.
occupancyRequiredone of: primary = Primary residence; second = Second home; investment = Investment propertyHow the borrower uses the property.
propertyTypeRequiredone of: sfr = Single family; condo = Condo; pud = Townhome or PUD; multi = 2-4 units; multi58 = 5-8 units; mixed = Mixed use (2-8 units)Property type.
unitsRequired for 2-8 unitsa whole number from 1 to 8Units: 1 for single family, condo or PUD (assumed when left out); 2 to 4 for multi; 5 to 8 for multi58; 2 to 8 for mixed.
stateRequiredone of: AL = AL; AK = AK; AZ = AZ; AR = AR; CA = CA; CO = CO; CT = CT; DE = DE; DC = DC; FL = FL; GA = GA; HI = HI; ID = ID; IL = IL; IN = IN; IA = IA; KS = KS; KY = KY; LA = LA; ME = ME; MD = MD; MA = MA; MI = MI; MN = MN; MS = MS; MO = MO; MT = MT; NE = NE; NV = NV; NH = NH; NJ = NJ; NM = NM; NY = NY; NC = NC; ND = ND; OH = OH; OK = OK; OR = OR; PA = PA; RI = RI; SC = SC; SD = SD; TN = TN; TX = TX; UT = UT; VT = VT; VA = VA; WA = WA; WV = WV; WI = WI; WY = WYTwo-letter state of the property.
zipRequiredfive digitsFive-digit ZIP of the property, in that state.
valueRequireda whole number from 50,000 to 30,000,000Property value or purchase price, whole dollars.
loanAmountRequireda whole number from 25,000 to 20,000,000Loan amount, whole dollars; not more than value.
firstLienRequired for a second; refused for a firsta whole number from 0 to 20,000,000Balance of the first mortgage the borrower keeps, whole dollars. First plus second can't exceed value.
ficoRequireda whole number from 0 to 850Qualifying credit score, 300 to 850, or 0 for a borrower with no score.
docTypeRequiredone of: full = Full documentation; bank-personal-12 = Personal bank statements, 12 months; bank-personal-24 = Personal bank statements, 24 months; bank-business-12 = Business bank statements, 12 months; bank-business-24 = Business bank statements, 24 months; pl-cpa-12 = CPA-prepared P&L, 12 months; pl-cpa-24 = CPA-prepared P&L, 24 months; pl-tax-12 = Tax preparer P&L, 12 months; pl-tax-24 = Tax preparer P&L, 24 months; 1099 = 1099 income; wvoe = Written VOE only; asset-utilization = Asset utilization; asset-depletion = Asset depletion; dscr = DSCR (rental income)How income is documented.
dscrRequired when docType is dscra number from 0 to 5The property's debt service coverage ratio (rent over payment). jmac_dscr_ratio works it out.
dtiOptional; refused with dscra number from 1 to 65Debt-to-income ratio, percent.
citizenshipRequiredone of: us = U.S. citizen or permanent resident; non-permanent = Non-permanent resident; itin = ITIN borrower; foreign = Foreign nationalBorrower residency. A green card holder is us.
rateTypeOptionalone of: fixed = Fixed; arm = ARMFixed or ARM (first mortgages only). Left out: both.
armOnly with rateType armone of: 5/6 = 5/6 ARM; 7/6 = 7/6 ARM; 10/6 = 10/6 ARMOne ARM. Left out: every ARM the programs carry.
termOptionalone of: 10 = 10 years; 15 = 15 years; 20 = 20 years; 25 = 25 years; 30 = 30 years; 40 = 40 yearsTerm in years. Non-agency: 15, 25, 30 or 40. Agency: 10 to 30. ARMs: 30.
interestOnlyOptionaltrue or falseInterest-only products only.
escrowWaiverOptionaltrue or falseEscrows waived.
prepayOptionalone of: 0 = None; 1 = 1 year; 2 = 2 years; 3 = 3 years; 4 = 4 years; 5 = 5 yearsPrepayment penalty term, investment properties only. Left out: none (assumed, and said back in checkedAs).
rentalOptionalone of: long = Not short-term; short = Short-termRental type on an investment property. Airbnb or VRBO is short.
condoTypeOptionalone of: warrantable = Warrantable; non-warrantable = Non-warrantable; condotel = CondotelCondo type, for a condo.
reservesOptionalone of: none = None; 3 = 3 months; 6 = 6 months; 9 = 9 months; 12 = 12 months; 18 = 18 months; 24 = 24 months; 36 = 36 months; 48 = 48 monthsMonths of reserves after closing.
latesOptionalone of: 1x30 = 1x30; 2x30 = 2x30; 1x60 = 1x60; 1x90 = 1x90Mortgage lates in the last 12 months.
bankruptcyOptionalone of: lt2 = Under 2 yrs; 2-4 = 2-4 yrs; 4-7 = 4-7 yrs; 7+ = 7+ yrsTime since a bankruptcy.
housingEventOptionalone of: lt2 = Under 2 yrs; 2-4 = 2-4 yrs; 4-7 = 4-7 yrs; 7+ = 7+ yrsTime since a foreclosure, short sale or deed-in-lieu.

Answer

headlineOne line: how many programs fit, the room they share, and the near misses.
fitsPrograms that take the scenario as entered.
nearMissesPrograms that almost take it, with what they missed and, where the broker can act on it, a change to check (never applied by the tool).
notOfferedarray
alternativesarray
leverageobject
checkedAsarray
nextStepsWhere the broker goes next: priceIt opens this check in the Quick Pricer (rates after sign-in, for a week), talkToAe carries it to an AE, and the program pages.
refstring
refNotestring
noticeThe professionals-only notice; show it with the answer.
termsThe Terms of Use version in force, with the Terms and Privacy Policy links.

Work out a rental's DSCR

  • API POST /api/v1/tools/dscr_ratio
  • MCP tool jmac_dscr_ratio
  • Read-only, math only

Works out a rental property's debt service coverage ratio before an appraisal: estimated monthly rent over the monthly payment (principal and interest or interest only, plus taxes, insurance, HOA and flood), on both bases, with the costs used, the LTV, and the rent needed to reach a target ratio. Use it when a mortgage professional asks what DSCR a rental gives, or needs a DSCR for jmac_check_scenario. rate is the broker's own assumed note rate, never a JMAC rate. Taxes and insurance are dollars a year; HOA is dollars a month. The appraiser's rent schedule governs the final ratio.

Example

API

curl https://www.jmaclending.com/api/v1/tools/dscr_ratio \
  -H "Content-Type: application/json" \
  -d '{"purpose":"purchase","rent":3400,"price":640000,"loan":480000,"rate":7,"taxes":6240,"insurance":1680}'

MCP (tools/call)

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "jmac_dscr_ratio",
    "arguments": {
      "purpose": "purchase",
      "rent": 3400,
      "price": 640000,
      "loan": 480000,
      "rate": 7,
      "taxes": 6240,
      "insurance": 1680
    }
  }
}

Inputs

FieldRequiredTakesMeaning
purposeRequiredone of: purchase = Purchase; refinance = RefinanceLoan purpose.
rentRequireda whole number from 1 to 10,000,000Estimated monthly rent, whole dollars.
priceRequireda whole number from 1 to 100,000,000Purchase price or value, whole dollars.
loanRequireda whole number from 1 to 100,000,000Loan amount, whole dollars.
rateRequireda number from 0.01 to 25The broker's own assumed note rate, percent. Never a JMAC rate.
termOptionalone of: 15 = 15 years; 30 = 30 years; 40 = 40 yearsAmortization term. Left out: 30.
taxModeOptionalone of: amount = taxes are dollars a year; rate = taxes are a yearly percent of the price or valueHow taxes are given. Left out: amount.
taxesRequireda number from 0 to 10,000,000Property taxes: dollars a year, or a yearly percent when taxMode is rate.
insuranceRequireda number from 0 to 10,000,000Homeowners insurance, dollars a year.
hoaOptionala number from 0 to 1,000,000HOA dues, dollars a month.
floodOptionala number from 0 to 1,000,000Flood insurance, dollars a year.
basisOptionalone of: amortizing = Principal and interest; interestOnly = Interest onlyWhich payment the ratio uses. Left out: amortizing. Both come back either way.
targetOptionalone of: 0.50 = 0.50 DSCR; 0.75 = 0.75 DSCR; 1.00 = 1.00 DSCR; 1.25 = 1.25 DSCRA ratio to solve for: the answer adds the rent needed to reach it.

Answer

dscrstring or null
basisstring
amortizingobject
interestOnlyobject
monthlyCostsobject
ltvnumber or null
targetnumber or null
rentNeedednumber or null
nextstring
pagestring
noticeThe professionals-only notice; show it with the answer.
termsThe Terms of Use version in force, with the Terms and Privacy Policy links.

Errors

Statuserror.codeWhen
400check_inputA field is missing, out of range or unknown. error.message is one question for the broker; error.issues names each field and what it takes.
404not_foundNo open tool by that name.
429limitA limit is used up. retryAfter says when to try again.
503busyThe scenario check is busy with another request. Try again after retryAfter.
503unavailableThe tools are paused or the pricing engine is down.

Over MCP, an error returns as a tool result with isError: true and the same error object.

Every answer, success or error, includes the notice and a terms object (version, url, privacy, privacyVersion), plus a Link header with the Terms and Privacy Policy links.

Limits

  • Inputs accept numbers and choices only. Leave out names, addresses and loan numbers.
  • Scenario checks: 5 a minute, 30 an hour and 50 a day from one network. Everyone using Claude.ai shares one allowance; everyone using ChatGPT shares another (30 a minute, 300 a day each). Those apps call from shared addresses. Days end at midnight Pacific.

Terms and support

By calling these tools you agree to JMAC's Terms of Use in effect when you call (jmaclending.com/terms-of-use), including Section 7A. Privacy: jmaclending.com/privacy-policy. Terms of use, Section 7A · Privacy · Questions: developers@jmaclending.com