Skip to main content
Glama

Coverage Cat

Update consumer intake

consumer_intake_patch
DestructiveIdempotent

Patch or submit a consumer-prefill umbrella handoff, or reply to existing-policy support correspondence in chat. Reuse uid and the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. MCP 2026-07-28 is stateless and requires that token. Legacy MCP hosts may also preserve hidden shopper session authorization. Keep tokens private and stay on this same MCP follow-up tool. Stay on the default consumer-operated subset. For umbrella, use the staged review turn to send only explicitly missing shopper-owned details plus corrections, set confirm_submission only on that final review confirmation, do not send vehicles rows on this pre-submit patch, and do not ask for umbrella credit consent here. Normalize shopper birthdays from MM-DD-YYYY to YYYY-MM-DD, and tell the shopper the application is not submitted yet until you actually submit it. Returns the same follow-up payload as consumer_intake_issues for the updated intake.

Input Schema

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application.
intakeNoTop-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch.
message_replyNoExisting-policy support correspondence. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaces a message under conversation.messages. This does not start a new homeowners application.
credit_consentNoThe real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure.
field_estimatesNoUmbrella provenance for values in this same patch that you inferred rather than heard from the shopper, one row per inferred value. Add rows only when you are certain each field path matches a current umbrella review field.
idempotency_keyNoKey you generate to identify one logical consumer_intake_patch request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key.
confirm_submissionNoSet true only on the single final review turn.
contact_preferencesNoOptional service SMS/call choices. Offer alongside an existing review when useful; do not add a required purchase step. Omission leaves choices unchanged. Marketing is disabled.
intake_access_tokenNoSend the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper.
reply_to_message_idNoExisting-policy support message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to.

Output Schema

