Server definition
- Hash
- sha256:49dc5e8806b5f5f388e1e0c6d5fdc7da58020642ddb664fd70e14d1ae3aa7469
- What it is
- What a remote MCP server returned when asked what it offers: 2 tools
The blob, as servednamed by its sha256
{
"instructions": "Tools for requesting a written term sheet from National Loan Provider, a mortgage brokerage, on a business-purpose loan for a non-owner-occupied investment property. Read instant_term_sheet_requirements first: it lists every field request_instant_term_sheet needs and what the investor gets back. Every request, purchase or refinance, needs the property's full street address: number, street, city, state and ZIP. Before calling request_instant_term_sheet, collect the prepayment term and structure, the accessory dwelling units and the borrower's 12-month mortgage payment history from the investor; without them the deal cannot be priced instantly. Ask whether the property is on more than 10 acres only where the investor knows; where it is, give the lot size. Otherwise leave it out: the property is taken to be on 10 acres or less, and the term sheet says so. Every response carries a \"disclosure\" field; include it with any figure you relay. National Loan Provider (NLPI LLC) is a mortgage brokerage. It arranges, structures and places business-purpose financing across 100+ third-party lenders; it is not a lender and does not make credit decisions. Every figure in this response is indicative and published for reference only: it is not a quote, a commitment, or an offer of credit, and it is not an assessment of any borrower, property or transaction. Financing is business-purpose investor financing only; National Loan Provider does not arrange financing on owner-occupied residential properties or primary residences. The source and as-of date of the underlying data are stated in the source field.",
"tools": [
{
"description": "What an Instant Term Sheet request needs, before you make one: every field, which are required, and the accepted values; the scope (a business-purpose loan on a non-owner-occupied 1–4 unit investment property); and what the investor gets back. Read-only: nothing is priced, stored or sent. Every request, purchase or refinance, needs the property's full street address: number, street, city, state and ZIP. Reviewer mode: a request whose email address is at example.com, example.org or example.net, or at a .test or .invalid domain, is priced and answered in full with a download link, but nothing is emailed and no lead is recorded.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "instant_term_sheet_requirements",
"outputSchema": null
},
{
"description": "Request a written term sheet for a business-purpose loan on a non-owner-occupied 1–4 unit investment property, emailed to the investor with a private download link. Instant where the deal fits the programs; otherwise an answer within 24 hours. A term sheet is indicative and not a commitment to lend. Every request, purchase or refinance, needs the property's full street address: number, street, city, state and ZIP. Each pricing option in the answer carries the label the term sheet prints for it (for example \"Option A: lowest rate\"); refer to options by that label. Read instant_term_sheet_requirements first for the fields.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"attestations": {
"additionalProperties": false,
"description": "The investor's three representations. A request that does not make all three is answered as out of scope and not priced.",
"properties": {
"businessPurpose": {
"description": "true only if the investor confirms the loan is for a business purpose.",
"type": "boolean"
},
"nonOwnerOccupied": {
"description": "true only if the investor confirms the property is a non-owner-occupied investment property: not the borrower's residence.",
"type": "boolean"
},
"vestingAsStated": {
"description": "true only if the investor confirms title will vest as the vesting field says.",
"type": "boolean"
}
},
"required": [
"businessPurpose",
"nonOwnerOccupied",
"vestingAsStated"
],
"type": "object"
},
"borrower": {
"additionalProperties": false,
"description": "The borrower.",
"properties": {
"citizenship": {
"description": "The borrower's citizenship or residency: us_citizen, permanent_resident, non_permanent_resident, foreign_national or itin.",
"enum": [
"us_citizen",
"permanent_resident",
"non_permanent_resident",
"foreign_national",
"itin"
],
"type": "string"
},
"creditEvents": {
"additionalProperties": false,
"description": "The borrower's credit events: bankruptcy, foreclosure, short sale or deed in lieu. Never empty: none: true, alone, where there have been none; otherwise the months since the most recent event of any kind, and since the latest bankruptcy and foreclosure where there has been one.",
"properties": {
"bankruptcyMonths": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Months since the latest bankruptcy was discharged or dismissed; null for none."
},
"foreclosureBailout": {
"description": "Whether the loan refinances this property out of a pending foreclosure.",
"type": "boolean"
},
"foreclosureMonths": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Months since the latest foreclosure completed; null for none."
},
"foreclosureOnSubject": {
"description": "Whether a foreclosure was on this property.",
"type": "boolean"
},
"mostRecentMonths": {
"anyOf": [
{
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Months since the most recent credit event of any kind (bankruptcy, foreclosure, short sale, deed in lieu); null for none."
},
"none": {
"const": true,
"description": "true where the borrower has had no bankruptcy, foreclosure, short sale or deed in lieu, and no foreclosure is pending on this property. Given alone, with no other credit event field.",
"type": "boolean"
}
},
"type": "object"
},
"creditType": {
"description": "Optional: us_credit or foreign_credit, where the borrower's credit history is established.",
"enum": [
"us_credit",
"foreign_credit"
],
"type": "string"
},
"experience": {
"description": "Optional: experienced (the borrower has owned investment property) or first_time_investor.",
"enum": [
"experienced",
"first_time_investor"
],
"type": "string"
},
"fico": {
"description": "The borrower's representative credit score. Where there is none, leave it out and set noScore to true.",
"maximum": 850,
"minimum": 300,
"type": "integer"
},
"firstTimeHomebuyer": {
"description": "Optional: true where the borrower is a first-time homebuyer. Left out, the borrower is taken not to be one, and a term sheet that relies on that says so.",
"type": "boolean"
},
"housingHistory": {
"description": "Optional: the borrower's mortgage payment history over the last 12 months: clean (no late payments), 1x30x12, 0x60x12 or 0x90x12. Left out, programs that read it cannot price the deal instantly.",
"enum": [
"clean",
"1x30x12",
"0x60x12",
"0x90x12"
],
"type": "string"
},
"noScore": {
"const": true,
"description": "true where the borrower does not have a credit score. Never given with fico.",
"type": "boolean"
},
"subjectHousingHistoryDaysLate": {
"description": "Optional, for a refinance: how many days past due this property's mortgage is now; 0 when current.",
"minimum": 0,
"type": "number"
},
"vesting": {
"description": "How title will vest: entity (an existing entity), entity_to_be_formed (an entity formed before closing) or individual (the borrower's own name).",
"enum": [
"entity",
"entity_to_be_formed",
"individual"
],
"type": "string"
}
},
"required": [
"citizenship",
"vesting",
"creditEvents"
],
"type": "object"
},
"contact": {
"additionalProperties": false,
"description": "The investor: who the term sheet is for and where it is emailed.",
"properties": {
"email": {
"description": "Where the term sheet is emailed: a permanent address at a domain that receives email.",
"maxLength": 254,
"type": "string"
},
"name": {
"description": "The investor's full name.",
"type": "string"
},
"phone": {
"description": "Optional: the investor's phone number. Accepted only with phoneConsent true.",
"pattern": "^\\+?[0-9 ().-]{7,24}$",
"type": "string"
},
"phoneConsent": {
"description": "Required with a phone number: true only when the investor agrees to be contacted, recorded with the number as National Loan Provider's form words it: \"By checking this box, I expressly consent to being contacted by National Loan Provider & Dominick Prevete.\"",
"type": "boolean"
}
},
"required": [
"name",
"email"
],
"type": "object"
},
"dscrInputs": {
"additionalProperties": false,
"description": "Rent and carrying costs: the debt service coverage ratio (DSCR) is computed from these.",
"properties": {
"annualFlood": {
"description": "Optional: annual flood insurance premium, in dollars. Left out, none.",
"minimum": 0,
"type": "number"
},
"annualInsurance": {
"description": "Annual hazard insurance premium, in dollars.",
"minimum": 0,
"type": "number"
},
"annualTaxes": {
"description": "Annual property taxes, in dollars.",
"minimum": 0,
"type": "number"
},
"monthlyHoa": {
"default": 0,
"description": "Optional: monthly HOA dues, in dollars; 0 for none.",
"minimum": 0,
"type": "number"
},
"monthlyRent": {
"description": "The property's gross monthly rent, in dollars: the lease, or the market rent. For a short-term rental, the 12-month average gross monthly rent.",
"minimum": 0,
"type": "number"
}
},
"required": [
"monthlyRent",
"annualTaxes",
"annualInsurance"
],
"type": "object"
},
"loan": {
"additionalProperties": false,
"description": "The loan.",
"properties": {
"estimatedValue": {
"description": "The property's estimated or appraised value, in dollars. Leverage is measured on the lower of this and the purchase price.",
"exclusiveMinimum": 0,
"type": "number"
},
"existingLienPayoff": {
"description": "Refinances only, optional: the payoff of the liens the loan retires, in dollars; 0 where the property is owned free and clear. With the loan amount it gives the cash to the borrower at closing.",
"minimum": 0,
"type": "number"
},
"loanAmount": {
"description": "The loan amount requested, in dollars.",
"exclusiveMinimum": 0,
"type": "number"
},
"ownershipMonths": {
"description": "Refinances only, optional: how many months the borrower has owned the property. Left out, it is taken as at least 6 months, and a term sheet that relies on that says so.",
"minimum": 0,
"type": "number"
},
"prepayStructure": {
"description": "Optional: the prepayment penalty's structure: fixed_5 (5% for the full term), fixed_3 (3% for the full term), declining (a penalty that declines over the term; the term sheet states how the lender that prices it calculates it) or six_months_interest (six months' interest on the amount prepaid). Left out, the deal cannot be priced instantly.",
"enum": [
"fixed_5",
"fixed_3",
"declining",
"six_months_interest"
],
"type": "string"
},
"prepayTermMonths": {
"description": "Optional: the prepayment penalty term the investor wants, in months; 0 for none. One of 0, 6, 12, 24, 36, 48, 60. Left out, the deal cannot be priced instantly.",
"enum": [
0,
6,
12,
24,
36,
48,
60
],
"type": "number"
},
"purchasePrice": {
"description": "Required for a purchase, and only for a purchase: the contract price, in dollars.",
"exclusiveMinimum": 0,
"type": "number"
},
"purpose": {
"description": "purchase, rate_term (a rate-and-term refinance) or cash_out (a cash-out refinance).",
"enum": [
"purchase",
"rate_term",
"cash_out"
],
"type": "string"
},
"requestedProduct": {
"description": "Optional: the product to lead with. Left out, the 30-year fixed.",
"enum": [
"fixed_30",
"fixed_40",
"arm_5_6",
"arm_7_6",
"arm_10_6"
],
"type": "string"
},
"subordinateFinancing": {
"default": 0,
"description": "Optional: other financing that stays on the property, in dollars; 0 for none.",
"minimum": 0,
"type": "number"
}
},
"required": [
"purpose",
"loanAmount",
"estimatedValue"
],
"type": "object"
},
"property": {
"additionalProperties": false,
"description": "The property.",
"properties": {
"acres": {
"description": "Optional: the lot size, in acres. Left out, the property is taken to be on 10 acres or less, and the term sheet says so. Give it where the property is on more than 10 acres, or where the borrower is a foreign national, since some programs for foreign nationals cap the lot at 2 acres.",
"minimum": 0,
"type": "number"
},
"address": {
"description": "Required on every request, purchase or refinance: the property's full street address on one line, with the number, street, city, state and ZIP, for example \"12 Example Street, Columbus, OH 43215\". A partial address, a county in place of the city, or a placeholder such as TBD is refused.",
"type": "string"
},
"adus": {
"description": "Optional: accessory dwelling units on the lot besides the main dwelling; 0 for none. Left out, programs that read it cannot price the deal instantly.",
"maximum": 99,
"minimum": 0,
"type": "integer"
},
"condition": {
"description": "Optional: the appraisal's condition rating, where one is known (C1 is new, C6 has substantial damage).",
"enum": [
"C1",
"C2",
"C3",
"C4",
"C5",
"C6"
],
"type": "string"
},
"county": {
"description": "Optional: the county's five-digit FIPS code. A county you give is the one used. Left out, it is read from the ZIP code in the address; where a program restricts counties and the ZIP code does not settle which county, a request without it is confirmed by hand.",
"pattern": "^\\d{5}$",
"type": "string"
},
"propertyType": {
"description": "The property type: sfr is a detached single-family home, sfr_attached a townhouse or row house, multifamily a residential building of 2 or more units.",
"enum": [
"sfr",
"pud",
"condo",
"condo_non_warrantable",
"condotel",
"mixed_use",
"sfr_attached",
"multifamily",
"manufactured",
"mobile_home",
"agricultural_working_farm"
],
"type": "string"
},
"rentalType": {
"description": "Optional: long_term for a lease, short_term for nightly or weekly rentals. Left out, the rent is read as long-term. For a short-term rental, give dscrInputs.monthlyRent as the 12-month average gross monthly rent.",
"enum": [
"long_term",
"short_term"
],
"type": "string"
},
"state": {
"description": "The property's state, as a two-letter code.",
"enum": [
"AL",
"AK",
"AZ",
"AR",
"CA",
"CO",
"CT",
"DE",
"FL",
"GA",
"HI",
"ID",
"IL",
"IN",
"IA",
"KS",
"KY",
"LA",
"ME",
"MD",
"MA",
"MI",
"MN",
"MS",
"MO",
"MT",
"NE",
"NV",
"NH",
"NJ",
"NM",
"NY",
"NC",
"ND",
"OH",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"VA",
"WA",
"WV",
"WI",
"WY",
"DC",
"AS",
"GU",
"MP",
"PR",
"VI"
],
"type": "string"
},
"units": {
"description": "The number of units. Instant term sheets cover 1–4 units; a property with more is priced by hand.",
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"vacant": {
"description": "Refinances only, optional: true where the property has no lease and no tenant. Left out, it is taken as rented, and a term sheet that relies on that says so.",
"type": "boolean"
}
},
"required": [
"address",
"state",
"units",
"propertyType"
],
"type": "object"
}
},
"required": [
"contact",
"property",
"loan",
"borrower",
"dscrInputs",
"attestations"
],
"type": "object"
},
"name": "request_instant_term_sheet",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:49dc5e8806b5f5f388e1e0c6d5fdc7da58020642ddb664fd70e14d1ae3aa7469 | sha256sum