Open Financial Mortgages

Ontario, Canada mortgage options, published lender rates and a link to a licensed broker.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
64%
Naming quality
92%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

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

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,127Tokens (tool definitions)
~3.1 KBTypical response size
Moderate attention impact (1.66% 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": {
    "open-financial-mortgage-options": {
      "url": "https://mcp.openfinancial.ca/mcp/open"
    }
  }
}

Remote endpoints

https://mcp.openfinancial.ca/mcp/openstreamable-http

What it can do

Tool inventory

Tools (5)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢analyze_mortgage_scenario(province, city, propertyType, estimatedPropertyValue, existingMortgageBalances, ...)

Preliminary analysis of a mortgage, refinancing, home-equity or debt-consolidation scenario: estimated equity, current and proposed combined loan-to-value, missing information and broad, unranked financing categories. Useful as a first look at someone's situation. Works from approximate values the user gives for an Ontario residential property; Clara calculates the result in process and takes no contact details or documents. Results include the assumptions and caveats behind them. A preliminary scenario only, not an eligibility decision, a lender offer or an approval.

Input Schema

{
  "type": "object",
  "properties": {
    "province": {
      "type": "string",
      "enum": [
        "ON",
        "AB",
        "BC",
        "MB",
        "NB",
        "NL",
        "NS",
        "NT",
        "NU",
        "PE",
        "QC",
        "SK",
        "YT"
      ]
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "propertyType": {
      "type": "string",
      "enum": [
        "detached",
        "semi_detached",
        "townhouse",
        "condo",
        "residential_2_to_4_units",
        "other"
      ]
    },
    "estimatedPropertyValue": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000,
      "exclusiveMinimum": 0
    },
    "existingMortgageBalances": {
      "type": "array",
      "items": {
        "type": "number",
        "minimum": 0,
        "maximum": 100000000
      },
      "minItems": 1,
      "maxItems": 5
    },
    "requestedAdditionalAmount": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "purpose": {
      "type": "string",
      "enum": [
        "explore_options",
        "home_equity",
        "debt_consolidation",
        "home_improvement",
        "other"
      ]
    },
    "employmentType": {
      "type": "string",
      "enum": [
        "employed",
        "self_employed",
        "retired",
        "other",
        "prefer_not_to_say"
      ]
    },
    "householdIncomeRange": {
      "type": "string",
      "enum": [
        "under_50000",
        "50000_to_99999",
        "100000_to_149999",
        "150000_to_199999",
        "200000_plus",
        "prefer_not_to_say"
      ]
    },
    "selfReportedCreditRange": {
      "type": "string",
      "enum": [
        "excellent",
        "good",
        "fair",
        "poor",
        "unknown",
        "prefer_not_to_say"
      ]
    },
    "timing": {
      "type": "string",
      "enum": [
        "within_30_days",
        "one_to_three_months",
        "over_three_months",
        "exploring"
      ]
    },
    "renewalMonth": {
      "type": "string",
      "pattern": "^20\\d{2}-(0[1-9]|1[0-2])$"
    }
  },
  "additionalProperties": false
}
🟢get_financing_options(province, city, propertyType, estimatedPropertyValue, existingMortgageBalances, ...)

The same preliminary analysis, for when someone wants to know which broad kinds of financing they could explore. Categories are unranked and are not lender offers. Works from approximate values the user gives for an Ontario residential property; Clara calculates the result in process and takes no contact details or documents. Results include the assumptions and caveats behind them. A preliminary scenario only, not an eligibility decision, a lender offer or an approval.

Input Schema

{
  "type": "object",
  "properties": {
    "province": {
      "type": "string",
      "enum": [
        "ON",
        "AB",
        "BC",
        "MB",
        "NB",
        "NL",
        "NS",
        "NT",
        "NU",
        "PE",
        "QC",
        "SK",
        "YT"
      ]
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "propertyType": {
      "type": "string",
      "enum": [
        "detached",
        "semi_detached",
        "townhouse",
        "condo",
        "residential_2_to_4_units",
        "other"
      ]
    },
    "estimatedPropertyValue": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000,
      "exclusiveMinimum": 0
    },
    "existingMortgageBalances": {
      "type": "array",
      "items": {
        "type": "number",
        "minimum": 0,
        "maximum": 100000000
      },
      "minItems": 1,
      "maxItems": 5
    },
    "requestedAdditionalAmount": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "purpose": {
      "type": "string",
      "enum": [
        "explore_options",
        "home_equity",
        "debt_consolidation",
        "home_improvement",
        "other"
      ]
    },
    "employmentType": {
      "type": "string",
      "enum": [
        "employed",
        "self_employed",
        "retired",
        "other",
        "prefer_not_to_say"
      ]
    },
    "householdIncomeRange": {
      "type": "string",
      "enum": [
        "under_50000",
        "50000_to_99999",
        "100000_to_149999",
        "150000_to_199999",
        "200000_plus",
        "prefer_not_to_say"
      ]
    },
    "selfReportedCreditRange": {
      "type": "string",
      "enum": [
        "excellent",
        "good",
        "fair",
        "poor",
        "unknown",
        "prefer_not_to_say"
      ]
    },
    "timing": {
      "type": "string",
      "enum": [
        "within_30_days",
        "one_to_three_months",
        "over_three_months",
        "exploring"
      ]
    },
    "renewalMonth": {
      "type": "string",
      "pattern": "^20\\d{2}-(0[1-9]|1[0-2])$"
    }
  },
  "additionalProperties": false
}
🟢estimate_home_equity(province, city, propertyType, estimatedPropertyValue, existingMortgageBalances, ...)

