Clara Mortgage Assistant
Deterministic Canadian mortgage calculations for qualification, debt service, LTV, and penalties.
我该使用它吗
质量与安全性
发现(1)
- LOW在 refuse_unsupported_mortgage_request 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"clara-mortgage-assistant": {
"url": "https://mcp.claratech.ai/mcp"
}
}
}远程端点
https://mcp.claratech.ai/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢refuse_unsupported_mortgage_request(requestType)
MUST be called whenever the user asks whether a borrower should be approved, denied, pre-approved, conditionally approved, underwritten, or assessed for suitability. Also call it for lender or product recommendations, borrower documents or accounts, current rates or rules, submissions, outreach, or anything outside Clara Mortgage Assistant calculations. This tool returns the required deterministic refusal. Send only the matching requestType category—never include the original prompt, names, identifiers, document content, or other user data. Do not answer these requests directly.
输入模式
{
"type": "object",
"properties": {
"requestType": {
"type": "string",
"enum": [
"approval_or_underwriting",
"lender_or_product_recommendation",
"borrower_document_or_account",
"current_rate_rule_or_threshold",
"external_action",
"other_unsupported"
],
"description": "Category of unsupported request. Do not include or infer any user, borrower, account, or document data."
}
},
"required": [
"requestType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "refuse_unsupported_mortgage_request"
},
"status": {
"type": "string",
"const": "unsupported"
},
"requestType": {
"type": "string",
"enum": [
"approval_or_underwriting",
"lender_or_product_recommendation",
"borrower_document_or_account",
"current_rate_rule_or_threshold",
"external_action",
"other_unsupported"
]
},
"message": {
"type": "string"
},
"safeAlternative": {
"type": "string"
},
"dataHandling": {
"type": "string",
"const": "No user prompt, document, account, or borrower data was accepted or processed."
}
},
"required": [
"tool",
"status",
"requestType",
"message",
"safeAlternative",
"dataHandling"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_mortgage_scenarios(effectiveDate, jurisdiction, scenarios)
Compare up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
输入模式
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"scenarios": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Mortgage principal in Canadian dollars."
},
"annualRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Contract rate for this mortgage scenario. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"amortizationMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage amortization period in months."
},
"paymentFrequency": {
"type": "string",
"enum": [
"monthly",
"semi_monthly",
"biweekly",
"weekly",
"accelerated_biweekly",
"accelerated_weekly"
]
},
"termMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage term in months."
},
"propertyTaxPerPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Optional property-tax amount in Canadian dollars for each payment period."
},
"comparisonPrincipalAndInterestPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Optional principal-and-interest payment in Canadian dollars for the same payment period, used only as a comparison value."
}
},
"required": [
"name",
"principal",
"annualRate",
"amortizationMonths",
"paymentFrequency"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 6
}
},
"required": [
"effectiveDate",
"scenarios"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "compare_mortgage_scenarios"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"scenarios": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
}
},
"required": [
"name",
"calculation"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"scenarios",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_qualification(effectiveDate, jurisdiction, principal, contractRate, amortizationMonths, ...)
Calculate the B-20 qualifying rate, qualifying payment, and resulting GDS/TDS from a supplied principal, contract rate, amortization, and income. Use this tool only when the qualifying payment must be calculated from those inputs. If the user already supplies a monthly mortgage payment and asks for GDS/TDS, MUST use calculate_debt_service instead and must not request principal, rate, or amortization. This is neutral scenario math, not an approval or underwriting decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
输入模式
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Mortgage principal in Canadian dollars."
},
"contractRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Contract rate for the mortgage. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"amortizationMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage amortization period in months."
},
"grossAnnualIncome": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Gross annual household income in Canadian dollars."
},
"housing": {
"type": "object",
"properties": {
"monthlyPropertyTax": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly property-tax amount in Canadian dollars."
},
"monthlyHeat": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly heating cost in Canadian dollars."
},
"monthlyCondoFees": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly condominium fees in Canadian dollars."
}
},
"additionalProperties": false
},
"otherMonthlyDebts": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Total monthly debt obligations outside the housing costs in Canadian dollars."
},
"floorRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Optional minimum qualification rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"bufferRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Optional stress-test buffer added to the contract rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"tolerances": {
"type": "object",
"properties": {
"gdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum GDS ratio as a decimal; for example, 39% is 0.39."
},
"tdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum TDS ratio as a decimal; for example, 44% is 0.44."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"gdsMax",
"tdsMax"
],
"additionalProperties": false
},
"straightSwitchExempt": {
"type": "boolean"
}
},
"required": [
"effectiveDate",
"principal",
"contractRate",
"amortizationMonths",
"grossAnnualIncome"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_qualification"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_debt_service(effectiveDate, jurisdiction, grossAnnualIncome, monthlyPayment, housing, ...)
MUST use this tool when the user supplies a monthly mortgage payment and asks for Canadian GDS or TDS. Calculate the ratios directly from that payment, income, and monthly obligations. Do not request principal, contract rate, or amortization, and do not use calculate_qualification when the monthly payment is already supplied. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
输入模式
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"grossAnnualIncome": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Gross annual household income in Canadian dollars."
},
"monthlyPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Monthly mortgage principal-and-interest payment in Canadian dollars."
},
"housing": {
"type": "object",
"properties": {
"monthlyPropertyTax": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly property-tax amount in Canadian dollars."
},
"monthlyHeat": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly heating cost in Canadian dollars."
},
"monthlyCondoFees": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly condominium fees in Canadian dollars."
}
},
"additionalProperties": false
},
"otherMonthlyDebts": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Total other monthly debt obligations in Canadian dollars."
},
"tolerances": {
"type": "object",
"properties": {
"gdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum GDS ratio as a decimal; for example, 39% is 0.39."
},
"tdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum TDS ratio as a decimal; for example, 44% is 0.44."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"gdsMax",
"tdsMax"
],
"additionalProperties": false
}
},
"required": [
"effectiveDate",
"grossAnnualIncome",
"monthlyPayment"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_debt_service"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_ltv(effectiveDate, jurisdiction, loanAmount, otherSecuredPositions, purchasePrice, ...)
Calculate Canadian loan-to-value and combined loan-to-value using purchase price, appraisal, and secured positions. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
输入模式
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"loanAmount": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "New mortgage or loan amount in Canadian dollars."
},
"otherSecuredPositions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Balance of this other secured position in Canadian dollars."
}
},
"required": [
"amount"
],
"additionalProperties": false
},
"maxItems": 20
},
"purchasePrice": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Property purchase price in Canadian dollars."
},
"appraisedValue": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Property appraised value in Canadian dollars."
},
"valueBasis": {
"type": "string",
"enum": [
"lesser_of",
"appraised",
"purchase"
]
},
"storedLtv": {
"type": "number",
"minimum": 0,
"maximum": 5,
"description": "Optional previously stored LTV ratio as a decimal; for example, 75% is 0.75."
}
},
"required": [
"effectiveDate",
"loanAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_ltv"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_prepayment_penalty(effectiveDate, jurisdiction, principal, annualRate, remainingTermMonths, ...)
Estimate three-months-interest and simple IRD prepayment penalties; lender discharge statements remain authoritative. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
输入模式
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Outstanding mortgage balance in Canadian dollars."
},
"annualRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Current annual mortgage rate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"remainingTermMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Number of months remaining in the mortgage term."
},
"comparisonRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Annual comparison or reference rate used for the simplified interest-rate-differential estimate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"method": {
"type": "string",
"enum": [
"greater_of_3mo_interest_ird",
"three_months_interest",
"interest_rate_differential"
]
}
},
"required": [
"effectiveDate",
"principal",
"annualRate",
"remainingTermMonths"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}输出模式
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "estimate_prepayment_penalty"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据