{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "applicant": {
      "type": "object",
      "properties": {
        "zipCode": {
          "type": "string",
          "description": "5-digit US zip code of the property to insure"
        },
        "state": {
          "type": "string",
          "description": "2-letter US state code (e.g. TX, CA, NY). Derive this from the ZIP code yourself \u2014 do NOT ask the user for their state. Only ask for the state if you genuinely cannot determine it from the ZIP."
        }
      },
      "required": [
        "zipCode",
        "state"
      ]
    },
    "ownership": {
      "type": "string",
      "enum": [
        "own",
        "rent"
      ],
      "description": "Whether the user OWNS the property (homeowners or condo insurance) or RENTS it (renters/tenant insurance). This is the product discriminator \u2014 \"rent\" \u2192 renters, \"own\" \u2192 homeowners/condo. Required \u2014 ask the user if it is not clear from context."
    },
    "propertyType": {
      "description": "Type of dwelling, independent of own/rent: \"Home\" (house), \"Condo\" (condominium unit), or \"Apartment\". REQUIRED for OWNED property \u2014 it selects home vs condo pricing, so ask the user (do not guess). For renters it is captured but does not change the estimate, and may be omitted.",
      "type": "string",
      "enum": [
        "Home",
        "Condo",
        "Apartment"
      ]
    },
    "squareFootage": {
      "description": "Approximate living area in square feet (e.g. 1800). REQUIRED for OWNED property \u2014 it is a primary rating input, so ask the user. Not used for renters.",
      "type": "number"
    },
    "yearBuilt": {
      "description": "4-digit year the home was built (e.g. \"1998\"). REQUIRED for OWNED property \u2014 used to derive home age, so ask the user. Not used for renters.",
      "type": "string"
    },
    "roofUpdateYear": {
      "description": "4-digit year the roof was last replaced or updated (e.g. \"2015\"). For OWNED property, collect it along with property type, square footage, and year built. If the user explicitly does not know it, that is fine \u2014 omit it and it defaults to the year built. Not used for renters.",
      "type": "string"
    },
    "platform": {
      "description": "AI platform name for tracking (claude, chatgpt, gemini, copilot).",
      "type": "string"
    },
    "xcid": {
      "description": "Stable user/session identifier (UUID v4). Pass the SAME value on every tool call in this conversation (including get_auto_insurance_quote) so a user is linked across reruns. If omitted, the chatbot mints one and returns it in the response so you can reuse it on subsequent calls.",
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    }
  },
  "required": [
    "applicant",
    "ownership"
  ],
  "title": "get_home_insurance_quote input",
  "$comment": "Verbatim inputSchema of MCP tool get_home_insurance_quote from tools/list at https://choosemylo.com/api/gateway/chatbot/mcp (probed 2026-11-03)"
}