Jerry Insurance

Compare US car, home and renters insurance quotes with Jerry. Sign-in required; buy in the app.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
89%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,577Tokens (definiciones de herramientas)
~8.5 KBTamaño de respuesta típico
Impacto significativo en la atención (5.14% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "insurance": {
      "url": "https://mcp.jerry.ai/mcp"
    }
  }
}

Puntos de conexión remotos

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

Qué puede hacer

Inventario de herramientas

Herramientas (8)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢jerry_get_account

Read the name, email and phone on the customer's Jerry account, and whether the phone is verified. It doesn't verify an email or change any insurance information.

Esquema de entrada

{
  "type": "object",
  "properties": {},
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "phone": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "phoneVerified": {
          "type": "boolean"
        }
      },
      "required": [
        "name",
        "email",
        "phone",
        "phoneVerified"
      ],
      "additionalProperties": false,
      "description": "Customer account contact profile"
    },
    "message": {
      "type": "string"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡jerry_start_shopping(sources, permission, policyTypes, application, idempotencyKey)

Start shopping for the insurance products the customer asked for. If a shopping intent for exactly these products is already open, it resumes that one. Pass the main facts you already know in application, so the status asks only for the rest. application takes the main fields only: send any other fact with jerry_update_application right after. Returns the status, with rejected and clarify. When a fact comes from anything other than the customer, sources says where, and permission holds the customer's reply allowing it.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "sources": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "customer",
          "document",
          "financial_accounts"
        ]
      },
      "description": "Where these facts come from; defaults to ['customer']."
    },
    "permission": {
      "type": "object",
      "properties": {
        "customerReply": {
          "type": "string",
          "maxLength": 1000,
          "description": "The customer's exact reply."
        }
      },
      "required": [
        "customerReply"
      ],
      "additionalProperties": true,
      "description": "Required once when sources include anything but customer."
    },
    "policyTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "car",
          "home",
          "renter",
          "condo",
          "townhouse",
          "motorcycle",
          "named_non_owner"
        ]
      },
      "description": "Products to shop for."
    },
    "application": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 100,
              "description": "Full legal name."
            },
            "dateOfBirth": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "address": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The whole address as one line, e.g. \"123 Main St Apt 4, Austin TX 78701\"."
                },
                "street": {
                  "type": "string"
                },
                "unit": {
                  "type": "string",
                  "description": "Apartment or unit."
                },
                "city": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "description": "Two-letter state code."
                },
                "zip": {
                  "type": "string",
                  "description": "Five-digit ZIP code."
                },
                "confirmation": {
                  "type": "string",
                  "description": "From an address_unverified clarify, once the customer confirms that address."
                }
              },
              "additionalProperties": true,
              "description": "Home address, where the vehicles are kept."
            },
            "email": {
              "type": "string"
            }
          },
          "additionalProperties": true
        },
        "history": {
          "type": "object",
          "properties": {
            "currentlyInsured": {
              "type": "boolean",
              "description": "Has auto insurance now."
            },
            "insuredFor": {
              "type": "string",
              "enum": [
                "LessThanSixMonths",
                "SixToTwelveMonths",
                "OneToThreeYears",
                "ThreeToFiveYears",
                "MoreThanFiveYears"
              ],
              "description": "How long continuously insured."
            },
            "notInsuredReason": {
              "type": "string",
              "enum": [
                "expired_last_30_days",
                "driving_with_no_insurance",
                "did_not_own_vehicle",
                "did_not_drive_6_months",
                "other"
              ]
            },
            "currentCarrier": {
              "type": "string",
              "description": "Current auto insurer name, e.g. \"GEICO\"."
            }
          },
          "additionalProperties": true
        },
        "drivers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "name": {
                "type": "string",
                "maxLength": 100
              },
              "dateOfBirth": {
                "type": "string",
                "description": "YYYY-MM-DD."
              },
              "relationship": {
                "type": "string",
                "enum": [
                  "Child",
                  "Domestic Partner",
                  "Employee",
                  "Insured",
                  "Other",
                  "Parent",
                  "Relative",
                  "Spouse",
                  "Roommate"
                ]
              },
              "gender": {
                "type": "string",
                "enum": [
                  "Male",
                  "Female"
                ]
              },
              "maritalStatus": {
                "type": "string",
                "enum": [
                  "Single",
                  "Married",
                  "Domestic Partner",
                  "Widowed",
                  "Separated",
                  "Divorced"
                ]
              },
              "licenseState": {
                "type": "string",
                "description": "Two-letter state code."
              },
              "ageFirstLicensed": {
                "type": "number"
              },
              "occupation": {
                "type": "string",
                "maxLength": 100,
                "description": "Job in plain words, e.g. \"nurse\", or a candidate value from clarify."
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "vehicles": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "vin": {
                "type": "string",
                "description": "17-character VIN; sets year, make and model."
              },
              "licensePlate": {
                "type": "string",
                "description": "With licensePlateState; sets year, make and model."
              },
              "licensePlateState": {
                "type": "string",
                "description": "Two-letter state code."
              },
              "year": {
                "type": "string",
                "description": "YYYY."
              },
              "make": {
                "type": "string",
                "maxLength": 50
              },
              "model": {
                "type": "string",
                "maxLength": 50
              },
              "ownership": {
                "type": "string",
                "enum": [
                  "Owned",
                  "Lien",
                  "Leased"
                ]
              },
              "usage": {
                "type": "string",
                "enum": [
                  "Business Use",
                  "Work Commute",
                  "Farm Use",
                  "Farm Business Use",
                  "Pleasure",
                  "Off-road"
                ]
              },
              "annualMileage": {
                "type": "number",
                "description": "Miles per year, e.g. 10 miles a day is 3650."
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "motorcycles": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "vin": {
                "type": "string"
              },
              "year": {
                "type": "string",
                "description": "YYYY."
              },
              "make": {
                "type": "string",
                "maxLength": 50
              },
              "model": {
                "type": "string",
                "maxLength": 50
              },
              "engineCc": {
                "type": "string",
                "description": "Engine size in cc."
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "homes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "address": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The whole address as one line, e.g. \"123 Main St Apt 4, Austin TX 78701\"."
                  },
                  "street": {
                    "type": "string"
                  },
                  "unit": {
                    "type": "string",
                    "description": "Apartment or unit."
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string",
                    "description": "Two-letter state code."
                  },
                  "zip": {
                    "type": "string",
                    "description": "Five-digit ZIP code."
                  },
                  "confirmation": {
                    "type": "string",
                    "description": "From an address_unverified clarify, once the customer confirms that address."
                  }
                },
                "additionalProperties": true
              },
              "occupancy": {
                "type": "string",
                "enum": [
                  "Owner",
                  "Secondary Home",
                  "Renter",
                  "Vacant"
                ]
              },
              "yearBuilt": {
                "type": "number"
              },
              "squareFeet": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "maxItems": 3
        },
        "startDates": {
          "type": "object",
          "properties": {
            "car": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "home": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "motorcycle": {
              "type": "string",
              "description": "YYYY-MM-DD."
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true,
      "description": "The main facts the agent already knows, saved in the same call so the first status asks only for the rest. Send other facts with updateShoppingIntentApplication."
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Unique key for safely retrying this customer action"
    }
  },
  "required": [
    "policyTypes",
    "idempotencyKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡jerry_update_application(intentId, sources, permission, application, idempotencyKey)

Save application facts the customer gave, in their own words. Every field is optional and merges into what's saved, so send only facts that are new or changed. - Items with an id update that driver, car or home; items without one are added. included puts an item on the quote or leaves it off. - Add a car by vin, by licensePlate and licensePlateState, or by year, make and model. Send year, make and model only when there's no VIN or plate, since those set them. A final price needs the VIN. - Answer any other requirement in answers, by its path. A fact that has its own field here comes back rejected as typed_field if it's sent in answers. - coverage and history.currentMonthlyPremiumCents are optional and never block quotes. Send them only when the customer asks for a coverage level or specific coverages, or says what they pay now. - Drivers and cars Jerry found are in the status's suggested list, each with an id that starts with suggested:. Once the customer confirms one, send that id in drivers or vehicles with included: true. Returns the status, with suggested. rejected lists values to correct with the customer, and clarify lists values to choose from. The rest of the write is saved either way.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "description": "The shopping intent id returned by an earlier shopping tool."
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "customer",
          "document",
          "financial_accounts"
        ]
      },
      "description": "Where these facts come from; defaults to ['customer']."
    },
    "permission": {
      "type": "object",
      "properties": {
        "customerReply": {
          "type": "string",
          "maxLength": 1000,
          "description": "The customer's exact reply."
        }
      },
      "required": [
        "customerReply"
      ],
      "additionalProperties": true,
      "description": "Required once when sources include anything but customer."
    },
    "application": {
      "type": "object",
      "properties": {
        "customer": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "maxLength": 100,
              "description": "Full legal name."
            },
            "dateOfBirth": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "address": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The whole address as one line, e.g. \"123 Main St Apt 4, Austin TX 78701\"."
                },
                "street": {
                  "type": "string"
                },
                "unit": {
                  "type": "string",
                  "description": "Apartment or unit."
                },
                "city": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "description": "Two-letter state code."
                },
                "zip": {
                  "type": "string",
                  "description": "Five-digit ZIP code."
                },
                "confirmation": {
                  "type": "string",
                  "description": "From an address_unverified clarify, once the customer confirms that address."
                }
              },
              "additionalProperties": true,
              "description": "Home address, where the vehicles are kept."
            },
            "previousAddress": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string",
                  "description": "The whole address as one line, e.g. \"123 Main St Apt 4, Austin TX 78701\"."
                },
                "street": {
                  "type": "string"
                },
                "unit": {
                  "type": "string",
                  "description": "Apartment or unit."
                },
                "city": {
                  "type": "string"
                },
                "state": {
                  "type": "string",
                  "description": "Two-letter state code."
                },
                "zip": {
                  "type": "string",
                  "description": "Five-digit ZIP code."
                },
                "confirmation": {
                  "type": "string",
                  "description": "From an address_unverified clarify, once the customer confirms that address."
                }
              },
              "additionalProperties": true,
              "description": "Address before a recent move."
            },
            "email": {
              "type": "string"
            },
            "trackDriving": {
              "type": "boolean",
              "description": "false: no driving tracking."
            }
          },
          "additionalProperties": true
        },
        "history": {
          "type": "object",
          "properties": {
            "currentlyInsured": {
              "type": "boolean",
              "description": "Has auto insurance now."
            },
            "insuredFor": {
              "type": "string",
              "enum": [
                "LessThanSixMonths",
                "SixToTwelveMonths",
                "OneToThreeYears",
                "ThreeToFiveYears",
                "MoreThanFiveYears"
              ],
              "description": "How long continuously insured."
            },
            "notInsuredReason": {
              "type": "string",
              "enum": [
                "expired_last_30_days",
                "driving_with_no_insurance",
                "did_not_own_vehicle",
                "did_not_drive_6_months",
                "other"
              ]
            },
            "motorcycleCurrentlyInsured": {
              "type": "boolean"
            },
            "motorcycleInsuredFor": {
              "type": "string",
              "enum": [
                "LessThanOneYear",
                "OneYear",
                "TwoToThreeYears",
                "FourToSixYears",
                "MoreThanSevenYears"
              ]
            },
            "hadMotorcycleInsurance": {
              "type": "boolean"
            },
            "violationsCount": {
              "type": "string",
              "enum": [
                "None",
                "OneToTwo",
                "ThreeToFour",
                "FiveOrMore",
                "DoNotRemember"
              ],
              "description": "Violations in the last 3 years."
            },
            "claims5y": {
              "type": "boolean",
              "description": "Any claim in the last 5 years."
            },
            "creditRange": {
              "type": "string",
              "enum": [
                "LessThan550",
                "Between550and659",
                "Between660and750",
                "MoreThan750",
                "NotSure"
              ]
            },
            "currentCarrier": {
              "type": "string",
              "description": "Current auto insurer name, e.g. \"GEICO\"."
            },
            "currentMonthlyPremiumCents": {
              "type": "number",
              "description": "Car insurance paid now, per month in USD cents; quotes then show savings."
            }
          },
          "additionalProperties": true
        },
        "drivers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "name": {
                "type": "string",
                "maxLength": 100
              },
              "dateOfBirth": {
                "type": "string",
                "description": "YYYY-MM-DD."
              },
              "relationship": {
                "type": "string",
                "enum": [
                  "Child",
                  "Domestic Partner",
                  "Employee",
                  "Insured",
                  "Other",
                  "Parent",
                  "Relative",
                  "Spouse",
                  "Roommate"
                ]
              },
              "gender": {
                "type": "string",
                "enum": [
                  "Male",
                  "Female"
                ]
              },
              "maritalStatus": {
                "type": "string",
                "enum": [
                  "Single",
                  "Married",
                  "Domestic Partner",
                  "Widowed",
                  "Separated",
                  "Divorced"
                ]
              },
              "excludedReason": {
                "type": "string",
                "enum": [
                  "Insured Elsewhere",
                  "License Suspended/Revoked",
                  "Never Licensed",
                  "Away at School",
                  "Military Deployed Overseas",
                  "Out of Country",
                  "Moved Out",
                  "Unknown Person"
                ],
                "description": "Why a household member is not rated."
              },
              "licenseStatus": {
                "type": "string",
                "enum": [
                  "Valid",
                  "Permit",
                  "Expired",
                  "Suspended",
                  "Cancelled",
                  "Not Licensed",
                  "Permanently Revoked",
                  "State ID"
                ]
              },
              "licenseState": {
                "type": "string",
                "description": "Two-letter state code."
              },
              "licenseNumber": {
                "type": "string"
              },
              "ageFirstLicensed": {
                "type": "number"
              },
              "sr22Required": {
                "type": "boolean"
              },
              "occupation": {
                "type": "string",
                "maxLength": 100,
                "description": "Job in plain words, e.g. \"nurse\", or a candidate value from clarify."
              },
              "goodStudent": {
                "type": "boolean"
              },
              "completedDriverTraining": {
                "type": "boolean",
                "description": "Completed a driver safety course."
              },
              "education": {
                "type": "string",
                "enum": [
                  "No High School Diploma",
                  "High School Diploma",
                  "Some College - No Degree",
                  "Vocational/Technical Degree",
                  "Associates Degree",
                  "Bachelors",
                  "Masters",
                  "Phd",
                  "Medical Degree",
                  "Law Degree"
                ]
              },
              "hasMotorcycleEndorsement": {
                "type": "boolean"
              },
              "motorcycleEndorsementYear": {
                "type": "string",
                "description": "YYYY."
              },
              "motorcycleYearsExperience": {
                "type": "number"
              },
              "completedMotorcycleSafetyCourse": {
                "type": "boolean"
              },
              "ridesOffRoadOnly": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "vehicles": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "vin": {
                "type": "string",
                "description": "17-character VIN; sets year, make and model."
              },
              "prefillId": {
                "type": "string",
                "description": "suggested: id of the same found car"
              },
              "licensePlate": {
                "type": "string",
                "description": "With licensePlateState; sets year, make and model."
              },
              "licensePlateState": {
                "type": "string",
                "description": "Two-letter state code."
              },
              "year": {
                "type": "string",
                "description": "YYYY."
              },
              "make": {
                "type": "string",
                "maxLength": 50
              },
              "model": {
                "type": "string",
                "maxLength": 50
              },
              "ownership": {
                "type": "string",
                "enum": [
                  "Owned",
                  "Lien",
                  "Leased"
                ]
              },
              "purchaseDate": {
                "type": "string",
                "description": "YYYY-MM-DD, or YYYY-MM when only the month is known."
              },
              "usage": {
                "type": "string",
                "enum": [
                  "Business Use",
                  "Work Commute",
                  "Farm Use",
                  "Farm Business Use",
                  "Pleasure",
                  "Off-road"
                ]
              },
              "annualMileage": {
                "type": "number",
                "description": "Miles per year, e.g. 10 miles a day is 3650."
              },
              "rideshare": {
                "type": "boolean"
              },
              "delivery": {
                "type": "boolean"
              },
              "businessUse": {
                "type": "boolean"
              },
              "hasDamage": {
                "type": "boolean"
              },
              "hasBrandedTitle": {
                "type": "boolean"
              },
              "valueDollars": {
                "type": "number",
                "description": "Value in dollars, for cars built before 1981."
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "motorcycles": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "vin": {
                "type": "string"
              },
              "year": {
                "type": "string",
                "description": "YYYY."
              },
              "make": {
                "type": "string",
                "maxLength": 50
              },
              "model": {
                "type": "string",
                "maxLength": 50
              },
              "engineCc": {
                "type": "string",
                "description": "Engine size in cc."
              },
              "hasAntiLockBrakes": {
                "type": "boolean"
              },
              "antiTheftType": {
                "type": "string",
                "enum": [
                  "Active",
                  "Recovery",
                  "Both",
                  "None"
                ]
              },
              "usage": {
                "type": "string",
                "enum": [
                  "Pleasure",
                  "Commute",
                  "Off-road"
                ]
              },
              "annualMileage": {
                "type": "number"
              },
              "ownership": {
                "type": "string",
                "enum": [
                  "Owned",
                  "Lien",
                  "Leased"
                ]
              },
              "purchaseDate": {
                "type": "string",
                "description": "YYYY-MM-DD, or YYYY-MM when only the month is known."
              },
              "valueDollars": {
                "type": "number",
                "description": "Value in dollars."
              },
              "hasBrandedTitle": {
                "type": "boolean"
              },
              "hasRoadLicense": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          },
          "maxItems": 8
        },
        "homes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "Omit to add an item. A suggested: id adds what Jerry found; fields sent with it win."
              },
              "included": {
                "type": "boolean",
                "description": "Put on the quote (true) or leave off (false)."
              },
              "address": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "description": "The whole address as one line, e.g. \"123 Main St Apt 4, Austin TX 78701\"."
                  },
                  "street": {
                    "type": "string"
                  },
                  "unit": {
                    "type": "string",
                    "description": "Apartment or unit."
                  },
                  "city": {
                    "type": "string"
                  },
                  "state": {
                    "type": "string",
                    "description": "Two-letter state code."
                  },
                  "zip": {
                    "type": "string",
                    "description": "Five-digit ZIP code."
                  },
                  "confirmation": {
                    "type": "string",
                    "description": "From an address_unverified clarify, once the customer confirms that address."
                  }
                },
                "additionalProperties": true
              },
              "occupancy": {
                "type": "string",
                "enum": [
                  "Owner",
                  "Secondary Home",
                  "Renter",
                  "Vacant"
                ]
              },
              "isClosing": {
                "type": "boolean",
                "description": "Still closing on the purchase."
              },
              "purchaseDate": {
                "type": "string",
                "description": "YYYY-MM-DD."
              },
              "hasMortgage": {
                "type": "boolean"
              },
              "isInsured": {
                "type": "boolean"
              },
              "notInsuredReason": {
                "type": "string",
                "enum": [
                  "new_purchase",
                  "expired_last_30_days",
                  "expired_over_30_days",
                  "owner_without_insurance",
                  "other"
                ]
              },
              "yearBuilt": {
                "type": "number"
              },
              "squareFeet": {
                "type": "number"
              },
              "stories": {
                "type": "string",
                "description": "Use the requirement's options."
              },
              "dwellingType": {
                "type": "string",
                "description": "Use the requirement's options."
              },
              "roofMaterial": {
                "type": "string",
                "description": "Use the requirement's options."
              },
              "roofUpdatedYear": {
                "type": "number"
              },
              "plumbingTypes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "CastIron",
                    "Galvanized",
                    "Polybutylene"
                  ]
                },
                "description": "Empty when none apply."
              },
              "wiringTypes": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "FuseBox",
                    "KnobAndTubeWiring",
                    "ElectricalServiceUnder100Amps",
                    "AluminumWiring"
                  ]
                },
                "description": "Empty when none apply."
              },
              "hasDogs": {
                "type": "boolean"
              },
              "dogBreeds": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "Akita",
                    "AmericanBulldog",
                    "CaneCorso",
                    "Chow",
                    "Dingo",
                    "Doberman",
                    "Gshepard",
                    "PitBull",
                    "Mastiffs",
                    "Great Danes",
                    "Malamute",
                    "Presa Canarios",
                    "StaffordshireTerrie",
                    "Rottweiler",
                    "WolfHybrid",
                    "Husky",
                    "SaintBernard"
                  ]
                },
                "description": "Listed breeds only; empty when none."
              },
              "hasDogBiteHistory": {
                "type": "boolean"
              },
              "hasSwimmingPool": {
                "type": "boolean"
              },
              "swimmingPoolType": {
                "type": "string",
                "enum": [
                  "Above Ground with Slide",
                  "Above Ground without Slide",
                  "In Ground with Slide",
                  "In Ground without Slide",
                  "Indoor"
                ]
              },
              "isSwimmingPoolFenced": {
                "type": "boolean"
              },
              "hasExoticOrFarmAnimals": {
                "type": "boolean"
              },
              "hasTrampoline": {
                "type": "boolean"
              },
              "hasBusiness": {
                "type": "boolean"
              },
              "hasDaycare": {
                "type": "boolean"
              },
              "hasBurglarAlarm": {
                "type": "string",
                "enum": [
                  "None",
                  "Local",
                  "Central",
                  "Direct"
                ]
              },
              "hasFireAlarm": {
                "type": "string",
                "enum": [
                  "None",
                  "Local",
                  "Central",
                  "Direct"
                ]
              },
              "hasSprinkler": {
                "type": "string",
                "enum": [
                  "None",
                  "Partial",
                  "Full"
                ]
              },
              "inGatedCommunity": {
                "type": "boolean"
              }
            },
            "additionalProperties": true
          },
          "maxItems": 3
        },
        "startDates": {
          "type": "object",
          "properties": {
            "car": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "home": {
              "type": "string",
              "description": "YYYY-MM-DD."
            },
            "motorcycle": {
              "type": "string",
              "description": "YYYY-MM-DD."
            }
          },
          "additionalProperties": true
        },
        "coverage": {
          "type": "object",
          "properties": {
            "plan": {
              "type": "string",
              "enum": [
                "Basic plan",
                "Basic + full coverage",
                "Standard plan",
                "Preferred plan",
                "Custom plan"
              ],
              "description": "Basic plan: state-minimum liability; Basic + full coverage: adds $1,000 comprehensive and collision; Standard plan: 50/100, $1,000 deductibles, towing, rental; Preferred plan: 100/300, $500 deductibles; Custom plan: the values under items and perAssetItems. Custom values start from the pre-made plan sent here, else the round's."
            },
            "items": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "car"
                    ]
                  }
                },
                "required": [
                  "name",
                  "value",
                  "type"
                ],
                "additionalProperties": true
              },
              "description": "Whole-policy values, e.g. BI"
            },
            "perAssetItems": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "A car's id."
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "value": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "name",
                        "value"
                      ],
                      "additionalProperties": true
                    }
                  }
                },
                "required": [
                  "id",
                  "items"
                ],
                "additionalProperties": true
              },
              "description": "Per car, e.g. CollisionDeductible"
            }
          },
          "additionalProperties": true
        },
        "answers": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "description": "The requirement's path, as status returned it."
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ],
                "description": "One of the requirement's options, by value or label (true or false for yes/no), or a list for a multi-select."
              }
            },
            "required": [
              "path",
              "value"
            ],
            "additionalProperties": true
          },
          "maxItems": 50,
          "description": "Answers to requirements not typed above."
        }
      },
      "additionalProperties": true
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Unique key for safely retrying this customer action"
    }
  },
  "required": [
    "intentId",
    "application",
    "idempotencyKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jerry_request_quotes(intentId, confirmation, idempotencyKey)

Request quotes. Every request needs the confirmation from the status: show its summary, get the customer's explicit yes, then pass its token and their exact reply. Nothing is requested unless requested comes back true; reason says why not, and status is the intent after the call. On stale_confirmation the facts changed: show the new confirmation and ask again.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "description": "The shopping intent id returned by an earlier shopping tool."
    },
    "confirmation": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "description": "The status confirmation's token; a changed fact makes it stale."
        },
        "customerReply": {
          "type": "string",
          "maxLength": 1000,
          "description": "The customer's exact reply."
        }
      },
      "required": [
        "token",
        "customerReply"
      ],
      "additionalProperties": true
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Unique key for safely retrying this customer action"
    }
  },
  "required": [
    "intentId",
    "confirmation",
    "idempotencyKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jerry_request_final_price(intentId, bundleId, confirmation, idempotencyKey)

Get the final price of the quote the customer chose. Call it first with bundleId only: that selects the quote and returns the status, which may list what the final price still needs, then a confirmation. After the customer says yes to that confirmation, call again with its token and the customer's exact reply. Nothing is requested unless requested comes back true.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "description": "The shopping intent id returned by an earlier shopping tool."
    },
    "bundleId": {
      "type": "string",
      "description": "The bundleId of the chosen quote."
    },
    "confirmation": {
      "type": "object",
      "properties": {
        "token": {
          "type": "string",
          "description": "The status confirmation's token; a changed fact makes it stale."
        },
        "customerReply": {
          "type": "string",
          "maxLength": 1000,
          "description": "The customer's exact reply."
        }
      },
      "required": [
        "token",
        "customerReply"
      ],
      "additionalProperties": true,
      "description": "Omit on the first call, which selects the quote and returns the confirmation to show."
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Unique key for safely retrying this customer action"
    }
  },
  "required": [
    "intentId",
    "bundleId",
    "idempotencyKey"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jerry_wait(intentId, for, timeoutSeconds)

Wait for quotes or a final price after requesting them. Returns as soon as they're ready, or after timeoutSeconds with the status so far; call again while they're still running. When quotes are ready, it returns the quote list too. A final price is ready once it's resolved. If a Jerry agent takes it over (manual) or it's taking longer than usual (delayed), the wait stops with that reason, and the status's nextStep says what happens next. Calling again on a delayed price keeps waiting.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "minLength": 1,
      "description": "The shopping intent id returned by an earlier shopping tool."
    },
    "for": {
      "type": "string",
      "enum": [
        "quotes",
        "final_price"
      ],
      "description": "quotes after jerry_request_quotes; final_price after jerry_request_final_price requested it."
    },
    "timeoutSeconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Longest time to wait, in seconds; default 20, at most 20."
    }
  },
  "required": [
    "intentId",
    "for"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jerry_get_status(intentId, full)

Read where the customer's insurance shopping stands: the stage, what the current goal still needs (by application path), a summary of the application, what Jerry found that isn't on the application yet (suggested) and, when a request is ready, the confirmation to show. It doesn't change anything.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "description": "The shopping intent id returned by an earlier shopping tool. Omit it to read the customer's most recent open intent."
    },
    "full": {
      "type": "boolean",
      "description": "Include every typed application fact by application path, with sensitive values masked."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢jerry_get_quotes(intentId, bundleIds)

List every quote for a shopping intent, cheapest first by monthly price (in USD cents); each policy has a coverageSummary. Pass up to 4 bundleIds to also get their coverages, discounts and payment plans, for example to compare them. Prices are estimates until priceStatus is final. Declined quotes are left out and counted in declinedCount. It doesn't request quotes.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "intentId": {
      "type": "string",
      "description": "The shopping intent id returned by an earlier shopping tool."
    },
    "bundleIds": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Up to 4 bundle ids to return with coverages, discounts and payment plans. Omit to list every quote."
    }
  },
  "required": [
    "intentId"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada8 herramientas