The same preliminary analysis, for when someone wants to know their estimated home equity and combined loan-to-value. Works from approximate values the user gives for an Ontario residential property; Clara calculates the result in process and takes no contact details or documents. Results include the assumptions and caveats behind them. A preliminary scenario only, not an eligibility decision, a lender offer or an approval.

Input Schema

{
  "type": "object",
  "properties": {
    "province": {
      "type": "string",
      "enum": [
        "ON",
        "AB",
        "BC",
        "MB",
        "NB",
        "NL",
        "NS",
        "NT",
        "NU",
        "PE",
        "QC",
        "SK",
        "YT"
      ]
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80
    },
    "propertyType": {
      "type": "string",
      "enum": [
        "detached",
        "semi_detached",
        "townhouse",
        "condo",
        "residential_2_to_4_units",
        "other"
      ]
    },
    "estimatedPropertyValue": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000,
      "exclusiveMinimum": 0
    },
    "existingMortgageBalances": {
      "type": "array",
      "items": {
        "type": "number",
        "minimum": 0,
        "maximum": 100000000
      },
      "minItems": 1,
      "maxItems": 5
    },
    "requestedAdditionalAmount": {
      "type": "number",
      "minimum": 0,
      "maximum": 100000000
    },
    "purpose": {
      "type": "string",
      "enum": [
        "explore_options",
        "home_equity",
        "debt_consolidation",
        "home_improvement",
        "other"
      ]
    },
    "employmentType": {
      "type": "string",
      "enum": [
        "employed",
        "self_employed",
        "retired",
        "other",
        "prefer_not_to_say"
      ]
    },
    "householdIncomeRange": {
      "type": "string",
      "enum": [
        "under_50000",
        "50000_to_99999",
        "100000_to_149999",
        "150000_to_199999",
        "200000_plus",
        "prefer_not_to_say"
      ]
    },
    "selfReportedCreditRange": {
      "type": "string",
      "enum": [
        "excellent",
        "good",
        "fair",
        "poor",
        "unknown",
        "prefer_not_to_say"
      ]
    },
    "timing": {
      "type": "string",
      "enum": [
        "within_30_days",
        "one_to_three_months",
        "over_three_months",
        "exploring"
      ]
    },
    "renewalMonth": {
      "type": "string",
      "pattern": "^20\\d{2}-(0[1-9]|1[0-2])$"
    }
  },
  "additionalProperties": false
}
🟢search_published_mortgage_rates(mortgageType, position, minimumLtv, term, fees, ...)

Searches the Ontario mortgage rates lenders have published, as recorded by Open Mortgage Rates, using filters such as mortgageType, term, position, minimumLtv, purpose or a lender keyword; with no filter it asks what to search for instead of listing every record. Returns each lender's own rate wording with its conditions, check date and source link, and a notice that goes with them. Useful when someone asks what rates lenders are publishing. It takes filters only, not names, contact details or dollar amounts. Published information, not a quote, offer, recommendation or eligibility assessment.

Input Schema

{
  "type": "object",
  "properties": {
    "mortgageType": {
      "type": "string",
      "enum": [
        "all",
        "alternative",
        "bridge",
        "commercial",
        "construction",
        "fixed",
        "heloc",
        "private",
        "residential",
        "reverse",
        "variable"
      ],
      "description": "Use \"all\" unless the user names or clearly describes a category."
    },
    "position": {
      "type": "string",
      "enum": [
        "all",
        "first",
        "second"
      ]
    },
    "minimumLtv": {
      "type": "string",
      "enum": [
        "all",
        "50",
        "60",
        "65",
        "70",
        "75",
        "80",
        "85",
        "90",
        "95"
      ],
      "description": "Loan-to-value the user needs, as a percent, rounded UP to the next listed value. Use \"all\" when it cannot be worked out from what the user said."
    },
    "term": {
      "type": "string",
      "enum": [
        "all",
        "12",
        "24",
        "36",
        "60",
        "other"
      ],
      "description": "Term in months."
    },
    "fees": {
      "type": "string",
      "enum": [
        "all",
        "published",
        "calculable",
        "none-stated"
      ]
    },
    "sort": {
      "type": "string",
      "enum": [
        "lowest",
        "term-cost",
        "max-ltv",
        "newest",
        "lender"
      ]
    },
    "purpose": {
      "type": "string",
      "enum": [
        "all",
        "refinance"
      ],
      "description": "\"refinance\" when the user says they are refinancing, taking equity out or consolidating debt; otherwise \"all\"."
    },
    "keyword": {
      "type": "string",
      "minLength": 1,
      "maxLength": 80,
      "description": "A lender name or a directory keyword such as \"credit union\", not a person's name or other personal details."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10
    }
  },
  "additionalProperties": false
}
🟢get_open_financial_broker_help

Returns the link to Open Financial's own intake form and its contact details, for when the user asks for help from a broker or licensed mortgage professional. It collects and sends nothing: the user enters their own details on openfinancial.ca.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded5 tools