NameRequiredDescriptionDefault
uidYesCoverage Cat intake uid for the current handoff.
lineNo
offersNo
policyNo
reviewNoStructured review card or selected-offer review block.
schemaNoSupplemental schema hints for homeowners review payloads.
statusYes
sandboxNoTrue when Coverage Cat is returning consumer sandbox test data rather than a live shopper workflow.
supportNo
uploadedNo
documentsNo
expires_atNoWhen the current consumer handoff expires.
offers_urlNoCoverage Cat browser URL for the selected offer or offer-tracking page.
payment_uiNo
next_actionNoA structured hint for the next allowed tool or endpoint action.
payment_urlNoCoverage Cat browser URL for secure payment fallback.
post_chooseNoStructured post-choose state after a quoted umbrella offer is selected.
conversationNo
review_itemsNo
review_tokenNoOpaque review token for delegated review-style submit paths.
verificationNo
detail_statusNo
known_summaryNoStructured facts Coverage Cat can safely summarize at this stage.
next_questionNoThe current shopper-owned question bundle or bind-stage question.
offer_summaryNo
payment_setupNo
preview_tokenNoOpaque bind-preview token for the next homeowners bind confirmation.
missing_fieldsNoStructured missing-value hints for homeowners pre-submit review.
payment_statusNo
pending_fieldsNoStructured missing-value hints for umbrella pre-submit review.
selected_offerNo
uploaded_countNo
field_estimatesNo
service_previewNo
service_requestNo
purchase_previewNo
response_summaryNo
review_estimatesNo
service_requestsNo
agent_instructionsNo
poll_after_secondsNo
selection_guidanceNoGuidance for completing an offer choice in one shopper-facing reply.
compare_details_urlNoCoverage Cat browser URL for compare-details follow-up.
intake_access_tokenNoShort-lived follow-up bearer. On REST, send it back as Authorization for the next `/api/intake/{uid}` call. On MCP, retry the same follow-up tool with this token only when your host cannot preserve Coverage Cat's hidden shopper session. Never display it to the shopper.
notification_channelNo
user_action_requiredNo
application_submittedNo
required_upload_typesNo
credit_consent_questionNo
credit_consent_disclosureNoVersioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.
payment_collection_supportedNo
monoline_mvr_consent_questionNo
contact_preferences_disclosuresNoOptional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.
monoline_mvr_consent_disclosureNoVersioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changed
    • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_updated_at
      Added value: +{
      +  "format": "date",
      +  "type": "string"
      +}
    • addedOutput schema / properties / contact_preferences_disclosures / properties / service_call / properties / source_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_updated_at
      Added value: +{
      +  "format": "date",
      +  "type": "string"
      +}
    • addedOutput schema / properties / contact_preferences_disclosures / properties / service_sms / properties / source_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • addedOutput schema / properties / credit_consent_disclosure / properties / source_updated_at
      Added value: +{
      +  "format": "date",
      +  "type": "string"
      +}
    • addedOutput schema / properties / credit_consent_disclosure / properties / source_url
      Added value: +{
      +  "format": "uri",
      +  "type": "string"
      +}
    • changedOutput schema / properties / detail_status / enum
      Previous value: -[
      -  "abandoned",
      -  "blocked",
      -  "bound",
      -  "cancelled",
      -  "chosen",
      -  "credit_consent_pending",
      -  "credit_consent_required",
      -  "dev_success",
      -  "documents_needed",
      -  "documents_pending_review",
      -  "email_sent",
      -  "in_review",
      -  "ineligible",
      -  "info_requested",
      -  "needs_more_info",
      -  "needs_more_info_to_bind",
      -  "no_policy",
      -  "no_chosen_offer",
      -  "no_quotes",
      -  "no_selection",
      -  "ok",
      -  "payment_collection_ready",
      -  "payment_needed",
      -  "pending",
      -  "pending_quotes",
      -  "queued",
      -  "quote_rate_limited",
      -  "quoted",
      -  "ready_for_review",
      -  "ready_for_submission",
      -  "ready_to_finalize",
      -  "review_pending",
      -  "service_preview",
      -  "service_requested",
      -  "sandbox_unsupported",
      -  "stale_selection",
      -  "verifying_documents",
      -  "waiting_on_carrier",
      -  "waiting_on_documents",
      -  "waiting_on_payment"
      -]New value: +[
      +  "abandoned",
      +  "blocked",
      +  "bound",
      +  "cancelled",
      +  "chosen",
      +  "credit_consent_pending",
      +  "credit_consent_required",
      +  "monoline_mvr_consent_required",
      +  "dev_success",
      +  "documents_needed",
      +  "documents_pending_review",
      +  "email_sent",
      +  "in_review",
      +  "ineligible",
      +  "info_requested",
      +  "needs_more_info",
      +  "needs_more_info_to_bind",
      +  "no_policy",
      +  "no_chosen_offer",
      +  "no_quotes",
      +  "no_selection",
      +  "ok",
      +  "payment_collection_ready",
      +  "payment_needed",
      +  "pending",
      +  "pending_quotes",
      +  "queued",
      +  "quote_rate_limited",
      +  "quoted",
      +  "ready_for_review",
      +  "ready_for_submission",
      +  "ready_to_finalize",
      +  "review_pending",
      +  "service_preview",
      +  "service_requested",
      +  "sandbox_unsupported",
      +  "stale_selection",
      +  "verifying_documents",
      +  "waiting_on_carrier",
      +  "waiting_on_documents",
      +  "waiting_on_payment"
      +]
    • addedOutput schema / properties / monoline_mvr_consent_disclosure
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Versioned Monoline-specific text that must be shown verbatim with its source URL; echo version and text_hash with the user's response.",
      +  "properties": {
      +    "kind": {
      +      "const": "monoline_mvr",
      +      "type": "string"
      +    },
      +    "source_updated_at": {
      +      "format": "date",
      +      "type": "string"
      +    },
      +    "source_url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "text": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "text_hash": {
      +      "pattern": "^[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "version": {
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "version",
      +    "text",
      +    "text_hash",
      +    "source_url",
      +    "source_updated_at"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / monoline_mvr_consent_question
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / status / enum
      Previous value: -[
      -  "abandoned",
      -  "blocked",
      -  "bound",
      -  "cancelled",
      -  "chosen",
      -  "credit_consent_pending",
      -  "credit_consent_required",
      -  "dev_success",
      -  "documents_needed",
      -  "documents_pending_review",
      -  "email_sent",
      -  "in_review",
      -  "ineligible",
      -  "info_requested",
      -  "needs_more_info",
      -  "needs_more_info_to_bind",
      -  "no_policy",
      -  "no_chosen_offer",
      -  "no_quotes",
      -  "no_selection",
      -  "ok",
      -  "payment_collection_ready",
      -  "payment_needed",
      -  "pending",
      -  "pending_quotes",
      -  "queued",
      -  "quote_rate_limited",
      -  "quoted",
      -  "ready_for_review",
      -  "ready_for_submission",
      -  "ready_to_finalize",
      -  "review_pending",
      -  "service_preview",
      -  "service_requested",
      -  "sandbox_unsupported",
      -  "stale_selection",
      -  "verifying_documents",
      -  "waiting_on_carrier",
      -  "waiting_on_documents",
      -  "waiting_on_payment"
      -]New value: +[
      +  "abandoned",
      +  "blocked",
      +  "bound",
      +  "cancelled",
      +  "chosen",
      +  "credit_consent_pending",
      +  "credit_consent_required",
      +  "monoline_mvr_consent_required",
      +  "dev_success",
      +  "documents_needed",
      +  "documents_pending_review",
      +  "email_sent",
      +  "in_review",
      +  "ineligible",
      +  "info_requested",
      +  "needs_more_info",
      +  "needs_more_info_to_bind",
      +  "no_policy",
      +  "no_chosen_offer",
      +  "no_quotes",
      +  "no_selection",
      +  "ok",
      +  "payment_collection_ready",
      +  "payment_needed",
      +  "pending",
      +  "pending_quotes",
      +  "queued",
      +  "quote_rate_limited",
      +  "quoted",
      +  "ready_for_review",
      +  "ready_for_submission",
      +  "ready_to_finalize",
      +  "review_pending",
      +  "service_preview",
      +  "service_requested",
      +  "sandbox_unsupported",
      +  "stale_selection",
      +  "verifying_documents",
      +  "waiting_on_carrier",
      +  "waiting_on_documents",
      +  "waiting_on_payment"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / message_reply / description
      Previous value: -"Homeowners post-submit only. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaced an insurer or shopper follow-up under conversation.messages."New value: +"Existing-policy support correspondence. Send the reply text Coverage Cat should deliver in-thread when consumer_intake_issues surfaces a message under conversation.messages. This does not start a new homeowners application."
    • changedInput schema / properties / reply_to_message_id / description
      Previous value: -"Homeowners post-submit message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."New value: +"Existing-policy support message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."
    • changedInput schema / properties / uid / description
      Previous value: -"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."New value: +"Coverage Cat intake uid for the existing authorized intake or returned by `umbrella_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
  3. Changed4 schema fields changed
    • addedInput schema / properties / contact_preferences
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Optional service SMS/call choices. Offer alongside an existing review when useful; do not add a required purchase step. Omission leaves choices unchanged. Marketing is disabled.",
      +  "properties": {
      +    "service_call": {
      +      "additionalProperties": false,
      +      "description": "Optional service contact choice for the phone number already on file; never a purchase requirement or marketing authorization.",
      +      "properties": {
      +        "answer": {
      +          "description": "The customer's own Yes, No or Revoke answer to the corresponding service disclosure.",
      +          "enum": [
      +            "Yes",
      +            "No",
      +            "Revoke"
      +          ],
      +          "type": "string"
      +        },
      +        "collected_from_user": {
      +          "const": true,
      +          "description": "The customer personally answered this service contact question.",
      +          "type": "boolean"
      +        },
      +        "disclosure_hash": {
      +          "description": "text_hash from the corresponding contact_preferences_disclosures entry.",
      +          "type": "string"
      +        },
      +        "disclosure_version": {
      +          "description": "Version from the corresponding contact_preferences_disclosures entry.",
      +          "type": "string"
      +        },
      +        "presentation_reference": {
      +          "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        "presented_at": {
      +          "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "shown_to_user": {
      +          "const": true,
      +          "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "answer",
      +        "collected_from_user",
      +        "shown_to_user",
      +        "disclosure_version",
      +        "disclosure_hash",
      +        "presented_at"
      +      ],
      +      "type": "object"
      +    },
      +    "service_sms": {
      +      "additionalProperties": false,
      +      "description": "Optional service contact choice for the phone number already on file; never a purchase requirement or marketing authorization.",
      +      "properties": {
      +        "answer": {
      +          "description": "The customer's own Yes, No or Revoke answer to the corresponding service disclosure.",
      +          "enum": [
      +            "Yes",
      +            "No",
      +            "Revoke"
      +          ],
      +          "type": "string"
      +        },
      +        "collected_from_user": {
      +          "const": true,
      +          "description": "The customer personally answered this service contact question.",
      +          "type": "boolean"
      +        },
      +        "disclosure_hash": {
      +          "description": "text_hash from the corresponding contact_preferences_disclosures entry.",
      +          "type": "string"
      +        },
      +        "disclosure_version": {
      +          "description": "Version from the corresponding contact_preferences_disclosures entry.",
      +          "type": "string"
      +        },
      +        "presentation_reference": {
      +          "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
      +          "maxLength": 200,
      +          "type": "string"
      +        },
      +        "presented_at": {
      +          "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
      +          "format": "date-time",
      +          "type": "string"
      +        },
      +        "shown_to_user": {
      +          "const": true,
      +          "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "answer",
      +        "collected_from_user",
      +        "shown_to_user",
      +        "disclosure_version",
      +        "disclosure_hash",
      +        "presented_at"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedInput schema / properties / credit_consent
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "The real user's response to Coverage Cat's current consumer-report authorization for insurance underwriting, collected only after Coverage Cat returns the disclosure.",
      +  "properties": {
      +    "answer": {
      +      "description": "Records the shopper's own Yes, No or Revoke reply. Preserve declines and revocations; never infer or convert another answer into Yes.",
      +      "enum": [
      +        "Yes",
      +        "No",
      +        "Revoke"
      +      ],
      +      "type": "string"
      +    },
      +    "collected_from_user": {
      +      "const": true,
      +      "description": "Attests that the shopper personally answered the displayed authorization in this conversation, rather than the agent assuming their response.",
      +      "type": "boolean"
      +    },
      +    "disclosure_hash": {
      +      "description": "The text_hash from credit_consent_disclosure.",
      +      "type": "string"
      +    },
      +    "disclosure_version": {
      +      "description": "The version from credit_consent_disclosure.",
      +      "type": "string"
      +    },
      +    "presentation_reference": {
      +      "description": "Optional opaque conversation or message reference; do not include message contents or personal information.",
      +      "maxLength": 200,
      +      "type": "string"
      +    },
      +    "presented_at": {
      +      "description": "RFC 3339 timestamp from the assistant runtime for when the complete disclosure was shown. It must be within the prior 24 hours and no more than five minutes in the future.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "shown_to_user": {
      +      "const": true,
      +      "description": "Attests that the complete returned disclosure text was presented verbatim before the shopper answered.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "answer",
      +    "collected_from_user",
      +    "shown_to_user",
      +    "disclosure_version",
      +    "disclosure_hash",
      +    "presented_at"
      +  ],
      +  "type": "object"
      +}
    • addedOutput schema / properties / contact_preferences_disclosures
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Optional versioned service-contact disclosures for the phone number on file; no marketing consent and no purchase requirement.",
      +  "properties": {
      +    "service_call": {
      +      "additionalProperties": false,
      +      "description": "Optional service-call disclosure; show its text verbatim before recording a choice.",
      +      "properties": {
      +        "kind": {
      +          "const": "service_call",
      +          "type": "string"
      +        },
      +        "text": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "text_hash": {
      +          "pattern": "^[a-f0-9]{64}$",
      +          "type": "string"
      +        },
      +        "version": {
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "version",
      +        "text",
      +        "text_hash"
      +      ],
      +      "type": "object"
      +    },
      +    "service_sms": {
      +      "additionalProperties": false,
      +      "description": "Optional service-text disclosure; show its text verbatim before recording a choice.",
      +      "properties": {
      +        "kind": {
      +          "const": "service_sms",
      +          "type": "string"
      +        },
      +        "text": {
      +          "minLength": 1,
      +          "type": "string"
      +        },
      +        "text_hash": {
      +          "pattern": "^[a-f0-9]{64}$",
      +          "type": "string"
      +        },
      +        "version": {
      +          "minLength": 1,
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "kind",
      +        "version",
      +        "text",
      +        "text_hash"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / credit_consent_disclosure
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Versioned canonical text that must be shown verbatim; echo version and text_hash with the user's response.",
      +  "properties": {
      +    "kind": {
      +      "const": "credit_report",
      +      "type": "string"
      +    },
      +    "text": {
      +      "minLength": 1,
      +      "type": "string"
      +    },
      +    "text_hash": {
      +      "pattern": "^[a-f0-9]{64}$",
      +      "type": "string"
      +    },
      +    "version": {
      +      "minLength": 1,
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "kind",
      +    "version",
      +    "text",
      +    "text_hash"
      +  ],
      +  "type": "object"
      +}
  4. Changed1 schema field changed
    • addedOutput schema / properties / verification
      Added value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "instructions": {
      +      "type": "string"
      +    },
      +    "request_tool": {
      +      "type": "string"
      +    },
      +    "required": {
      +      "type": "boolean"
      +    },
      +    "retry_after_seconds": {
      +      "minimum": 0,
      +      "type": "integer"
      +    },
      +    "status": {
      +      "enum": [
      +        "required",
      +        "pending",
      +        "verified",
      +        "not_required"
      +      ],
      +      "type": "string"
      +    },
      +    "status_tool": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "status",
      +    "required",
      +    "retry_after_seconds",
      +    "request_tool",
      +    "status_tool",
      +    "instructions"
      +  ],
      +  "type": "object"
      +}
  5. Changed1 schema field changed
    • changedInput schema / properties / intake_access_token / description
      Previous value: -"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Send the latest intake_access_token from the previous successful Coverage Cat response on each follow-up. Required for stateless MCP 2026-07-28 requests; also accepted by legacy hosts. Keep it private and never show it to the shopper."
  6. Changed5 schema fields changed
    • changedInput schema / properties / field_estimates / description
      Previous value: -"Umbrella provenance rows for inferred values included in the same patch. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. Send rows only when you are certain each field path matches a current umbrella review field."New value: +"Umbrella provenance for values in this same patch that you inferred rather than heard from the shopper, one row per inferred value. Add rows only when you are certain each field path matches a current umbrella review field."
    • addedInput schema / properties / field_estimates / items / properties
      Added value: +{
      +  "confidence": {
      +    "description": "How strongly your source supports the inferred value.",
      +    "enum": [
      +      "low",
      +      "medium",
      +      "high"
      +    ],
      +    "type": "string"
      +  },
      +  "field": {
      +    "description": "Intake dot-path of the inferred value, matching the key you sent under `intake`, such as `address.zip`.",
      +    "type": "string"
      +  },
      +  "source": {
      +    "description": "Free-form label for where the inferred value came from, such as `policy_declarations`, `email_thread`, or a property-data provider.",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / field_estimates / items / required
      Added value: +[
      +  "field",
      +  "source",
      +  "confidence"
      +]
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Retry key you generate for one logical consumer_intake_patch request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Key you generate to identify one logical consumer_intake_patch request, so a retry cannot apply it twice. After a timeout or transport failure, retry with the same key and identical arguments to get the original result back; Coverage Cat keeps that result for 24 hours and rejects different arguments sent under a used key."
    • changedInput schema / properties / intake / properties / current_auto_coverages / description
      Previous value: -"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."New value: +"Which band the shopper's current underlying auto liability limits fall into: `500k/1m` covers $500k/$1 Million/$100k or higher; `500k/500k` covers $500k/$500k/$100k or $500k CSL; `300k/300k` covers $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` covers $100k/$300k/$100k or lower. Pick the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so use `unsure` only when the shopper genuinely does not know their limits."
  7. Changed7 schema fields changed
    • changedInput schema / properties / field_estimates / description
      Previous value: -"Umbrella-only estimate metadata for inferred values included in the same patch. Omit it unless you are certain each field path matches a current umbrella review field."New value: +"Umbrella provenance rows for inferred values included in the same patch. Each row names the inferred `field` path, its `source`, and a `confidence` of low, medium, or high. Send rows only when you are certain each field path matches a current umbrella review field."
    • changedInput schema / properties / idempotency_key / description
      Previous value: -"Optional retry key for consumer_intake_patch. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."New value: +"Retry key you generate for one logical consumer_intake_patch request. If you retry after a timeout or transport failure, resend the identical arguments with the same idempotency_key. Coverage Cat replays the cached successful result for 24 hours and rejects a changed payload under the same key."
    • changedInput schema / properties / intake / description
      Previous value: -"Top-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch. current_auto_coverages is a banded enum, not free text: send one of unsure for I'm not sure; 500k/1m for $500k/$1 Million/$100k or higher; 500k/500k for $500k/$500k/$100k or $500k CSL; 300k/300k for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; 100k/300k for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve unsure for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Top-level intake edits. For umbrella, send only missing shopper-owned details, corrections, or canonical umbrella count fixes such as umbrella_details.motorized_vehicle_count. Do not send vehicles rows on this pre-submit patch."
    • changedInput schema / properties / intake / properties / current_auto_coverages / description
      Previous value: -"`current_auto_coverages` is a banded enum, not free text: send one of `unsure` for I'm not sure; `500k/1m` for $500k/$1 Million/$100k or higher; `500k/500k` for $500k/$500k/$100k or $500k CSL; `300k/300k` for $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` for $100k/$300k/$100k or lower. Coverage Cat rejects the shopper's raw limits, so translate them into the strongest band those limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know rather than using it to skip the translation."New value: +"Band for the shopper's current underlying auto liability limits: `unsure` means I'm not sure; `500k/1m` means $500k/$1 Million/$100k or higher; `500k/500k` means $500k/$500k/$100k or $500k CSL; `300k/300k` means $250k/$500k/$100k or $300k/$300k/$100k or $300k CSL; `100k/300k` means $100k/$300k/$100k or lower. Choose the strongest band the shopper's actual limits fully satisfy. Underlying auto limits gate umbrella eligibility, so reserve `unsure` for limits the shopper genuinely does not know."
    • changedInput schema / properties / intake_access_token / description
      Previous value: -"Optional bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Reuse the latest token from the previous successful Coverage Cat response and never show it to the shopper."New value: +"Bearer fallback for this same MCP follow-up tool when your host cannot preserve Coverage Cat's hidden shopper session. Send the intake_access_token from the previous successful Coverage Cat response and never show it to the shopper."
    • changedInput schema / properties / reply_to_message_id / description
      Previous value: -"Optional homeowners post-submit target from conversation.messages[].message_id when Coverage Cat returned a specific message to answer in-thread."New value: +"Homeowners post-submit message_id from conversation.messages[] that message_reply answers in-thread, when Coverage Cat returned a specific message to reply to."
    • addedInput schema / properties / uid / description
      Added value: +"Coverage Cat intake uid returned by `umbrella_consumer_prefill` or `homeowners_consumer_prefill` and echoed on every follow-up response. Reuse it for each follow-up call on the same application."
  8. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=false, but the description adds real operational context: the stateless MCP 2026-07-28 token requirement, legacy hidden-session auth, and that it returns the same follow-up payload as `consumer_intake_issues`. It stops short of explaining what submission actually commits or whether a confirmed submission is reversible, which matters for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then progressively narrower operational rules, and nearly every clause carries a prohibition or precondition. It is long and reads as a dense imperative run-on covering several modes at once, with some redundancy against the schema (token privacy is stated twice), costing it the top score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter, nested, destructive, multi-mode tool it covers the hard parts: auth/statefulness, retry safety, staged review sequencing, what not to send pre-submit, and shopper-facing honesty about submission status. An output schema exists and the description routes the agent to the analogous sibling payload, so return values need no further explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is already 100%, so the schema carries the parameter burden and the baseline is 3. The description does add scoping meaning the schema lacks in one place — the staged-review rule that only explicitly missing shopper-owned details and corrections belong in the patch, plus the birthday format conversion — but most of its parameter talk (token, `confirm_submission`) restates schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names three distinct operations with specific verbs and resources: patching/submitting a consumer-prefill umbrella handoff, and replying to existing-policy support correspondence. It is clearly separable from siblings like `umbrella_consumer_prefill` (origination) and `consumer_intake_issues` (issue surfacing), and it states this is the follow-up tool to stay on.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing and sequencing rules: reuse uid plus the latest `intake_access_token` from the previous successful response, stay on this same follow-up tool, stay on the default consumer-operated subset, set `confirm_submission` only on the final review confirmation, and do not ask for umbrella credit consent here. It also names exclusions (no vehicles rows on this pre-submit patch) and a normalization rule (MM-DD-YYYY to YYYY-MM-DD).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources