Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Quotor — Home & Auto Insurance Quotes

REMOTE · MCP.QUOTOR.AI · SCANNED SEP 20

Real, bindable home & auto insurance quotes via MCP (Texas, expanding); human-completed bind.

Available components

0 this week 77 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability64
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3451 tokens (~313/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
  • No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

How do I install the Quotor — Home & Auto Insurance Quotes MCP server?

Quotor — Home & Auto Insurance Quotes is a hosted endpoint at https://mcp.quotor.ai/, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.quotor.ai

# add to Claude Code
claude mcp add --transport http quotor-home-auto-insurance-quotes 'https://mcp.quotor.ai/'
// .cursor/mcp.json
{
  "mcpServers": {
    "quotor-home-auto-insurance-quotes": {
      "url": "https://mcp.quotor.ai/"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "quotor-home-auto-insurance-quotes": {
      "type": "http",
      "url": "https://mcp.quotor.ai/"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.quotor-home-auto-insurance-quotes]
url = "https://mcp.quotor.ai/"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "quotor-home-auto-insurance-quotes": {
      "type": "remote",
      "url": "https://mcp.quotor.ai/",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add quotor-home-auto-insurance-quotes --url 'https://mcp.quotor.ai/' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  quotor-home-auto-insurance-quotes:
    url: "https://mcp.quotor.ai/"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "quotor-home-auto-insurance-quotes": {
      "Transport": "http",
      "Url": "https://mcp.quotor.ai/"
    }
  }
}
# add to Vellum
assistant mcp add quotor-home-auto-insurance-quotes -t streamable-http -u 'https://mcp.quotor.ai/'
// mcp.json
{
  "mcpServers": {
    "quotor-home-auto-insurance-quotes": {
      "type": "http",
      "url": "https://mcp.quotor.ai/"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Sept 26 0
    • Injection markers: unverified → pass security
    • Stability: unverified → pass security
    • Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
    • Tool “get_bind_link” rewrote its description, which is the text the model reads security
    • MCP protocol: unverified → fail functional
    • Endpoint reachability: unreachable → reachable functional
    • Tool coverage: unverified → 100 functional
    • “get_bind_link” reworded the description of “option_id” cosmetic
    • “get_bind_link” reworded the description of “quote_id” cosmetic
  • 16 Sept 26 0
    • Endpoint reachability: reachable → unreachable security
    • Stability: pass → unverified security
    • Tool safety: pass → unverified security
    • Authorization: Authorisation not fully verified: no authorisation is required to connect, but we couldn't read the tool list to see what that exposes. security
    • Capabilities: fail → unverified functional
    • Tool coverage: 100 → unverified functional
    • First check of Schema quality: unverified functional
  • 26 Aug 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Aug 26 0
    • Stability: 0.97 → pass security
  • 24 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Aug 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 31 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Probed https://mcp.quotor.ai

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=*.quotor.ai CN=YE1,O=Let's Encrypt,C=US 22 Aug 2026 20 Nov 2026 ECDSA 256 ECDSA-SHA384 52ebf1b9690588d9e1afe10757636d7c88c
SANs: *.quotor.ai, quotor.ai
CN=YE1,O=Let's Encrypt,C=US (CA) CN=Root YE,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 ECDSA 384 ECDSA-SHA384 5ddd70dd31f801c85c186a7a04b80afe
CN=Root YE,O=ISRG,C=US (CA) CN=ISRG Root X2,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 ECDSA-SHA384 872165fc34b6e5fba8add5b3705fb53a
CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 ECDSA 384 SHA256-RSA 6c8f1dc727c7117f7baf853ac980f9cd

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.quotor.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
quotor.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.quotor.ai Verified 200
http (plaintext) http://mcp.quotor.ai HTTPS enforced 301 https://mcp.quotor.ai/
MCP tools · 11 exposed · ~3,451 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
check_eligibility ~151

Confirm whether Libertas can quote and bind insurance for the customer in their state. Call this first — before collecting any personal details — when the customer asks about insurance prices, switching carriers, or shopping for coverage. State is supplied automatically from the request context (the platform's location consent flow); you don't need to ask the customer for state to call this. Returns whether quoting is available, whether binding is available, and a plain-language explanation the customer can read.

NameTypeReqDescription
intentstringWhether you're checking ability to 'quote' or to 'bind' (default 'quote').
productstringyesLine of business: 'auto', 'home', or 'bundle' (home + auto).
NameTypeReqDescription
can_bindboolean
can_quoteboolean
explanationstring
next_stepstring
statestring|null

No examples provided.

check_late_arrivals ~416

Save-the-sale tool — call when the customer signals dissatisfaction with the current options ("too expensive", "let me think", "what else do you have", "is this the best you can do", "I'll check elsewhere", "can you do better"). Some carriers (Foremost STAR, etc.) run slower than the initial set and may have come back with a better rate while the customer was deliberating. This tool: 1. Pulls a fresh read of all rated carriers. 2. Compares the current cheapest bundle/LOB price to the original first-quoted best. 3. Returns has_improvement=true ONLY if a late carrier beats the original by >= $100/yr OR >= 5% — a threshold meaningful enough to justify interrupting the customer. CALL THIS ONLY WHEN: - check_quote_status has returned 'quoted' at least once (there's a baseline to compare). - The customer just expressed price resistance or hesitation (not a closed positive). - You have NOT called check_late_arrivals in the last 2 turns (don't spam). DO NOT CALL WHEN: - The customer is actively committing ("yeah let's go with A") — that's a close moment, not a wavering moment. - The customer hasn't seen the initial options yet. WHAT TO DO WITH THE RESULT: - has_improvement=true → narrate the improvement naturally ("Quick update — one more carrier just came in $X/yr cheaper. Want me to refresh your options?") and the iframe auto-updates with the new state. - has_improvement=false → acknowledge the customer's concern, pivot to value positioning against the options on the table. Don't bluff a "better one is coming" if it isn't. Use the carriers_still_pending count if relevant ("a couple more carriers are still finalizing in the background — I'll flag if anything comes in lower").

NameTypeReqDescription
quote_idstringyesThe quote session id to check for late-arriving carrier rates.
NameTypeReqDescription
new_optionsarray

No examples provided.

check_quote_status ~437

Check rating + live-finishing progress. Call between wait-phase questions (every customer turn or two after get_quote_options). Returns one of: - 'running' — indicatives still landing; continue the wait-phase conversation, call again next turn. - 'quoted' — options[] is populated. CHECK THE 'finishing' BLOCK: when finishing.active=true, the exact bindable rates are STILL being captured live at the carrier portals — present the price ranges confidently as honest estimates (the low end is the carrier's own starting figure; NEVER promise the final number can't exceed the range), keep the conversation going, and keep checking on later turns; cards harden to 'verified' automatically as walks complete. When finishing.active=false, the run is over: cards marked 'verified' are exact bindable numbers; anything still 'estimate' stays a range that a licensed agent confirms at bind. - 'timeout' — carriers took too long; offer to retry with get_quote_options. - 'needs_data' — carriers can't rate until the customer supplies the fields in needs.prompts (e.g. a driver's license number, a VIN, or an additional driver's name/date of birth — each prompt says who/what it's for). Ask the customer conversationally, apply the answers with update_quote (the prompt 'field' values are the exact patch paths, e.g. drivers[1].date_of_birth), then call get_quote_options to re-run. Repeat as many times as it takes — this is an ask, NOT a failure. needs may also ride along with 'quoted' when one line rated and the other still needs info. - 'error' — all carriers errored; flag it honestly and offer to retry. Each option carries rate_state ('verified' | 'verifying' | 'estimate') and, for unverified options, price_range {low, high}. NEVER mention carrier counts or real carrier names in chat.

NameTypeReqDescription
max_optionsintegerMaximum options to return per line (1-5, default 3).
quote_idstringyesThe quote session id to poll.
NameTypeReqDescription
carrier_names_revealedboolean
needsobject|null
optionsarray
progress_pctinteger
quote_idstring
statusstring

No examples provided.

get_bind_link ~184

Generate a single-use secure link, valid for 7 days, and EMAIL it to the customer address already collected in the quote. The tool does the email delivery itself and fails if no valid customer email is on file or Gmail cannot send. Libertas customer texting/SMS is not enabled: this tool does not text and you must never promise a text message. The chat widget will usually render an inline 'Request Bind' card directly — prefer request_bind_inline for the in-chat flow. Use get_bind_link when the customer wants to leave the chat, finish on a different device, or receive their final numbers by email. The bind page reveals the real carrier name (the only place it's revealed).

NameTypeReqDescription
option_idstringyesSelected option to include on the secure bind-request page.
quote_idstringyesQuote whose saved customer email will receive the secure link.
NameTypeReqDescription
bind_urlstring
carrier_namestring
expires_atstring
option_idstring
quote_idstring

No examples provided.

get_option_details ~97

Pull the full coverage breakdown, deductibles, applied discounts, and payment plan options for a single masked option (Home Carrier A, Auto Carrier B, etc.). Use when the customer wants to dig into a specific quote before deciding. Carrier name remains masked.

NameTypeReqDescription
option_idstringyesThe option to detail, e.g. 'opt_home_a' from get_quote_options.
quote_idstringyesThe quote session id.
NameTypeReqDescription
coveragesobject
premium_annualnumber|null
premium_monthlynumber|null

No examples provided.

get_quote_options ~282

Fire all eligible A-rated carriers in parallel AND kick off live rate-finishing. RETURNS IMMEDIATELY — does NOT wait. TWO STAGES follow: 1. First numbers land in 30–90 seconds. Options surface as honest price RANGES — the low end is the carrier's indicative, so the final verified rate usually lands AT OR BELOW the low end. 2. The system keeps working for 2–10 minutes after that, logging into carrier portals and walking each competitive quote to its exact bindable rate. Option cards harden from "estimated range" to "verified" as each carrier completes. check_quote_status reports this via its 'finishing' block. What you do during the wait: KEEP THE CONVERSATION GOING with the wait-phase playbook in the system prompt (waters first, then current premium — top priority — then claims color, pets, pool, start date, payment preference). Narrate the real finishing work honestly in ONE short line when relevant; never quantify carriers or name them. Call get_quote_options again ONLY if a rating-changing input changes (waters toggle locally — never re-fire for those).

NameTypeReqDescription
max_optionsintegerMaximum options to return per line (1-5, default 3).
quote_idstringyesThe quote session id returned by start_quote.
NameTypeReqDescription
expected_secondsinteger
messagestring
quote_idstring
statusstring

No examples provided.

request_bind_inline ~356

Submit the customer's bind request from the chat. Triggers an internal task for our licensed team to follow up. THIS IS NOT INSTANT BIND — no payment is collected and no coverage starts from this call; a licensed agent completes underwriting verification, payment, and carrier confirmation afterward, and the customer can still change or cancel the request. Because this step is non-binding and reversible, the customer's own clear choice ("I'd like to go with Carrier A", "let's do A and A", "I'll take Carrier B") is sufficient confirmation to submit — an additional "are you sure?" prompt is not required, though you should always honor your own platform's confirmation practices. NEVER name a real carrier in chat output — stay in "Carrier A/B/C" labels.

NameTypeReqDescription
best_timestringBest time to reach the customer, e.g. 'weekday afternoons'.
contact_prefstringHow the customer prefers to be reached: 'call', 'text', or 'email'.
customer_notesstringOptional free-text notes from the customer for the agent.
option_idstringThe single option to bind (or use option_ids for a bundle/split).
option_idsarrayMulti-option bind. Either option_id or option_ids must be provided.
pay_planstringPay plan: 'monthly_eft' or 'pay_in_full' (required when an auto line is included).
quote_idstringyesThe quote session id.
water_selectionsobjectCustomer-selected water-coverage add-ons for home options (service line, water seepage, foundation water, sewer backup); the agent configures these at the carrier portal at bind.
NameTypeReqDescription
bind_urlstring
quote_idstring

No examples provided.

resume_quote ~132

Pick up an existing quote that was started in a previous session or on a different platform. The customer supplies a quote ID. Verification: if the same authenticated user (OAuth user_id matches across sessions), no extra verification is needed; otherwise the customer needs to provide an email code that was sent at quote start. Returns the current status, a summary of what's collected so far, and whether rate options are already available to review.

NameTypeReqDescription
quote_idstringyesThe quote session id to resume.
verificationobjectOwnership verification (email code, platform identity, or magic link); required to return PII.
NameTypeReqDescription
quote_idstring
statusstring
verification_requiredboolean

No examples provided.

start_quote ~465

Begin a new home, auto, or bundled insurance quote. Returns a quote ID to use on every following call. Call this when the customer wants to get an insurance price. INTAKE ORDER (Kyle 2026-06-11 — collect in this order, ONE coherent chunk per turn): 1. HOME/BUNDLE: full name + date of birth for EVERYONE on the policy (relationship for non-PNI). 2. Address of the home + "is this a new purchase, or one you've owned a while?" (new purchase → ALSO capture current_address — where they live today; property.address stays the home being bought). Then mortgage + escrow + "roughly how old is the roof? — 'I don't know' is a fine answer" ride along (roof unknown → move on, never probe; roof REPLACED → one follow-up: hail-resistant / Class 1–4? → property.hail_resistant_roof + property.ul_impact_type). The home address doubles as auto garaging unless the cars live elsewhere. 3. AUTO/BUNDLE: year/make/model of every vehicle. 4. Any drivers NOT already named in step 1 — names + DOBs + relationship. 5. Email + phone, framed as "where should I send your final numbers?" — the consent line is REQUIRED on this turn. 6. ONE open question before firing: "Any coverages you want to tell me about before I run it?" Capture whatever they volunteer via update_quote and move on — do NOT turn this into a coverage consultation. Scheduled valuables (jewelry, art, guns, collections) are a POST-BIND follow-up: record them under the follow_ups patch branch and tell the customer "our team will add that right after we get this policy locked" — never try to add them mid-quote. Then call get_quote_options immediately. Don't over-collect — the customer should reach prices fast.

NameTypeReqDescription
meta_codesarrayOptional internal meta codes; ignored unless recognized.
productstringyesLine of business to quote: 'auto', 'home', or 'bundle'.
referral_sourcestringOptional referral/partner source tag for attribution.
NameTypeReqDescription
next_required_inputsarray
quote_idstring
session_expires_atstring

No examples provided.

submit_lead ~442

Capture a lead for an insurance product Libertas doesn't quote inline (renters, life, commercial, motorcycle, boat, RV, umbrella, condo, landlord, etc.) — OR any home/auto customer who asks to be contacted later instead of finishing the quote in chat. Creates a row in the CRM Leads bucket so a licensed agent can follow up. CALL THIS WHEN: - The customer asks about an insurance type other than home/auto/bundle, AND has shared a name + email or phone. Confirm with the customer that you're going to have someone reach out, then call this tool. - The customer says "have someone call me later" or similar even on a home/auto inquiry. - The customer mentions an unusual circumstance and wants a human follow-up. DO NOT CALL WHEN: - The customer is still actively answering questions in the home/auto intake flow — keep going through the regular intake. - You don't have any contact info yet — ask for name + email/phone first. What it does: writes a Leads row tagged with the line of interest, contact info, preferred follow-up time, and any notes you supply. A licensed Libertas agent will reach out within one business day. Returns a confirmation message you can paraphrase to the customer ("you're on our list — someone from the team will reach out about [interest]").

NameTypeReqDescription
emailstringCustomer email.
first_namestringCustomer first name.
intereststringyesWhat the customer wants us to follow up about (e.g. 'renters insurance', 'life insurance', 'commercial auto')
last_namestringCustomer last name.
notesstringOptional notes for the follow-up.
phonestringCustomer phone number.
preferred_contact_methodstringHow the customer prefers to be reached: 'phone', 'email', 'text', or 'any'.
preferred_contact_timestringe.g. 'weekday afternoons', 'after 5pm', 'tomorrow morning'
quote_idstringOptional quote id to associate the lead with.
NameTypeReqDescription
okboolean

No examples provided.

update_quote ~489

Set or refine any quote parameter except regulated enrichment fields (credit score, MVR, CLUE, VIN-decoded vehicle attributes, public-record property attributes). Idempotent — call as many times as needed; the most recent value wins. Returns which fields were applied, which were rejected (with reasons), and whether the quote has enough info to run. WHEN TO CALL: - After collecting the required-minimum from the customer in start_quote - Whenever the customer changes their mind about any coverage, deductible, discount, payment plan, or term length - When the customer shares a declarations page and you have new values to sync CONVERSATION STYLE for coverages (per Kyle, the agency principal): After the first rates land, walk through major coverages one-or-two-at-a-time with a soft-sell framing. Example: "You have $200,000 of personal property coverage on this quote — that's the carrier's minimum and you can only go up. Does that sound like enough for your stuff?" Let the customer pick. Then call update_quote with the new value and get_quote_options again — re-quoting is free and fast (10–60 seconds). REGULATED FIELDS (will be rejected with structured reason): drivers[*].license_number, .ssn, .mvr_*, .credit_score; payment fields; carrier name; vin_decoded_attributes. The system pulls these directly from the bureaus at quote time or collects them at bind on libertasinsurance.com.

NameTypeReqDescription
meta_codesarrayOptional internal meta codes; ignored unless recognized.
patchobjectyesFree-form patch onto the quote. Top-level branches: pni, drivers[], vehicles[], property, coverages, discounts, policy_terms, prior_insurance, has_mortgagee, mortgage_billed_by_lender, mortgagee, is_…
quote_idstringyesThe quote session id returned by start_quote.
NameTypeReqDescription
appliedarray
completenessnumber
quote_idstring
ready_to_quoteboolean
rejectedarray

No examples provided.

Common questions

What is the Quotor — Home & Auto Insurance Quotes MCP server?

Quotor — Home & Auto Insurance Quotes is an MCP server listed in the public MCP registry as io.github.quotor/home-auto-insurance-quotes. Real, bindable home & auto insurance quotes via MCP (Texas, expanding); human-completed bind. This page covers its hosted endpoint (https://mcp.quotor.ai).

Is the Quotor — Home & Auto Insurance Quotes MCP server safe to use?

Quotor — Home & Auto Insurance Quotes scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Quotor — Home & Auto Insurance Quotes MCP server expose?

Quotor — Home & Auto Insurance Quotes exposes 11 tools: check_eligibility, start_quote, update_quote, get_quote_options, check_quote_status, and 6 more. Their descriptions and schemas cost roughly 3,451 tokens of context every time the server is loaded.

Does the Quotor — Home & Auto Insurance Quotes MCP server require authentication?

No. We connected to Quotor — Home & Auto Insurance Quotes without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Quotor — Home & Auto Insurance Quotes MCP server still maintained?

Quotor — Home & Auto Insurance Quotes is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.