Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,523Letters: 13Defects: 1,322counted 4 min ago
teppi

Server definition

Hash
sha256:f4d4da6e1ccb7061a65b3d7992afc313aa49afa3500e21f8a15b48f0b4fcfc32
What it is
What a remote MCP server returned when asked what it offers: 12 tools

The blob, as servednamed by its sha256

{ "instructions": "Quotor gets real home and auto insurance quotes from Libertas Insurance (Libertas Group, LLC), a licensed independent agency in Waco, Texas (NPN 20767295), for customers in the states it serves; check_eligibility lists them. A typical flow: check_eligibility, start_quote, update_quote one topic at a time, get_quote_options, then check_quote_status every turn or two until the options are verified, and request_bind_inline once the customer chooses. Carriers appear as 'Carrier A-Home' and so on; the real name shows on Libertas's secure bind page. Libertas collects Social Security numbers, driver's license numbers, and payment details only on its own secure pages, never in the conversation. Quotes are estimates, not binders, and a licensed Libertas agent completes every purchase. start_quote returns short notices Libertas must give customers; notices.how_to_use explains when. If a customer asks Libertas to stop contacting them, stop_contact records it.", "tools": [ { "description": "Checks whether Libertas Insurance, a licensed independent agency, can quote and bind home, auto, or bundled (home + auto) insurance in the customer's state. A good first step when someone asks about insurance prices, switching carriers, or shopping for coverage, before collecting personal details. Pass the customer's two-letter state if you know it; otherwise the result lists the states Libertas serves so you can ask. Returns whether quoting and binding are available, plus a plain-language explanation.", "inputSchema": { "additionalProperties": false, "properties": { "intent": { "default": "quote", "description": "Whether you're checking ability to 'quote' or to 'bind' (default 'quote').", "enum": [ "quote", "bind" ], "type": "string" }, "product": { "description": "Line of business: 'auto', 'home', or 'bundle' (home + auto).", "enum": [ "auto", "home", "bundle" ], "type": "string" }, "state": { "description": "The customer's two-letter U.S. state, if known (e.g. 'TX').", "pattern": "^[A-Za-z]{2}$", "type": "string" } }, "required": [ "product" ], "type": "object" }, "name": "check_eligibility", "outputSchema": { "additionalProperties": true, "description": "Whether quoting/binding is available for the customer's state + product.", "properties": { "can_bind": { "type": "boolean" }, "can_quote": { "type": "boolean" }, "explanation": { "type": "string" }, "next_step": { "type": "string" }, "state": { "type": [ "string", "null" ] } }, "type": "object" } }, { "description": "Checks whether a slower carrier has come back with a better price since the options were first shown. has_improvement is true only when a new rate beats the earlier best by at least $100 a year or 5%. Useful when the customer hesitates over price after seeing options. If nothing improved, it's best to say so plainly rather than suggest a better price is coming.", "inputSchema": { "additionalProperties": false, "properties": { "quote_id": { "description": "The quote session id to check for late-arriving carrier rates.", "type": "string" } }, "required": [ "quote_id" ], "type": "object" }, "name": "check_late_arrivals", "outputSchema": { "additionalProperties": true, "description": "Whether a slower carrier has beaten the first-quoted best price, plus the refreshed options.", "properties": { "has_improvement": { "type": "boolean" }, "message": { "type": "string" }, "options": { "type": "array" } }, "type": "object" } }, { "description": "Reports rating progress and, once available, the quote options. status is one of:\n - running: prices are still arriving; check again in a turn or two.\n - quoted: options are ready. While finishing.active is true, Libertas is still capturing exact rates, so ranges are estimates (the final number may land within or below the range, but that isn't guaranteed); check back later. Options marked 'verified' are exact, bindable numbers.\n - needs_data: carriers need more information first. needs.prompts lists each item, who it's for, and the update_quote field to set; apply the customer's answers, then call get_quote_options again. When needs.secure_link is present, that item (a driver's license number) is entered on Libertas's secure page instead of in chat: share the link with the customer, and rates re-run automatically once they submit it.\n - timeout or error: offer to try again with get_quote_options.\nCarriers appear as 'Carrier A-Home', 'Carrier B-Auto', and so on; the real carrier name is shown on Libertas's secure bind page.", "inputSchema": { "additionalProperties": false, "properties": { "max_options": { "default": 3, "description": "Maximum options to return per line (1-5, default 3).", "maximum": 5, "minimum": 1, "type": "integer" }, "quote_id": { "description": "The quote session id to poll.", "type": "string" } }, "required": [ "quote_id" ], "type": "object" }, "name": "check_quote_status", "outputSchema": { "additionalProperties": true, "description": "Live rating status plus masked options (carriers hidden until the bind step). Status 'needs_data' means the customer must supply the fields in `needs.prompts` (apply via update_quote, then re-run get_quote_options).", "properties": { "carrier_names_revealed": { "type": "boolean" }, "needs": { "type": [ "object", "null" ] }, "options": { "type": "array" }, "progress_pct": { "type": "integer" }, "quote_id": { "type": "string" }, "status": { "type": "string" } }, "type": "object" } }, { "description": "Emails the customer a single-use secure link (valid 7 days) to Libertas's bind page, where they review the chosen option, see the carrier's name, and submit their request; a licensed agent completes the purchase. Uses the email address already on the quote and reports whether it was sent; no text message is sent. Useful when the customer wants to finish later or on another device. Nothing is purchased by this call.", "inputSchema": { "additionalProperties": false, "properties": { "option_id": { "description": "Selected option to include on the secure bind-request page.", "type": "string" }, "quote_id": { "description": "Quote whose saved customer email will receive the secure link.", "type": "string" } }, "required": [ "quote_id", "option_id" ], "type": "object" }, "name": "get_bind_link", "outputSchema": { "additionalProperties": true, "description": "Secure, single-use bind hand-off link — the only place a real carrier name appears.", "properties": { "bind_url": { "type": "string" }, "carrier_name": { "type": "string" }, "expires_at": { "type": "string" }, "option_id": { "type": "string" }, "quote_id": { "type": "string" } }, "type": "object" } }, { "description": "Returns the coverage breakdown, deductibles, discounts applied, and payment plans for one option (for example opt_home_a), so the customer can compare before choosing. The carrier stays masked as 'Carrier A-Home' and so on.", "inputSchema": { "additionalProperties": false, "properties": { "option_id": { "description": "The option to detail, e.g. 'opt_home_a' from get_quote_options.", "type": "string" }, "quote_id": { "description": "The quote session id.", "type": "string" } }, "required": [ "quote_id", "option_id" ], "type": "object" }, "name": "get_option_details", "outputSchema": { "additionalProperties": true, "description": "Full coverage + premium breakdown for one option (carrier still masked).", "properties": { "coverages": { "type": "object" }, "premium_annual": { "type": [ "number", "null" ] }, "premium_monthly": { "type": [ "number", "null" ] } }, "type": "object" } }, { "description": "Starts rating with Libertas's panel of A-rated carriers and returns right away. First prices usually arrive within 30-90 seconds as honest ranges (the low end is the carrier's own preliminary figure). Libertas then keeps working for 2-10 minutes to capture exact, bindable rates directly from carrier systems, so options move from 'estimate' to 'verified'. Follow progress with check_quote_status every turn or two. Calling this again with unchanged details returns the run already in progress; changed details start a fresh run.", "inputSchema": { "additionalProperties": false, "properties": { "max_options": { "default": 3, "description": "Maximum options to return per line (1-5, default 3).", "maximum": 5, "minimum": 1, "type": "integer" }, "quote_id": { "description": "The quote session id returned by start_quote.", "type": "string" } }, "required": [ "quote_id" ], "type": "object" }, "name": "get_quote_options", "outputSchema": { "additionalProperties": true, "description": "Acknowledges the rate run started; poll check_quote_status for the option cards.", "properties": { "expected_seconds": { "type": "integer" }, "message": { "type": "string" }, "quote_id": { "type": "string" }, "status": { "type": "string" } }, "type": "object" } }, { "description": "Sends the customer's chosen option(s) to Libertas's licensed team as a bind request and returns a secure checkout link on Libertas's site. This is a request, not a purchase: no payment is taken and no coverage starts from this call. A licensed agent verifies underwriting, collects payment on the secure page, and confirms coverage with the carrier, and the customer can change or cancel before then. Appropriate once the customer clearly picks an option (for example \"I'll take Carrier A-Home\"); pay_plan is required when an auto option is included.", "inputSchema": { "additionalProperties": false, "properties": { "best_time": { "description": "Best time to reach the customer, e.g. 'weekday afternoons'.", "type": "string" }, "contact_pref": { "description": "How the customer prefers to be reached: 'call', 'text', or 'email'.", "enum": [ "call", "text", "email" ], "type": "string" }, "customer_notes": { "description": "Optional free-text notes from the customer for the agent.", "type": "string" }, "option_id": { "description": "The single option to bind (or use option_ids for a bundle/split).", "type": "string" }, "option_ids": { "description": "Multi-option bind. Either option_id or option_ids must be provided.", "items": { "type": "string" }, "type": "array" }, "pay_plan": { "description": "Pay plan: 'monthly_eft' or 'pay_in_full' (required when an auto line is included).", "enum": [ "monthly_eft", "pay_in_full" ], "type": "string" }, "quote_id": { "description": "The quote session id.", "type": "string" }, "water_selections": { "additionalProperties": false, "description": "Customer-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.", "properties": { "foundation_water": { "description": "Include the foundation-water-damage add-on.", "type": "boolean" }, "service_line": { "description": "Include the service-line water add-on.", "type": "boolean" }, "sewer_backup": { "description": "Include the sewer / water-backup add-on.", "type": "boolean" }, "water_seepage": { "description": "Include the water-seepage & leakage add-on.", "type": "boolean" } }, "type": "object" } }, "required": [ "quote_id" ], "type": "object" }, "name": "request_bind_inline", "outputSchema": { "additionalProperties": true, "description": "Files a routed bind request to the matched agency and returns a bind link.", "properties": { "bind_url": { "type": "string" }, "quote_id": { "type": "string" } }, "type": "object" } }, { "description": "Looks up a quote started earlier, by its quote_id. Returns the quote's status, whether options are ready, and what's still needed. Saved personal details are returned only to the same platform user who started the quote.", "inputSchema": { "additionalProperties": false, "properties": { "quote_id": { "description": "The quote session id to resume.", "type": "string" }, "verification": { "additionalProperties": false, "description": "Ownership verification (email code, platform identity, or magic link); required to return PII.", "properties": { "code": { "description": "The verification code (for the email_code method).", "type": "string" }, "method": { "description": "Verification method: email code, platform-identity header, or magic-link token.", "enum": [ "email_code", "platform_identity", "magic_link" ], "type": "string" }, "token": { "description": "The verification token (for the magic_link method).", "type": "string" } }, "type": "object" } }, "required": [ "quote_id" ], "type": "object" }, "name": "resume_quote", "outputSchema": { "additionalProperties": true, "description": "Resumed quote status (PII only on a verified call).", "properties": { "quote_id": { "type": "string" }, "status": { "type": "string" }, "verification_required": { "type": "boolean" } }, "type": "object" } }, { "description": "Opens a new home, auto, or bundled (home + auto) quote with Libertas Insurance and returns a quote_id that every later call uses. For outside assistants the result also carries short notices Libertas must give the customer; notices.how_to_use explains when each applies.\n\nWhat the quote needs (one topic at a time keeps it quick):\n 1. Full name and date of birth for each person on the policy, with their relationship to the main applicant.\n 2. Home: the address of the home to insure and whether it's a new purchase (if so, also where the customer lives today), mortgage/escrow, and roof age if known (\"not sure\" is fine).\n 3. Auto: year, make, and model of each vehicle, plus the name and date of birth of any other drivers.\n 4. Email, phone, and the requested coverage start date (policy_terms.effective_date, YYYY-MM-DD).\nThen call get_quote_options. Libertas never needs a Social Security number, driver's license number, or payment details in the conversation; when one is required, the customer enters it on Libertas's own secure page.", "inputSchema": { "additionalProperties": false, "properties": { "meta_codes": { "description": "Optional internal meta codes; ignored unless recognized.", "items": { "type": "string" }, "type": "array" }, "product": { "description": "Line of business to quote: 'auto', 'home', or 'bundle'.", "enum": [ "auto", "home", "bundle" ], "type": "string" }, "referral_source": { "description": "Optional referral/partner source tag for attribution.", "type": "string" } }, "required": [ "product" ], "type": "object" }, "name": "start_quote", "outputSchema": { "additionalProperties": true, "description": "The opened quote session.", "properties": { "next_required_inputs": { "items": { "type": "string" }, "type": "array" }, "notices": { "type": "object" }, "quote_id": { "type": "string" }, "session_expires_at": { "type": "string" } }, "type": "object" } }, { "description": "Records that the customer doesn't want Libertas to contact them by phone call, text, email, or any of these. Appropriate whenever the customer asks, in any wording, to stop hearing from Libertas; Libertas honors it across its follow-up systems. Pass the quote_id when there is one, or the email and/or phone the customer wants removed.", "inputSchema": { "additionalProperties": false, "properties": { "channels": { "description": "Which contact to stop: 'calls', 'texts', 'email', or 'all' (default 'all').", "items": { "enum": [ "calls", "texts", "email", "all" ], "type": "string" }, "maxItems": 4, "type": "array" }, "email": { "description": "Email address to stop contacting.", "type": "string" }, "phone": { "description": "Phone number to stop calling or texting.", "type": "string" }, "quote_id": { "description": "The quote whose saved contact details should be opted out, if there is one.", "type": "string" } }, "type": "object" }, "name": "stop_contact", "outputSchema": { "additionalProperties": true, "description": "Confirmation that the opt-out was recorded.", "properties": { "channels": { "items": { "type": "string" }, "type": "array" }, "message": { "type": "string" }, "status": { "type": "string" } }, "type": "object" } }, { "description": "Asks a licensed Libertas agent to follow up with the customer: for insurance Libertas doesn't quote in chat (renters, condo, landlord, umbrella, life, commercial, motorcycle, boat, RV, and more), or when a home/auto customer would rather talk to someone later. Needs what they're interested in plus an email or phone number. Creates a follow-up task; an agent typically reaches out within one business day by phone or email. Best to confirm with the customer before sending their contact details.", "inputSchema": { "additionalProperties": false, "properties": { "email": { "description": "Customer email.", "type": "string" }, "first_name": { "description": "Customer first name.", "type": "string" }, "interest": { "description": "What the customer wants us to follow up about (e.g. 'renters insurance', 'life insurance', 'commercial auto')", "type": "string" }, "last_name": { "description": "Customer last name.", "type": "string" }, "notes": { "description": "Optional notes for the follow-up.", "type": "string" }, "phone": { "description": "Customer phone number.", "type": "string" }, "preferred_contact_method": { "description": "How the customer prefers to be reached: 'phone', 'email', 'text', or 'any'.", "enum": [ "phone", "email", "text", "any" ], "type": "string" }, "preferred_contact_time": { "description": "e.g. 'weekday afternoons', 'after 5pm', 'tomorrow morning'", "type": "string" }, "quote_id": { "description": "Optional quote id to associate the lead with.", "type": "string" } }, "required": [ "interest" ], "type": "object" }, "name": "submit_lead", "outputSchema": { "additionalProperties": true, "description": "Lead-capture acknowledgement.", "properties": { "lead_id": { "type": [ "string", "null" ] }, "message": { "type": "string" }, "status": { "type": "string" } }, "type": "object" } }, { "description": "Adds or changes details on a quote: people, drivers, vehicles, the property, coverages, discounts, prior insurance, and policy terms. The patch schema lists every field Libertas accepts. Safe to call repeatedly; the latest value for a field wins, and lists replace earlier lists. Returns which fields were applied, which were rejected and why, and whether the quote has enough to run.\n\nCredit scores, driving and claims records, and decoded vehicle or public-record property details come straight from data providers, so they aren't accepted here, and carrier choice is made by the rating engine.\n\nIf the customer changes a coverage after prices come back, apply it here and call get_quote_options again; re-quoting is free and takes about a minute. Coverage choices are the customer's, and a licensed Libertas agent can advise on what limits make sense.", "inputSchema": { "additionalProperties": false, "properties": { "meta_codes": { "description": "Optional internal meta codes; ignored unless recognized.", "items": { "type": "string" }, "type": "array" }, "patch": { "additionalProperties": false, "description": "Quote details to add or change. Branches: pni (main applicant), drivers[], vehicles[], property, coverages, discounts, policy_terms, prior_insurance, mortgage fields (has_mortgagee, mortgage_billed_by_lender, mortgagee), is_new_purchase with current_address (where the customer lives today when buying a new home), current premiums/carriers, and follow_ups[] (notes for the licensed team, such as scheduled valuables; never added to the quote itself). Only the listed fields are accepted.", "properties": { "coverages": { "additionalProperties": false, "properties": { "all_perils_deductible": {}, "bi_per_accident": {}, "bi_per_person": {}, "coll_deductible": {}, "comp_deductible": {}, "csl_limit": {}, "custom_equipment_coverage": {}, "dwelling_a": {}, "earthquake_endorsement": {}, "equipment_breakdown": {}, "extended_replacement_cost_pct": {}, "flood_through_carrier": {}, "foundation_water_damage": {}, "gap_coverage": {}, "glass_full": {}, "hidden_water_damage": {}, "liability_e": {}, "loss_of_use_d": {}, "medical_f": {}, "medpay_limit": {}, "mold_limit": {}, "named_storm_deductible": {}, "new_car_replacement": {}, "oem_parts": {}, "ordinance_or_law_pct": {}, "other_structures_b": {}, "pd_limit": {}, "personal_property_c": {}, "pip_limit": {}, "rental_days_max": {}, "rental_reimbursement_limit": {}, "replacement_cost_contents": {}, "scheduled_personal_property": {}, "service_line": {}, "service_line_limit": {}, "sewer_water_backup": {}, "towing_labor_limit": {}, "uim_stacking": {}, "umbi_per_accident": {}, "umbi_per_person": {}, "umpd_limit": {}, "water_backup_limit": {}, "water_seepage_leakage": {}, "wind_hail_deductible": {} }, "type": "object" }, "current_address": { "additionalProperties": false, "properties": { "city": {}, "state": {}, "street": {}, "zip": {} }, "type": "object" }, "current_carrier_auto": {}, "current_carrier_home": {}, "current_premium_auto": {}, "current_premium_home": {}, "discounts": { "additionalProperties": false, "properties": { "advance_quote": {}, "autopay": {}, "autopay_card": {}, "autopay_eft": {}, "bundle": {}, "central_station_alarm": {}, "claims_free_years": {}, "early_signing": {}, "gated_community": {}, "group_affinity_code": {}, "hoa": {}, "homeowner": {}, "loyalty": {}, "military": {}, "monitored_burglar_alarm": {}, "monitored_fire_alarm": {}, "multi_policy_bundle": {}, "multi_vehicle": {}, "new_home": {}, "non_smoker_household": {}, "paperless": {}, "paperless_billing": {}, "prior_insurance_carrier": {}, "prior_insurance_continuous": {}, "prior_insurance_years": {}, "recently_renovated": {}, "smart_home_devices": {}, "telematics_opt_in": {} }, "type": "object" }, "drivers": { "items": { "additionalProperties": false, "properties": { "accident_prevention_course": {}, "assigned_vehicle_id": {}, "date_of_birth": {}, "defensive_driving_completed": {}, "dob": {}, "education_level": {}, "first_name": {}, "gender_on_license": {}, "good_student": {}, "last_name": {}, "license_state": {}, "marital_status": {}, "military_status": {}, "occupation": {}, "relationship_to_pni": {}, "self_reported_accidents": {}, "self_reported_violations": {}, "student_away_from_home": {}, "years_licensed": {} }, "type": "object" }, "type": "array" }, "follow_ups": { "items": { "additionalProperties": false, "properties": { "interest": {}, "note": {} }, "type": "object" }, "type": "array" }, "has_mortgagee": {}, "is_new_purchase": {}, "mortgage_billed_by_lender": {}, "mortgagee": { "additionalProperties": false, "properties": { "clause_address": {}, "company": {}, "loan_number": {} }, "type": "object" }, "pni": { "additionalProperties": false, "properties": { "dob": {}, "email": {}, "first_name": {}, "gender_on_license": {}, "last_name": {}, "marital_status": {}, "phone": {}, "preferred_language": {} }, "type": "object" }, "policy_terms": { "additionalProperties": false, "properties": { "effective_date": {}, "paperless_documents": {}, "pay_plan": {}, "term_length": {} }, "type": "object" }, "prior_insurance": { "additionalProperties": false, "properties": { "carrier": {}, "expiration_date": {}, "policy_limits": {}, "years_continuous": {} }, "type": "object" }, "property": { "additionalProperties": false, "properties": { "address": {}, "attached_garage": {}, "basement_type": {}, "business_on_premises": {}, "business_type": {}, "claim_details": {}, "claims_in_last_5_years": {}, "construction_type": {}, "distance_to_fire_station": {}, "distance_to_hydrant": {}, "dog_bite_history": {}, "dog_breed": {}, "foundation_type": {}, "garage_type": {}, "hail_resistant_roof": {}, "number_bathrooms": {}, "number_bedrooms": {}, "number_kitchens": {}, "number_stories": {}, "occupancy": {}, "pool_diving_board": {}, "pool_fenced": {}, "pool_slide": {}, "pool_type": {}, "protection_class": {}, "recent_renovations": {}, "roof_age_years": {}, "roof_material": {}, "roof_shape": {}, "square_footage": {}, "trampoline": {}, "trampoline_safety_net": {}, "ul_impact_type": {}, "year_built": {} }, "type": "object" }, "vehicles": { "items": { "additionalProperties": false, "properties": { "abs": {}, "airbags": {}, "annual_mileage": {}, "anti_theft_device": {}, "commute_miles_one_way": {}, "custom_equipment_value": {}, "daytime_running_lights": {}, "garaging_address": {}, "garaging_zip": {}, "lienholder": {}, "make": {}, "model": {}, "ownership_status": {}, "primary_use": {}, "purchase_date": {}, "trim": {}, "vin": {}, "year": {} }, "type": "object" }, "type": "array" } }, "type": "object" }, "quote_id": { "description": "The quote session id returned by start_quote.", "type": "string" } }, "required": [ "quote_id", "patch" ], "type": "object" }, "name": "update_quote", "outputSchema": { "additionalProperties": true, "description": "Which fields were applied and whether the quote is ready to rate.", "properties": { "applied": { "items": { "type": "string" }, "type": "array" }, "completeness": { "type": "number" }, "quote_id": { "type": "string" }, "ready_to_quote": { "type": "boolean" }, "rejected": { "type": "array" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:f4d4da6e1ccb7061a65b3d7992afc313aa49afa3500e21f8a15b48f0b4fcfc32 | sha256sum