Clara Mortgage Assistant

Deterministic Canadian mortgage calculations for qualification, debt service, LTV, and penalties.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
96%
Naming quality
87%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'refuse_unsupported_mortgage_request' name length outside 3-30 rangein refuse_unsupported_mortgage_request

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,144Tokens (tool definitions)
~9.0 KBTypical response size
Significant attention impact (4.02% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "clara-mortgage-assistant": {
      "url": "https://mcp.claratech.ai/mcp"
    }
  }
}

Remote endpoints

https://mcp.claratech.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒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.

Input Schema

{
  "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#"
}

Output 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.

Input Schema

{
  "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#"
}

Output 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.

Input Schema

{
  "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#"
}

Output 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.

Input Schema

{
  "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#"
}

Output 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.

Input Schema

{
  "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#"
}

Output 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.

Input Schema

{
  "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#"
}

Output 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#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools