Koskamo

KeyReady MCP

An MCP server that allows AI assistants to check home-loan readiness using ~90 lenders' rules, calculate stamp duty and grants, check 5% Deposit Scheme eligibility, and list lender rates. It is free, requires no sign-in, and operates via Streamable HTTP without authentication.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

KeyReady MCP logo, by Goodlend Mortgage BrokersCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Goodlend Mortgage Brokers
MCP endpoint (Streamable HTTP)
https://mcp.keyready.au/mcp
Vendor documentation

What you can do with it

  • Assess home loan readiness and borrowing power
  • Calculate stamp duty for first home buyers
  • Check eligibility for the 5% Deposit Scheme
  • List live variable principal-and-interest rates

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
keyready 1.0.0
MCP protocol
2025-06-18
Tools
5 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

KeyReady checks an Australian home buyer’s situation against ~90 lenders’ published rules (live Open Banking rates, LVR limits, residency rules), APRA’s 3% serviceability buffer, 2026–27 stamp duty and grants, and the 5% Deposit Scheme. Ask for the details you need conversationally, use ballpark figures, and never invent numbers. Present results as indicative general information, not advice or a recommendation, and keep lender names masked. Only call refer_to_broker after the user has seen this disclosure and explicitly agreed: This site is run by Goodlend Mortgage Brokers (Gariwed Falls Pty Ltd (ACN 682 875 798) ATF Holvor Investments Unit Trust No. 1), Credit Representative 556461 of Connective Credit Services Pty Ltd, ACL 389328. If you ask to be contacted, your details and report go only to us. If you take out a loan with our help, the lender pays us commission, as set out in the Credit Guide we give you before we help; you never pay us a fee.

Tools

5 advertised

assess_home_loan_readiness — Assess home loan readiness
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check a borrower’s situation against each Australian lender’s published rules. Returns how many lenders it fits, borrowing power, LVR, stamp duty, grants, 5% Deposit Scheme eligibility, profession LMI waivers, the fastest fixes and a link to the full interactive report.

