Menlo Insurance MCP
An official MCP server by Menlo Insurance Services that allows agents to list insurance products, initiate or continue quote applications, answer follow-up questions, and check quote status. It supports document uploads and integrates with major AI clients like ChatGPT and Claude, facilitating the insurance brokerage workflow without binding policies directly.
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.
https://www.menloinsurance.com/mcpWhat its tools do
12 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (7)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Passed Official MCP Registry namespace is tied to menloinsurance.com ·
- Passed Endpoint is on the registry namespace domain ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- List Menlo's insurance products and get a quote-form link
- Start or continue a quote with customer OAuth approval
- Answer quote follow-up questions and read status
Source and maintenance
Protocol and capabilities
- Server
- menlo-insurance 0.4.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 12 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
12 advertised
list_products — Find Menlo insurance products
Use this when a customer wants insurance coverage or a quote and you need the product Menlo can quote and where, for example builders risk for a renovation, vacant home insurance, a DIC policy alongside the California FAIR Plan, or event insurance. Returns published formIds, labels, states, website links and the application process. When the customer wants help insuring their risk, continue with start_quote. General product browsing needs no contact details. Availability does not guarantee eligibility or a carrier quote. Do not use for claims or changes to an existing policy.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"products"
],
"properties": {
"products": {
"type": "array",
"items": {
"type": "object",
"required": [
"formId",
"label",
"quoteUrl",
"availableStates",
"quotingProcess"
],
"properties": {
"label": {
"type": "string"
},
"formId": {
"type": "string"
},
"quoteUrl": {
"type": "string",
"format": "uri"
},
"quotingProcess": {
"type": "string"
},
"availableStates": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"title": "Find Menlo insurance products",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_quote_link — Get a Menlo quote form link
Use this when the customer prefers to fill in a quote request on Menlo's website rather than in chat. Returns the website link for a formId from list_products. Does not create, read or submit an application.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"formId"
],
"properties": {
"formId": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,60}$"
},
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"product",
"nextStep"
],
"properties": {
"product": {
"type": "object",
"required": [
"formId",
"label",
"quoteUrl",
"availableStates"
],
"properties": {
"label": {
"type": "string"
},
"formId": {
"type": "string"
},
"quoteUrl": {
"type": "string",
"format": "uri"
},
"availableStates": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"nextStep": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Get a Menlo quote form link",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}start_quote — Start your connected Menlo quote
Use this when the customer wants Menlo to help insure a home, business, project or event, or to resume their connected quote; they do not need to say 'apply'. Choose the matching formId from list_products. Requires website connection consent first. Creates or resumes one quote and returns its next questions, starting with missing lead contact details. Ask for their name and preferred email OR phone so Menlo can follow up, then save the details they provide with answer_quote_page. Reuse confirmed quote details or details volunteered for this request; do not re-ask or infer contact information from unrelated history. Respect a declined contact request. Repeated calls return the same quote; another product cannot replace it. Does not request carrier pricing, accept terms or submit the application.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"formId": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,60}$",
"description": "Published formId from list_products, chosen for the customer's stated insurance need. Required for a new connection; omit to resume its existing quote."
},
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"baseRevision",
"stage",
"section",
"websiteRequired",
"websiteRequiredReason",
"websiteUrl",
"geography",
"page",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"page": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"title",
"index",
"pageCount",
"questions",
"answerSchema"
],
"properties": {
"id": {
"type": "string"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"title": {
"type": "string"
},
"pageCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"control",
"required",
"answerOnWebsite",
"readOnly"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"control": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"label"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"additionalProperties": false
}
},
"helpText": {
"type": "string"
},
"readOnly": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"prefillValue": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 100
},
{
"type": "null"
}
]
},
"attachDocument": {
"type": "boolean",
"const": true
},
"answerOnWebsite": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"answerSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"section": {
"enum": [
"easy",
"recommendation",
"application",
"review",
"waiting",
"out_of_area",
"cancelled"
],
"type": "string"
},
"nextStep": {
"type": "string"
},
"geography": {
"anyOf": [
{
"type": "object",
"required": [
"eligible",
"state"
],
"properties": {
"basis": {
"enum": [
"license",
"product"
],
"type": "string"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eligible": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"formRevisionId": {
"type": "string"
},
"websiteRequired": {
"type": "boolean"
},
"websiteRequiredReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Start your connected Menlo quote",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_current_page — Read your current application page
Use this when continuing the connected quote, including its first contact questions, and again after every save. Returns the current page: grouped questions, visibility conditions, ZIP/state prefills, document questions (attachDocument) and whether the page must be completed on Menlo’s website (protected questions). Reading never creates a lead or starts carrier processing. Do not use for carrier follow-up questions after submission; use get_missing_questions.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"baseRevision",
"stage",
"section",
"websiteRequired",
"websiteRequiredReason",
"websiteUrl",
"geography",
"page",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"page": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"title",
"index",
"pageCount",
"questions",
"answerSchema"
],
"properties": {
"id": {
"type": "string"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"title": {
"type": "string"
},
"pageCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"control",
"required",
"answerOnWebsite",
"readOnly"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"control": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"label"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"additionalProperties": false
}
},
"helpText": {
"type": "string"
},
"readOnly": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"prefillValue": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 100
},
{
"type": "null"
}
]
},
"attachDocument": {
"type": "boolean",
"const": true
},
"answerOnWebsite": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"answerSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"section": {
"enum": [
"easy",
"recommendation",
"application",
"review",
"waiting",
"out_of_area",
"cancelled"
],
"type": "string"
},
"nextStep": {
"type": "string"
},
"geography": {
"anyOf": [
{
"type": "object",
"required": [
"eligible",
"state"
],
"properties": {
"basis": {
"enum": [
"license",
"product"
],
"type": "string"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eligible": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"formRevisionId": {
"type": "string"
},
"websiteRequired": {
"type": "boolean"
},
"websiteRequiredReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Read your current application page",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}answer_quote_page — Save your current application page
Use this when the customer has answered the current contact or application questions, including coverage choices they made. Saves those answers and returns the updated page. Contact answers on a real quote also file the lead in Menlo's CRM; saving a lead does not submit the application or request carrier quotes. Takes the current baseRevision and an eventId; retry identical answers with the same eventId. A save can overwrite earlier answers and can resume eligible processing under the website's existing rules. Save only details the customer supplied or confirmed for this request. Do not use for protected information, consent, signatures or a document upload (use attach_quote_document).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eventId",
"baseRevision",
"answers"
],
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"questionId",
"status",
"value"
],
"properties": {
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 100
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"confirmed",
"unknown",
"declined"
],
"type": "string"
},
"questionId": {
"type": "string",
"maxLength": 160,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Only customer-confirmed facts from the current page with answerOnWebsite false; readonly prefills are server-owned"
},
"eventId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$",
"description": "Unique submission ID; retry identical answers with the same eventId"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Current baseRevision returned by get_current_page"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"baseRevision",
"stage",
"section",
"websiteRequired",
"websiteRequiredReason",
"websiteUrl",
"geography",
"page",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"page": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"title",
"index",
"pageCount",
"questions",
"answerSchema"
],
"properties": {
"id": {
"type": "string"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"title": {
"type": "string"
},
"pageCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"control",
"required",
"answerOnWebsite",
"readOnly"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"control": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"label"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"additionalProperties": false
}
},
"helpText": {
"type": "string"
},
"readOnly": {
"type": "boolean"
},
"required": {
"type": "boolean"
},
"prefillValue": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 100
},
{
"type": "null"
}
]
},
"attachDocument": {
"type": "boolean",
"const": true
},
"answerOnWebsite": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"answerSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"section": {
"enum": [
"easy",
"recommendation",
"application",
"review",
"waiting",
"out_of_area",
"cancelled"
],
"type": "string"
},
"nextStep": {
"type": "string"
},
"geography": {
"anyOf": [
{
"type": "object",
"required": [
"eligible",
"state"
],
"properties": {
"basis": {
"enum": [
"license",
"product"
],
"type": "string"
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"eligible": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"formRevisionId": {
"type": "string"
},
"websiteRequired": {
"type": "boolean"
},
"websiteRequiredReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Save your current application page",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}review_quote_application — Review your application and quote consent
Use this when the current page reports section review and the customer wants to request quotes. Returns the application's answers, the exact quote-authorization consent, the Terms link and a short-lived revision-bound reviewToken when ready; show them to the customer. Protected values are excluded. Reading does not request carrier quotes or accept terms.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"baseRevision",
"readyToSubmit",
"alreadySubmitted",
"reviewToken",
"expiresAt",
"answers",
"websiteOnlyAnswerCount",
"requiredWebsiteQuestionIds",
"termsVersion",
"termsUrl",
"consentText",
"confirmationText",
"websiteUrl",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"questionId",
"label",
"value"
],
"properties": {
"label": {
"type": "string"
},
"value": {},
"questionId": {
"type": "string"
}
},
"additionalProperties": false
}
},
"nextStep": {
"type": "string"
},
"termsUrl": {
"type": "string",
"format": "uri"
},
"expiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"consentText": {
"type": "string"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"reviewToken": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"termsVersion": {
"type": "string"
},
"readyToSubmit": {
"type": "boolean"
},
"alreadySubmitted": {
"type": "boolean"
},
"confirmationText": {
"type": "string"
},
"websiteOnlyAnswerCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"requiredWebsiteQuestionIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}{
"title": "Review your application and quote consent",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}submit_quote_request — Authorize and request carrier quotes
Use this only after the customer has seen review_quote_application's answers and consent and explicitly confirmed them in this conversation. Records acceptance of Menlo's Terms and requests eligible carrier quotes through Menlo's existing workflow. Sends application information to carriers and may authorize consumer reports. Requires separate quotes:submit OAuth permission, a current reviewToken and the exact customerConfirmation from the displayed review; OAuth and saved answers do not constitute agreement. Identical reviewToken and payload retries return the original submission without duplicate requests. Does not purchase, bind coverage, choose coverage, sign a carrier application or enroll in SMS. The reviewer demo never dispatches.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"reviewToken",
"baseRevision",
"termsVersion",
"locale",
"customerConfirmation"
],
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string"
},
"reviewToken": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43}$",
"description": "Short-lived reviewToken returned by review_quote_application; never invent one"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"termsVersion": {
"type": "string",
"const": "quote-terms-2026-10-07"
},
"customerConfirmation": {
"enum": [
"I reviewed my application, agree to Menlo’s Terms of Service and authorize Menlo to request carrier quotes with the consumer-report consent shown above.",
"Revisé mi solicitud, acepto los Términos del servicio de Menlo y autorizo a Menlo a solicitar cotizaciones a las aseguradoras con el consentimiento para informes del consumidor mostrado arriba."
],
"type": "string",
"description": "Exact confirmationText from the review, only after the customer explicitly confirms the displayed application and consent; never infer consent from OAuth, an answer save or an earlier request"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"revision",
"stage",
"aggregate",
"carriers",
"additionalQuestionCount",
"nextAction",
"websiteUrl",
"pricingNotice",
"notificationStatus",
"notificationExpiresAt",
"progressMessage"
],
"properties": {
"demo": {
"type": "boolean"
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"carriers": {
"type": "array",
"items": {
"type": "object",
"required": [
"carrierId",
"status",
"quote",
"declineReason",
"informationSubmitted"
],
"properties": {
"quote": {
"anyOf": [
{
"type": "object",
"required": [
"coverages",
"limits",
"carrier"
],
"properties": {
"fees": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"term": {
"type": "string",
"minLength": 1
},
"intro": {
"type": "string",
"minLength": 1
},
"taxes": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"issuer": {
"type": "object",
"required": [
"name",
"paper",
"evidence"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"paper": {
"enum": [
"admitted",
"surplus"
],
"type": "string"
},
"evidence": {
"type": "string",
"minLength": 1
}
},
"description": "The actual issuing insurer, admitted or surplus (nonadmitted) status, and exact result text evidencing that status (or, when the quote names the insurer and its NAIC number but not its status, the risk state's regulator license record cited with the quote's words). It decides the quote's paper ahead of its route's. Omit unless both are evidenced; never infer from its broker, MGA, premium or insurer name.",
"additionalProperties": false
},
"limits": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"value": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "The quote's limits, sublimits and other stated terms, each labelled as the carrier labels it. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"yearly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"carrier": {
"type": "string",
"minLength": 1
},
"monthly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"building": {
"type": "string",
"minLength": 1
},
"dueToday": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"keyTerms": {
"type": "object",
"properties": {
"end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's expiration date."
},
"start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's effective date."
},
"contents": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The contents or personal property limit (Coverage C)."
},
"coverage": {
"type": "array",
"items": {
"enum": [
"homeowners_dwelling",
"dwelling_property",
"mobile_home",
"condo_unit_owners",
"personal_contents",
"home_equipment_breakdown",
"personal_deductible_buyback",
"personal_dic",
"personal_liability",
"personal_liability_vacant_land",
"homeowners_earthquake",
"homeowners_earthquake_excess_or_buyback",
"personal_umbrella",
"personal_flood_primary",
"personal_flood_excess",
"personal_articles_floater",
"residential_named_storm",
"collector_auto",
"personal_auto",
"recreational_vehicle",
"vessel",
"term_life",
"vacant_building_property_personal",
"vacant_building_property_commercial",
"apartment_building_property",
"commercial_building_property",
"business_income",
"disaster_income_protection",
"commercial_earthquake_dic",
"commercial_flood_primary",
"commercial_flood_excess",
"commercial_deductible_buyback",
"sawmill_property",
"hay_in_the_open",
"explosives_property",
"amusement_property",
"builders_risk_new_construction_residential",
"builders_risk_new_construction_commercial",
"builders_risk_renovation_residential",
"builders_risk_renovation_commercial",
"contractor_general_liability",
"tract_home_condo_contractor_gl",
"blasting_contractor_gl",
"building_moving_gl",
"crane_rigging_contractor_gl",
"demolition_contractor_gl",
"scaffold_contractor_gl",
"oilfield_contractor_gl",
"premises_liability_vacant_land",
"premises_liability_vacant_building",
"premises_liability_apartment",
"commercial_general_liability",
"liquor_liability",
"products_completed_operations",
"products_recall",
"excess_liability",
"directors_officers",
"fiduciary_liability",
"cyber_liability",
"workers_compensation",
"employment_practices_liability",
"pollution_liability",
"ambulance_services",
"amusement_liability",
"clinical_trials",
"explosives_liability",
"fireworks_display",
"foster_family",
"hot_air_balloon",
"outfitters_guides",
"ip_infringement",
"seasonal_mobile_vendor",
"security_guard",
"special_event",
"film_railroad_protective",
"tattoo_body_piercing_gl",
"professional_liability",
"technology_errors_omissions",
"medical_professional_liability",
"crop_hail_private",
"architects_engineers",
"campaign_treasurer",
"creditors_committee",
"medical_billing_eo",
"tattoo_body_piercing_eo",
"crime",
"excess_crime",
"employee_identity_fraud",
"surety_bond",
"kidnap_ransom",
"aviation_excess_liability",
"film_contingent_aircraft",
"drone",
"commercial_auto",
"commercial_inland_marine",
"commercial_vessel",
"excess_motor_truck_cargo",
"high_limits_disability",
"international_major_medical",
"cannabis_operations",
"event_cancellation",
"parametric_weather",
"tax_audit_defense",
"political_risk",
"prize_indemnification",
"hole_in_one",
"film_failure_to_survive"
],
"type": "string"
},
"minItems": 1,
"description": "The policy lines this quote actually provides (policy-lines.ts), one per coverage component, package parts too, the policy's main line first. Read from the quote, never copied from the product's declared lines."
},
"dwelling": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The building or dwelling limit (Coverage A)."
},
"liability": {
"type": "object",
"required": [
"perOccurrence"
],
"properties": {
"aggregate": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The aggregate liability limit."
},
"perOccurrence": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The liability limit per occurrence (per claim on a claims-made policy), or the one liability limit a quote states without occurrence or aggregate wording (US Assure VacantExpress's \"General Liability Limit\"); leave aggregate out then."
}
},
"additionalProperties": false
},
"lossOfUse": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The loss of use or additional living expense limit (Coverage D)."
},
"termMonths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "The policy term in months; an event policy states none."
},
"deductibles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"enum": [
"all_other_perils",
"wind_hail"
],
"type": "string",
"description": "all_other_perils for the property's all other perils (AOP) deductible, wind_hail for its wind or hail deductible; leave out for any other."
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "A fixed deductible."
},
"percent": {
"type": "number",
"maximum": 100,
"description": "A percentage deductible (\"5% of Coverage A\" is 5).",
"exclusiveMinimum": 0
},
"appliesTo": {
"type": "string",
"minLength": 1,
"description": "What it applies to, in the carrier's words (\"All other perils\", \"Wind/hail\", \"Building\"), when the quote says."
}
},
"additionalProperties": false
},
"minItems": 1
},
"otherStructures": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The other structures limit (Coverage B)."
}
},
"additionalProperties": false
},
"coverages": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "The coverages the quote provides, in the carrier's words. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"startDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"validUntil": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"monthlyCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"subjectivities": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1
},
"underwritingApproval": {
"enum": [
"pending",
"approved"
],
"type": "string",
"description": "\"pending\" when the carrier calls this price indicative, an indication or an estimate, or shows it with a referral, underwriter review or pending-approval notice; omit for a firm quote."
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
},
"carrierId": {
"type": "string"
},
"declineReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"informationSubmitted": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"aggregate": {
"type": "object",
"required": [
"status",
"total",
"terminal",
"quoted",
"referred",
"declined",
"blocked"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"quoted": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"status": {
"type": "string"
},
"blocked": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"declined": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"referred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"terminal": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"nextAction": {
"enum": [
"answer_page",
"finish_on_website",
"answer_questions",
"wait",
"review",
"review_application",
"cancelled"
],
"type": "string"
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"pricingNotice": {
"type": "string"
},
"formRevisionId": {
"type": "string"
},
"progressMessage": {
"type": "string"
},
"notificationStatus": {
"enum": [
"subscribed",
"not_subscribed"
],
"type": "string"
},
"notificationExpiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"additionalQuestionCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}{
"title": "Authorize and request carrier quotes",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}get_quote_status — Check your Menlo quote
Use this when the customer asks how their connected quote is going or what happens next. Returns its stage, carrier outcomes, available quotes and next action. Premiums are indicative carrier results and nothing is bound. Includes a waiting-on-carriers message and whether an MCP Events quote.updated subscription is active. Reading does not activate notifications, start carrier processing or list other quotes.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"revision",
"stage",
"aggregate",
"carriers",
"additionalQuestionCount",
"nextAction",
"websiteUrl",
"pricingNotice",
"notificationStatus",
"notificationExpiresAt",
"progressMessage"
],
"properties": {
"demo": {
"type": "boolean"
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"carriers": {
"type": "array",
"items": {
"type": "object",
"required": [
"carrierId",
"status",
"quote",
"declineReason",
"informationSubmitted"
],
"properties": {
"quote": {
"anyOf": [
{
"type": "object",
"required": [
"coverages",
"limits",
"carrier"
],
"properties": {
"fees": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"term": {
"type": "string",
"minLength": 1
},
"intro": {
"type": "string",
"minLength": 1
},
"taxes": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"issuer": {
"type": "object",
"required": [
"name",
"paper",
"evidence"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"paper": {
"enum": [
"admitted",
"surplus"
],
"type": "string"
},
"evidence": {
"type": "string",
"minLength": 1
}
},
"description": "The actual issuing insurer, admitted or surplus (nonadmitted) status, and exact result text evidencing that status (or, when the quote names the insurer and its NAIC number but not its status, the risk state's regulator license record cited with the quote's words). It decides the quote's paper ahead of its route's. Omit unless both are evidenced; never infer from its broker, MGA, premium or insurer name.",
"additionalProperties": false
},
"limits": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"value": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "The quote's limits, sublimits and other stated terms, each labelled as the carrier labels it. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"yearly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"carrier": {
"type": "string",
"minLength": 1
},
"monthly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"building": {
"type": "string",
"minLength": 1
},
"dueToday": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"keyTerms": {
"type": "object",
"properties": {
"end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's expiration date."
},
"start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's effective date."
},
"contents": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The contents or personal property limit (Coverage C)."
},
"coverage": {
"type": "array",
"items": {
"enum": [
"homeowners_dwelling",
"dwelling_property",
"mobile_home",
"condo_unit_owners",
"personal_contents",
"home_equipment_breakdown",
"personal_deductible_buyback",
"personal_dic",
"personal_liability",
"personal_liability_vacant_land",
"homeowners_earthquake",
"homeowners_earthquake_excess_or_buyback",
"personal_umbrella",
"personal_flood_primary",
"personal_flood_excess",
"personal_articles_floater",
"residential_named_storm",
"collector_auto",
"personal_auto",
"recreational_vehicle",
"vessel",
"term_life",
"vacant_building_property_personal",
"vacant_building_property_commercial",
"apartment_building_property",
"commercial_building_property",
"business_income",
"disaster_income_protection",
"commercial_earthquake_dic",
"commercial_flood_primary",
"commercial_flood_excess",
"commercial_deductible_buyback",
"sawmill_property",
"hay_in_the_open",
"explosives_property",
"amusement_property",
"builders_risk_new_construction_residential",
"builders_risk_new_construction_commercial",
"builders_risk_renovation_residential",
"builders_risk_renovation_commercial",
"contractor_general_liability",
"tract_home_condo_contractor_gl",
"blasting_contractor_gl",
"building_moving_gl",
"crane_rigging_contractor_gl",
"demolition_contractor_gl",
"scaffold_contractor_gl",
"oilfield_contractor_gl",
"premises_liability_vacant_land",
"premises_liability_vacant_building",
"premises_liability_apartment",
"commercial_general_liability",
"liquor_liability",
"products_completed_operations",
"products_recall",
"excess_liability",
"directors_officers",
"fiduciary_liability",
"cyber_liability",
"workers_compensation",
"employment_practices_liability",
"pollution_liability",
"ambulance_services",
"amusement_liability",
"clinical_trials",
"explosives_liability",
"fireworks_display",
"foster_family",
"hot_air_balloon",
"outfitters_guides",
"ip_infringement",
"seasonal_mobile_vendor",
"security_guard",
"special_event",
"film_railroad_protective",
"tattoo_body_piercing_gl",
"professional_liability",
"technology_errors_omissions",
"medical_professional_liability",
"crop_hail_private",
"architects_engineers",
"campaign_treasurer",
"creditors_committee",
"medical_billing_eo",
"tattoo_body_piercing_eo",
"crime",
"excess_crime",
"employee_identity_fraud",
"surety_bond",
"kidnap_ransom",
"aviation_excess_liability",
"film_contingent_aircraft",
"drone",
"commercial_auto",
"commercial_inland_marine",
"commercial_vessel",
"excess_motor_truck_cargo",
"high_limits_disability",
"international_major_medical",
"cannabis_operations",
"event_cancellation",
"parametric_weather",
"tax_audit_defense",
"political_risk",
"prize_indemnification",
"hole_in_one",
"film_failure_to_survive"
],
"type": "string"
},
"minItems": 1,
"description": "The policy lines this quote actually provides (policy-lines.ts), one per coverage component, package parts too, the policy's main line first. Read from the quote, never copied from the product's declared lines."
},
"dwelling": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The building or dwelling limit (Coverage A)."
},
"liability": {
"type": "object",
"required": [
"perOccurrence"
],
"properties": {
"aggregate": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The aggregate liability limit."
},
"perOccurrence": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The liability limit per occurrence (per claim on a claims-made policy), or the one liability limit a quote states without occurrence or aggregate wording (US Assure VacantExpress's \"General Liability Limit\"); leave aggregate out then."
}
},
"additionalProperties": false
},
"lossOfUse": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The loss of use or additional living expense limit (Coverage D)."
},
"termMonths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "The policy term in months; an event policy states none."
},
"deductibles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"enum": [
"all_other_perils",
"wind_hail"
],
"type": "string",
"description": "all_other_perils for the property's all other perils (AOP) deductible, wind_hail for its wind or hail deductible; leave out for any other."
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "A fixed deductible."
},
"percent": {
"type": "number",
"maximum": 100,
"description": "A percentage deductible (\"5% of Coverage A\" is 5).",
"exclusiveMinimum": 0
},
"appliesTo": {
"type": "string",
"minLength": 1,
"description": "What it applies to, in the carrier's words (\"All other perils\", \"Wind/hail\", \"Building\"), when the quote says."
}
},
"additionalProperties": false
},
"minItems": 1
},
"otherStructures": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The other structures limit (Coverage B)."
}
},
"additionalProperties": false
},
"coverages": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "The coverages the quote provides, in the carrier's words. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"startDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"validUntil": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"monthlyCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"subjectivities": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1
},
"underwritingApproval": {
"enum": [
"pending",
"approved"
],
"type": "string",
"description": "\"pending\" when the carrier calls this price indicative, an indication or an estimate, or shows it with a referral, underwriter review or pending-approval notice; omit for a firm quote."
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
},
"carrierId": {
"type": "string"
},
"declineReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"informationSubmitted": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"aggregate": {
"type": "object",
"required": [
"status",
"total",
"terminal",
"quoted",
"referred",
"declined",
"blocked"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"quoted": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"status": {
"type": "string"
},
"blocked": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"declined": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"referred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"terminal": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"nextAction": {
"enum": [
"answer_page",
"finish_on_website",
"answer_questions",
"wait",
"review",
"review_application",
"cancelled"
],
"type": "string"
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"pricingNotice": {
"type": "string"
},
"formRevisionId": {
"type": "string"
},
"progressMessage": {
"type": "string"
},
"notificationStatus": {
"enum": [
"subscribed",
"not_subscribed"
],
"type": "string"
},
"notificationExpiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"additionalQuestionCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}{
"title": "Check your Menlo quote",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_missing_questions — Read outstanding quote questions
Use this when get_quote_status reports answer_questions or the customer asks what carriers still need. Returns outstanding follow-up questions, document requests (attachDocument) and correction requests, deduplicated across carriers, with the current baseRevision. Questions marked answerOnWebsite (protected information) cannot be answered through this connection.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formRevisionId",
"baseRevision",
"stage",
"websiteUrl",
"sections",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"stage": {
"type": "string"
},
"nextStep": {
"type": "string"
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"title",
"questions",
"answerSchema"
],
"properties": {
"title": {
"type": "string"
},
"questions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"label",
"control",
"required",
"answerOnWebsite",
"askedBy",
"correction"
],
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"askedBy": {
"type": "array",
"items": {
"type": "string"
}
},
"control": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"value",
"label"
],
"properties": {
"label": {
"type": "string"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"additionalProperties": false
}
},
"helpText": {
"type": "string"
},
"required": {
"type": "boolean"
},
"correction": {
"anyOf": [
{
"type": "object",
"required": [
"answerRevision",
"reason",
"requireChangedValue"
],
"properties": {
"reason": {
"type": "string"
},
"answerRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"requireChangedValue": {
"type": "boolean"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"attachDocument": {
"type": "boolean",
"const": true
},
"answerOnWebsite": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"answerSchema": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
}
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"formRevisionId": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read outstanding quote questions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}answer_additional_questions — Save additional quote answers
Use this when the customer has answered outstanding carrier follow-up questions from get_missing_questions. Saves those answers and returns the updated status. Takes the current baseRevision and an eventId; the same eventId with the same answers returns the original result. A save can overwrite earlier answers and resume affected carrier processing. Do not use for application-page questions (answer_quote_page), a document (attach_quote_document), consent, attestations or protected information.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eventId",
"baseRevision",
"answers"
],
"properties": {
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en",
"description": "Language for the resulting quote status"
},
"answers": {
"type": "array",
"items": {
"type": "object",
"required": [
"questionId",
"status",
"value"
],
"properties": {
"value": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string",
"maxLength": 500
},
"maxItems": 100
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"confirmed",
"unknown",
"declined"
],
"type": "string"
},
"questionId": {
"type": "string",
"maxLength": 160,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Only customer-confirmed facts from current additional questions whose answerOnWebsite is false; coverage choices the customer made are fine; never protected information, consent, signatures or owner answers. A document goes through attach_quote_document"
},
"eventId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$",
"description": "Stable unique ID for this answer submission; retries reuse the same ID and identical answers"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The revision returned by get_missing_questions; conflicts require rereading questions"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"formId",
"formRevisionId",
"revision",
"stage",
"aggregate",
"carriers",
"additionalQuestionCount",
"nextAction",
"websiteUrl",
"pricingNotice",
"notificationStatus",
"notificationExpiresAt",
"progressMessage"
],
"properties": {
"demo": {
"type": "boolean"
},
"stage": {
"type": "string"
},
"formId": {
"type": "string"
},
"carriers": {
"type": "array",
"items": {
"type": "object",
"required": [
"carrierId",
"status",
"quote",
"declineReason",
"informationSubmitted"
],
"properties": {
"quote": {
"anyOf": [
{
"type": "object",
"required": [
"coverages",
"limits",
"carrier"
],
"properties": {
"fees": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"term": {
"type": "string",
"minLength": 1
},
"intro": {
"type": "string",
"minLength": 1
},
"taxes": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"amount"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"amount": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
}
},
"additionalProperties": false
},
"minItems": 1
},
"issuer": {
"type": "object",
"required": [
"name",
"paper",
"evidence"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"paper": {
"enum": [
"admitted",
"surplus"
],
"type": "string"
},
"evidence": {
"type": "string",
"minLength": 1
}
},
"description": "The actual issuing insurer, admitted or surplus (nonadmitted) status, and exact result text evidencing that status (or, when the quote names the insurer and its NAIC number but not its status, the risk state's regulator license record cited with the quote's words). It decides the quote's paper ahead of its route's. Omit unless both are evidenced; never infer from its broker, MGA, premium or insurer name.",
"additionalProperties": false
},
"limits": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"minLength": 1
},
"value": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "The quote's limits, sublimits and other stated terms, each labelled as the carrier labels it. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"yearly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"carrier": {
"type": "string",
"minLength": 1
},
"monthly": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"building": {
"type": "string",
"minLength": 1
},
"dueToday": {
"type": "string",
"pattern": "^(?:0\\.(?:0[1-9]|[1-9]\\d)|[1-9]\\d*\\.\\d{2})$",
"maxLength": 40
},
"keyTerms": {
"type": "object",
"properties": {
"end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's expiration date."
},
"start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
"description": "The policy's effective date."
},
"contents": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The contents or personal property limit (Coverage C)."
},
"coverage": {
"type": "array",
"items": {
"enum": [
"homeowners_dwelling",
"dwelling_property",
"mobile_home",
"condo_unit_owners",
"personal_contents",
"home_equipment_breakdown",
"personal_deductible_buyback",
"personal_dic",
"personal_liability",
"personal_liability_vacant_land",
"homeowners_earthquake",
"homeowners_earthquake_excess_or_buyback",
"personal_umbrella",
"personal_flood_primary",
"personal_flood_excess",
"personal_articles_floater",
"residential_named_storm",
"collector_auto",
"personal_auto",
"recreational_vehicle",
"vessel",
"term_life",
"vacant_building_property_personal",
"vacant_building_property_commercial",
"apartment_building_property",
"commercial_building_property",
"business_income",
"disaster_income_protection",
"commercial_earthquake_dic",
"commercial_flood_primary",
"commercial_flood_excess",
"commercial_deductible_buyback",
"sawmill_property",
"hay_in_the_open",
"explosives_property",
"amusement_property",
"builders_risk_new_construction_residential",
"builders_risk_new_construction_commercial",
"builders_risk_renovation_residential",
"builders_risk_renovation_commercial",
"contractor_general_liability",
"tract_home_condo_contractor_gl",
"blasting_contractor_gl",
"building_moving_gl",
"crane_rigging_contractor_gl",
"demolition_contractor_gl",
"scaffold_contractor_gl",
"oilfield_contractor_gl",
"premises_liability_vacant_land",
"premises_liability_vacant_building",
"premises_liability_apartment",
"commercial_general_liability",
"liquor_liability",
"products_completed_operations",
"products_recall",
"excess_liability",
"directors_officers",
"fiduciary_liability",
"cyber_liability",
"workers_compensation",
"employment_practices_liability",
"pollution_liability",
"ambulance_services",
"amusement_liability",
"clinical_trials",
"explosives_liability",
"fireworks_display",
"foster_family",
"hot_air_balloon",
"outfitters_guides",
"ip_infringement",
"seasonal_mobile_vendor",
"security_guard",
"special_event",
"film_railroad_protective",
"tattoo_body_piercing_gl",
"professional_liability",
"technology_errors_omissions",
"medical_professional_liability",
"crop_hail_private",
"architects_engineers",
"campaign_treasurer",
"creditors_committee",
"medical_billing_eo",
"tattoo_body_piercing_eo",
"crime",
"excess_crime",
"employee_identity_fraud",
"surety_bond",
"kidnap_ransom",
"aviation_excess_liability",
"film_contingent_aircraft",
"drone",
"commercial_auto",
"commercial_inland_marine",
"commercial_vessel",
"excess_motor_truck_cargo",
"high_limits_disability",
"international_major_medical",
"cannabis_operations",
"event_cancellation",
"parametric_weather",
"tax_audit_defense",
"political_risk",
"prize_indemnification",
"hole_in_one",
"film_failure_to_survive"
],
"type": "string"
},
"minItems": 1,
"description": "The policy lines this quote actually provides (policy-lines.ts), one per coverage component, package parts too, the policy's main line first. Read from the quote, never copied from the product's declared lines."
},
"dwelling": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The building or dwelling limit (Coverage A)."
},
"liability": {
"type": "object",
"required": [
"perOccurrence"
],
"properties": {
"aggregate": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The aggregate liability limit."
},
"perOccurrence": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The liability limit per occurrence (per claim on a claims-made policy), or the one liability limit a quote states without occurrence or aggregate wording (US Assure VacantExpress's \"General Liability Limit\"); leave aggregate out then."
}
},
"additionalProperties": false
},
"lossOfUse": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The loss of use or additional living expense limit (Coverage D)."
},
"termMonths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "The policy term in months; an event policy states none."
},
"deductibles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"kind": {
"enum": [
"all_other_perils",
"wind_hail"
],
"type": "string",
"description": "all_other_perils for the property's all other perils (AOP) deductible, wind_hail for its wind or hail deductible; leave out for any other."
},
"amount": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "A fixed deductible."
},
"percent": {
"type": "number",
"maximum": 100,
"description": "A percentage deductible (\"5% of Coverage A\" is 5).",
"exclusiveMinimum": 0
},
"appliesTo": {
"type": "string",
"minLength": 1,
"description": "What it applies to, in the carrier's words (\"All other perils\", \"Wind/hail\", \"Building\"), when the quote says."
}
},
"additionalProperties": false
},
"minItems": 1
},
"otherStructures": {
"type": "string",
"pattern": "^(?:0|[1-9]\\d*)\\.\\d{2}$",
"maxLength": 40,
"description": "The other structures limit (Coverage B)."
}
},
"additionalProperties": false
},
"coverages": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1,
"description": "The coverages the quote provides, in the carrier's words. Never a price: the premium and its parts, fees, taxes and totals go in yearly/monthly, fees and taxes."
},
"startDate": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"validUntil": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"monthlyCount": {
"type": "integer",
"maximum": 9007199254740991,
"exclusiveMinimum": 0
},
"subjectivities": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1
},
"underwritingApproval": {
"enum": [
"pending",
"approved"
],
"type": "string",
"description": "\"pending\" when the carrier calls this price indicative, an indication or an estimate, or shows it with a referral, underwriter review or pending-approval notice; omit for a firm quote."
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"status": {
"type": "string"
},
"carrierId": {
"type": "string"
},
"declineReason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"informationSubmitted": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"aggregate": {
"type": "object",
"required": [
"status",
"total",
"terminal",
"quoted",
"referred",
"declined",
"blocked"
],
"properties": {
"total": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"quoted": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"status": {
"type": "string"
},
"blocked": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"declined": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"referred": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"terminal": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
},
"nextAction": {
"enum": [
"answer_page",
"finish_on_website",
"answer_questions",
"wait",
"review",
"review_application",
"cancelled"
],
"type": "string"
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"pricingNotice": {
"type": "string"
},
"formRevisionId": {
"type": "string"
},
"progressMessage": {
"type": "string"
},
"notificationStatus": {
"enum": [
"subscribed",
"not_subscribed"
],
"type": "string"
},
"notificationExpiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"additionalQuestionCount": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
},
"additionalProperties": false
}{
"title": "Save additional quote answers",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}attach_quote_document — Attach a document to your quote
Use this when a question marked attachDocument, on the current application page or among carrier follow-ups, asks for a document such as a replacement cost estimate or an existing policy or application, and the customer has attached it or wants to provide it. Pass the customer's attachment as file when this chat app supports file inputs; Menlo checks it is a PDF, JPEG or PNG up to 5 MB, keeps it with that question and saves the question's upload answer, which can resume eligible carrier processing. When no file arrives, returns attached false, a website upload link for the customer and the next step. An attached existing policy or application can suggest answers, saved with answer_quote_page once the customer confirms each. Takes the current baseRevision and an eventId; a retry of the same file reuses its eventId. Do not use for a file that answers no open document question, or for protected information.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"eventId",
"baseRevision",
"questionId"
],
"properties": {
"file": {
"type": "object",
"required": [
"download_url",
"file_id"
],
"properties": {
"file_id": {
"type": "string",
"maxLength": 512,
"description": "ChatGPT file ID of the attachment"
},
"file_name": {
"type": "string",
"maxLength": 500,
"description": "The attachment's file name"
},
"mime_type": {
"type": "string",
"maxLength": 200,
"description": "Type ChatGPT reports; Menlo checks the file's own bytes"
},
"download_url": {
"type": "string",
"maxLength": 4096,
"description": "Temporary download URL ChatGPT supplies for the attached file"
}
},
"description": "The document the customer attached in this conversation: a PDF, JPEG or PNG up to 5 MB. Omit it when the chat app cannot pass attached files; Menlo then returns a website upload link"
},
"locale": {
"enum": [
"en",
"es"
],
"type": "string",
"default": "en"
},
"eventId": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{8,128}$",
"description": "Unique ID for this attachment; a retry of the same file reuses it, a different file takes a new one"
},
"questionId": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_.-]{0,159}$",
"description": "ID of a current question marked attachDocument, e.g. fair-plan.replacement_cost_estimate"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "baseRevision from get_current_page or get_missing_questions"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"demo",
"quoteNumber",
"questionId",
"attached",
"baseRevision",
"uploadUrl",
"uploadUrlExpiresAt",
"websiteUrl",
"nextStep"
],
"properties": {
"demo": {
"type": "boolean"
},
"attached": {
"type": "boolean"
},
"nextStep": {
"type": "string"
},
"uploadUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"questionId": {
"type": "string"
},
"websiteUrl": {
"type": "string",
"format": "uri"
},
"quoteNumber": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"uploadUrlExpiresAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}{
"title": "Attach a document to your quote",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": true,
"destructiveHint": true
}get_connected_quote_profile — Read connected quote identity
Use this when you need to know which quote this connection covers. Returns the identifier and display name of the one connected quote, or a new-quote connection label before its draft is started. The connection covers one quote, not a customer account.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string",
"pattern": "\\S",
"minLength": 1
},
"name": {
"type": "string"
}
},
"additionalProperties": false
}{
"title": "Read connected quote identity",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 1 of 1 checks answered
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
- 7367 ms
- 95th percentile latency
- 7367 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 7367 ms · metadata changed · 12 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http menlo-insurance-mcp https://www.menloinsurance.com/mcpCodex
codex mcp add menlo-insurance-mcp --url https://www.menloinsurance.com/mcpCursor
{
"mcpServers": {
"menlo-insurance-mcp": {
"url": "https://www.menloinsurance.com/mcp"
}
}
}Cline
{
"mcpServers": {
"menlo-insurance-mcp": {
"type": "streamableHttp",
"url": "https://www.menloinsurance.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"menlo-insurance-mcp": {
"type": "http",
"url": "https://www.menloinsurance.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http menlo-insurance-mcp https://www.menloinsurance.com/mcpClaude Desktop
https://www.menloinsurance.com/mcpWindsurf
{
"mcpServers": {
"menlo-insurance-mcp": {
"serverUrl": "https://www.menloinsurance.com/mcp"
}
}
}Let your agent find its tools
Find servers like Menlo Insurance MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other crm, sales, and marketing servers
Do you run Menlo Insurance MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.