assess_home_loan_readiness input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "applicants",
    "first_home",
    "state",
    "price"
  ],
  "properties": {
    "gift": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Family gift toward the deposit"
    },
    "loan": {
      "type": "number",
      "minimum": 0,
      "description": "Loan amount in AUD; if omitted, savings + gift less upfront costs is used as the deposit"
    },
    "site": {
      "enum": [
        "core",
        "professionals",
        "nurses",
        "self-employed",
        "expats"
      ],
      "type": "string",
      "default": "core",
      "description": "Which KeyReady site the report link should open"
    },
    "price": {
      "type": "number",
      "maximum": 50000000,
      "minimum": 50000,
      "description": "Purchase price in AUD"
    },
    "state": {
      "enum": [
        "NSW",
        "VIC",
        "QLD",
        "WA",
        "SA",
        "TAS",
        "ACT",
        "NT"
      ],
      "type": "string",
      "description": "State or territory where the property is"
    },
    "low_doc": {
      "type": "boolean",
      "default": false,
      "description": "Self-employed without two years of lodged tax returns"
    },
    "purpose": {
      "enum": [
        "owner",
        "investment",
        "construction"
      ],
      "type": "string",
      "default": "owner"
    },
    "savings": {
      "type": "number",
      "default": 0,
      "minimum": 0
    },
    "location": {
      "enum": [
        "capital",
        "regional"
      ],
      "type": "string",
      "default": "capital",
      "description": "Capital city / regional centre, or elsewhere in the state"
    },
    "household": {
      "enum": [
        "single",
        "couple",
        "family",
        "sharing"
      ],
      "type": "string"
    },
    "applicants": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "age",
          "annual_base_income"
        ],
        "properties": {
          "age": {
            "type": "integer",
            "maximum": 90,
            "minimum": 18
          },
          "residency": {
            "enum": [
              "citizen",
              "permanent_resident",
              "nz_citizen",
              "awaiting_pr",
              "temporary_visa",
              "other"
            ],
            "type": "string",
            "default": "citizen"
          },
          "employment": {
            "enum": [
              "full_time",
              "part_time",
              "casual",
              "contractor",
              "self_employed",
              "not_working",
              "retired"
            ],
            "type": "string",
            "default": "full_time"
          },
          "annual_bonus": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "months_in_role": {
            "type": "integer",
            "default": 24,
            "maximum": 600,
            "minimum": 0,
            "description": "Months with the current employer, or months the ABN has been registered if self-employed"
          },
          "annual_overtime": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_allowances": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_commission": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_base_income": {
            "type": "number",
            "maximum": 10000000,
            "minimum": 0,
            "description": "Gross annual base income in AUD (or the equivalent if paid in another currency), excluding super"
          }
        }
      },
      "maxItems": 2,
      "minItems": 1,
      "description": "One or two borrowers; the first is the main borrower"
    },
    "dependants": {
      "type": "integer",
      "default": 0,
      "maximum": 10,
      "minimum": 0
    },
    "first_home": {
      "type": "boolean",
      "description": "Never owned property in Australia"
    },
    "profession": {
      "enum": [
        "doctor",
        "specialist",
        "dentist",
        "vet",
        "pharmacist",
        "physio",
        "optometrist",
        "psychologist",
        "nurse",
        "midwife",
        "allied_health",
        "lawyer",
        "accountant",
        "actuary",
        "engineer"
      ],
      "type": "string",
      "description": "Main borrower’s profession. Some lenders waive LMI for listed professions."
    },
    "credit_score": {
      "type": "integer",
      "maximum": 1200,
      "minimum": 0,
      "description": "Equifax-style score out of 1200, if known"
    },
    "hecs_balance": {
      "type": "number",
      "default": 0,
      "minimum": 0
    },
    "property_type": {
      "enum": [
        "house",
        "apartment",
        "land",
        "house_land"
      ],
      "type": "string",
      "default": "house"
    },
    "lives_overseas": {
      "type": "boolean",
      "default": false,
      "description": "Main borrower currently lives outside Australia"
    },
    "personal_loans": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Personal and car loan balances"
    },
    "credit_defaults": {
      "enum": [
        "no",
        "yes",
        "unsure"
      ],
      "type": "string",
      "default": "no"
    },
    "income_currency": {
      "enum": [
        "AUD",
        "USD",
        "GBP",
        "EUR",
        "NZD",
        "SGD",
        "HKD",
        "AED",
        "CAD",
        "JPY",
        "CNY",
        "other"
      ],
      "type": "string",
      "default": "AUD"
    },
    "new_or_existing": {
      "enum": [
        "existing",
        "new"
      ],
      "type": "string",
      "default": "existing"
    },
    "credit_card_limits": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Total credit card limits (not balances)"
    }
  }
}
assess_home_loan_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
calculate_stamp_duty — Calculate stamp duty and grants
Advertised by the server during the last successful anonymous check.
Advertised read-only

Exact 2026–27 transfer (stamp) duty for any Australian state or territory, including first home buyer concessions, owner-occupier rates, the First Home Owner Grant and foreign purchaser surcharge.

calculate_stamp_duty input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "state",
    "price"
  ],
  "properties": {
    "price": {
      "type": "number",
      "maximum": 50000000,
      "minimum": 1000
    },
    "state": {
      "enum": [
        "NSW",
        "VIC",
        "QLD",
        "WA",
        "SA",
        "TAS",
        "ACT",
        "NT"
      ],
      "type": "string"
    },
    "new_home": {
      "type": "boolean",
      "default": false,
      "description": "Brand-new home, off the plan, or building"
    },
    "first_home": {
      "type": "boolean",
      "default": false
    },
    "vacant_land": {
      "type": "boolean",
      "default": false
    },
    "foreign_buyer": {
      "type": "boolean",
      "default": false,
      "description": "Buyer is a temporary visa holder or other foreign person"
    },
    "owner_occupier": {
      "type": "boolean",
      "default": true
    },
    "house_and_land_package": {
      "type": "boolean",
      "default": false
    }
  }
}
calculate_stamp_duty annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
check_5_percent_deposit_scheme — Check 5% Deposit Scheme eligibility
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check eligibility for the Australian Government 5% Deposit Scheme (First Home Guarantee) or Family Home Guarantee (single parents, 2% deposit), including the property price cap for the area.

check_5_percent_deposit_scheme input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "state",
    "price",
    "first_home"
  ],
  "properties": {
    "price": {
      "type": "number",
      "minimum": 1000
    },
    "state": {
      "enum": [
        "NSW",
        "VIC",
        "QLD",
        "WA",
        "SA",
        "TAS",
        "ACT",
        "NT"
      ],
      "type": "string"
    },
    "location": {
      "enum": [
        "capital",
        "regional"
      ],
      "type": "string",
      "default": "capital"
    },
    "first_home": {
      "type": "boolean"
    },
    "single_parent": {
      "type": "boolean",
      "default": false
    },
    "will_live_in_it": {
      "type": "boolean",
      "default": true
    },
    "all_buyers_citizens_or_pr": {
      "type": "boolean",
      "default": true
    }
  }
}
check_5_percent_deposit_scheme annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
list_lender_rates — List lender rates
Advertised by the server during the last successful anonymous check.
Advertised read-only

Live variable principal-and-interest home loan rates, each with its comparison rate, at a given LVR from lenders’ Open Banking product data (as of 2026-10-27). Lender names are masked. Always show the comparison rate beside each rate, with the warning returned.

list_lender_rates input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "lvr": {
      "type": "number",
      "default": 80,
      "maximum": 98,
      "minimum": 1,
      "description": "Loan-to-value ratio, %"
    },
    "limit": {
      "type": "integer",
      "default": 10,
      "maximum": 25,
      "minimum": 1
    },
    "purpose": {
      "enum": [
        "owner",
        "investment"
      ],
      "type": "string",
      "default": "owner"
    }
  }
}
list_lender_rates annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
refer_to_broker — Refer to a mortgage broker (with consent)
Advertised by the server during the last successful anonymous check.
Open-world

Send the user’s situation and readiness report to Goodlend Mortgage Brokers, a licensed mortgage broker, who will contact them. ONLY call this after you have shown the user this disclosure and they have explicitly agreed in this conversation: This site is run by Goodlend Mortgage Brokers (Gariwed Falls Pty Ltd (ACN 682 875 798) ATF Holvor Investments Unit Trust No. 1), Credit Representative 556461 of Connective Credit Services Pty Ltd, ACL 389328. If you ask to be contacted, your details and report go only to us. If you take out a loan with our help, the lender pays us commission, as set out in the Credit Guide we give you before we help; you never pay us a fee. Collect their name, email and phone. The user then gets an email link to confirm before the broker sees anything. Never call it on the user’s behalf without that agreement.

refer_to_broker input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "applicants",
    "first_home",
    "state",
    "price",
    "name",
    "email",
    "phone",
    "consent"
  ],
  "properties": {
    "gift": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Family gift toward the deposit"
    },
    "loan": {
      "type": "number",
      "minimum": 0,
      "description": "Loan amount in AUD; if omitted, savings + gift less upfront costs is used as the deposit"
    },
    "name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
    },
    "site": {
      "enum": [
        "core",
        "professionals",
        "nurses",
        "self-employed",
        "expats"
      ],
      "type": "string",
      "default": "core"
    },
    "email": {
      "type": "string",
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
      "maxLength": 200
    },
    "phone": {
      "type": "string",
      "maxLength": 40,
      "minLength": 8
    },
    "price": {
      "type": "number",
      "maximum": 50000000,
      "minimum": 50000,
      "description": "Purchase price in AUD"
    },
    "state": {
      "enum": [
        "NSW",
        "VIC",
        "QLD",
        "WA",
        "SA",
        "TAS",
        "ACT",
        "NT"
      ],
      "type": "string",
      "description": "State or territory where the property is"
    },
    "consent": {
      "type": "boolean",
      "const": true,
      "description": "True only if the user explicitly agreed to the disclosure in this conversation"
    },
    "low_doc": {
      "type": "boolean",
      "default": false,
      "description": "Self-employed without two years of lodged tax returns"
    },
    "purpose": {
      "enum": [
        "owner",
        "investment",
        "construction"
      ],
      "type": "string",
      "default": "owner"
    },
    "savings": {
      "type": "number",
      "default": 0,
      "minimum": 0
    },
    "location": {
      "enum": [
        "capital",
        "regional"
      ],
      "type": "string",
      "default": "capital",
      "description": "Capital city / regional centre, or elsewhere in the state"
    },
    "household": {
      "enum": [
        "single",
        "couple",
        "family",
        "sharing"
      ],
      "type": "string"
    },
    "applicants": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "age",
          "annual_base_income"
        ],
        "properties": {
          "age": {
            "type": "integer",
            "maximum": 90,
            "minimum": 18
          },
          "residency": {
            "enum": [
              "citizen",
              "permanent_resident",
              "nz_citizen",
              "awaiting_pr",
              "temporary_visa",
              "other"
            ],
            "type": "string",
            "default": "citizen"
          },
          "employment": {
            "enum": [
              "full_time",
              "part_time",
              "casual",
              "contractor",
              "self_employed",
              "not_working",
              "retired"
            ],
            "type": "string",
            "default": "full_time"
          },
          "annual_bonus": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "months_in_role": {
            "type": "integer",
            "default": 24,
            "maximum": 600,
            "minimum": 0,
            "description": "Months with the current employer, or months the ABN has been registered if self-employed"
          },
          "annual_overtime": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_allowances": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_commission": {
            "type": "number",
            "default": 0,
            "minimum": 0
          },
          "annual_base_income": {
            "type": "number",
            "maximum": 10000000,
            "minimum": 0,
            "description": "Gross annual base income in AUD (or the equivalent if paid in another currency), excluding super"
          }
        }
      },
      "maxItems": 2,
      "minItems": 1,
      "description": "One or two borrowers; the first is the main borrower"
    },
    "dependants": {
      "type": "integer",
      "default": 0,
      "maximum": 10,
      "minimum": 0
    },
    "first_home": {
      "type": "boolean",
      "description": "Never owned property in Australia"
    },
    "profession": {
      "enum": [
        "doctor",
        "specialist",
        "dentist",
        "vet",
        "pharmacist",
        "physio",
        "optometrist",
        "psychologist",
        "nurse",
        "midwife",
        "allied_health",
        "lawyer",
        "accountant",
        "actuary",
        "engineer"
      ],
      "type": "string",
      "description": "Main borrower’s profession. Some lenders waive LMI for listed professions."
    },
    "credit_score": {
      "type": "integer",
      "maximum": 1200,
      "minimum": 0,
      "description": "Equifax-style score out of 1200, if known"
    },
    "hecs_balance": {
      "type": "number",
      "default": 0,
      "minimum": 0
    },
    "property_type": {
      "enum": [
        "house",
        "apartment",
        "land",
        "house_land"
      ],
      "type": "string",
      "default": "house"
    },
    "lives_overseas": {
      "type": "boolean",
      "default": false,
      "description": "Main borrower currently lives outside Australia"
    },
    "personal_loans": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Personal and car loan balances"
    },
    "preferred_time": {
      "enum": [
        "Morning",
        "Afternoon",
        "Evening",
        "Anytime"
      ],
      "type": "string",
      "default": "Anytime"
    },
    "credit_defaults": {
      "enum": [
        "no",
        "yes",
        "unsure"
      ],
      "type": "string",
      "default": "no"
    },
    "income_currency": {
      "enum": [
        "AUD",
        "USD",
        "GBP",
        "EUR",
        "NZD",
        "SGD",
        "HKD",
        "AED",
        "CAD",
        "JPY",
        "CNY",
        "other"
      ],
      "type": "string",
      "default": "AUD"
    },
    "new_or_existing": {
      "enum": [
        "existing",
        "new"
      ],
      "type": "string",
      "default": "existing"
    },
    "credit_card_limits": {
      "type": "number",
      "default": 0,
      "minimum": 0,
      "description": "Total credit card limits (not balances)"
    }
  }
}
refer_to_broker annotations
{
  "readOnlyHint": false,
  "openWorldHint": true,
  "idempotentHint": false,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
777 ms
95th percentile latency
777 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 777 ms · metadata changed · 5 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http keyready-mcp https://mcp.keyready.au/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add keyready-mcp --url https://mcp.keyready.au/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable keyready-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "keyready-mcp": {
      "url": "https://mcp.keyready.au/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "keyready-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.keyready.au/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start keyready-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "keyready-mcp": {
      "type": "http",
      "url": "https://mcp.keyready.au/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http keyready-mcp https://mcp.keyready.au/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "keyready-mcp": {
      "url": "https://mcp.keyready.au/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "keyready-mcp": {
      "serverUrl": "https://mcp.keyready.au/mcp"
    }
  }
}

Let your agent find its tools

Find servers like KeyReady MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.