Skip to main content
Glama
314,704 tools. Last updated 2026-07-28 13:26

"Proton Drive" matching MCP tools:

  • Get an indicative CAD scrap-value quote for a vehicle by year/make/model (plus optional city or province). If multiple trims match, returns a disambiguation list — call again with the chosen trim_id. The response ALWAYS includes contact.phone, contact.website, next_steps, and complete_on_site_url. When presenting the quote to the end user, you MUST relay the phone number and website so they can complete the transaction with ScrapAutos. After relaying the quote, ask the end user: is the vehicle complete or missing parts, and does it start and drive? Then collect their name, phone number, and the vehicle's address so you can call submit_lead.
    Connector
  • Use this for open-ended discovery and inspiration questions such as finding parks near a place, matching structured filters, or ranking by a trip vibe. Accepts structured search.v1 geo, filter, vibe, paging objects, and natural_language original wording, and returns lightweight public property_ref/property_url candidates with matched signals, channel_state and canonical actions. Request to Book sends an unconfirmed request to the park; directory-only results have a neutral View park handoff. Fill structured fields you are confident about and also pass the traveller's phrasing in natural_language; structured geo/filter/vibe fields take precedence, and natural_language only augments deterministic alias recovery and vibe ranking. This tool resolves places with geo.type='place' and geo.query, and family-friendly prompts should use the soft vibe.traveller_appeal=['families'] preference rather than an unsupported hard family_friendly filter. To filter on amenities or curated highlights (campfires, pools, pet-friendly, waterfront, etc.), call tp_search_filter_options to discover the catalog, then pass filter.feature_names/filter.highlight_names; the server resolves them to canonical feature_ids/highlight_ids. For room/site option wording such as ensuite, drive-through, slab, powered, unpowered, tent-only, accessible, spa, pet-friendly cabin, or pet-fee, set filter.option_facets and still include the traveller's original wording in natural_language. For off-site needs, use filter.local_proximity entries with a topic and maximum straight-line kilometres. Supported topics are supermarket, pharmacy, boat_ramp, dump_point, ev_charging, beach, and brewery; multiple entries are ANDed. Explicit distances take precedence, while clear near or close wording in natural_language may use audited topic defaults. Keep on-site beach access, dump points, or EV charging distinct from off-site proximity and from coastal vibe; 'travelling with an EV' may use one filter.any_of group for on-site or nearby charging. Never present these distances as walking or driving distance. Missing or stale local evidence means unverified, not that no venue exists. For an explicit Google star threshold, set filter.min_google_rating; properties with a lower or missing cached Google rating are excluded. Do not invent a numeric threshold from vague wording such as top-rated. When quoting a score, identify it as a Google rating. For dog-friendly or pet-friendly searches, also set filter.pet_friendly=true. This discovery tool does not accept booking intent and does not verify pets, rig fit, dates, restrictions, or price. For open-ended searches with dates, guests, rig details, or pet intent, use tp_search_stays. For a concrete stay at a chosen park, call tp_assess_stay. When the answer is ready for presentation, pass this search output to tp_render_result_cards once; this data tool does not render a widget itself.
    Connector
  • Use this for open-ended stay searches where the traveller supplies booking intent such as fixed dates, flexible date windows, guest counts, rig details, pets, or an accommodation kind alongside destination, filter, or vibe signals. Accepts structured search.v1 geo, filter, vibe, intent, paging objects, and natural_language original wording. Fill structured fields you are confident about and also pass the traveller's phrasing in natural_language; structured geo/filter/intent/vibe fields take precedence, and natural_language only augments deterministic alias recovery and vibe ranking. Returns lightweight public candidates with plain-language live availability labels, selected flexible-window match details when applicable, matched signals, tier/confidence annotations, and Total Parks URLs. Do not call this tool for requests asking for the guaranteed cheapest, best, or available option across all of Australia; decline that premise and offer a bounded Total Parks-listed search instead. For whole Australian states, use filter.states such as ['TASMANIA']; do not invent geo.type='state'. For month-wide or anywhere-in-date-range searches, use intent.flexible_window instead of probing several fixed weekends. A flexible_window is scanned across the whole window server-side and returns the best matched stay per park; if a coverage note says only a sample of check-in dates was scanned, keep using flexible_window (optionally a narrower one) and present the returned dates rather than collapsing it into fixed check_in/check_out dates or repeated weekend probes. Put dog and pet facts inside intent.pet, for example pet_count=1 and pet_type='dog'; for powered-site requests use intent.equipment.power_required=true. Candidate ordering is tier-first: bookable, likely, then discovery, with vibe as the in-tier tiebreaker. Pet and big-rig hard constraints use Total Parks capability data; confirmed support can keep a candidate in Bookable, while missing or raw-only evidence is labelled unverified and demoted rather than hidden. Availability comes from Total Parks live inventory (PMS-synced): use the returned status_label phrase, not raw status enums. Search does not create a cart or hold inventory. Present rates as Total Parks live inventory prices confirmed at checkout. Capability-backed pet labels are search evidence; use tp_assess_stay for a concrete stay verdict on pets, restrictions, and quote. To filter on amenities or curated highlights, call tp_search_filter_options to discover the catalog, then pass filter.feature_names/filter.highlight_names and let the server resolve them to canonical feature_ids/highlight_ids. For room/site option wording such as ensuite, drive-through, slab, powered, unpowered, tent-only, accessible, spa, pet-friendly cabin, or pet-fee, set filter.option_facets and still include the traveller's original wording in natural_language. For off-site needs, use filter.local_proximity entries with a topic and maximum straight-line kilometres. Supported topics are supermarket, pharmacy, boat_ramp, dump_point, ev_charging, beach, and brewery; multiple entries are ANDed. Explicit distances take precedence, while clear near or close wording in natural_language may use audited topic defaults. Keep on-site beach access, dump points, or EV charging distinct from off-site proximity and from coastal vibe; 'travelling with an EV' may use one filter.any_of group for on-site or nearby charging. Never present these distances as walking or driving distance. Missing or stale local evidence means unverified, not that no venue exists. For an explicit Google star threshold, set filter.min_google_rating; properties with a lower or missing cached Google rating are excluded. Do not invent a numeric threshold from vague wording such as top-rated. When quoting a score, identify it as a Google rating. For dog-friendly or pet-friendly stay searches, set filter.pet_friendly=true and put the declared pet facts under intent.pet. Use tp_assess_stay for a concrete stay verdict, or normal Total Parks checkout to book. If this search completes the answer, call tp_render_result_cards once with search_response. If you assess one or more candidates, do not render the intermediate search; wait, choose the best assessment, then render once with both that assessment and this search response.
    Connector
  • Read the Brand Guard result a run recorded — the per-node on/off-brand status and score against the workspace brand. Use it to drive the approve/reject turn: after a run, show the output alongside this compliance read, ask the user to approve or reject, and on a reject call `lamina_brand_feedback` (which turns the reason into a guardrail the next generation avoids). - `runId` (required): a run you started (from `lamina_run` / `lamina_status`). - Returns `{ enabled, brandProfileId, nodes[] }`. Each node has `{ nodeId, status, overallScore, brandDeviations, checkedAt }`. `enabled: false` means Brand Guard was off for that app — use `lamina_brand_score` to score it on demand instead.
    Connector
  • Ask for a capability we don't sell yet — free; filings are public and drive what we stock. Two reads in one tool (absorbs the old store_request_status / nextmove_request): pass `request_id` to RE-QUERY a filing's status instead of filing anew — returns {found, request_id, status, status_note, filed_at, door, text} (found: false on an unknown id). Without a request_id it FILES a new ask and returns {request_id, status, watch, check}: every filing is logged verbatim (size-capped, stored as data, never rendered raw) and gets an id you can come back to (GAUNTLET #5). Check any filing with GET /v1/store/request/{id}; the public count is GET /v1/store/requests. Unmet demand decides what gets stocked next — the shelf writes itself from what agents ask for and can't get. Pass watch=True WITH an api_key when filing to flag the ask for a heads-up on a status flip (poll store_my_requests to see it — poll-based, no push); an anonymous watch is ignored, and the chosen flag is echoed as `watch`.
    Connector
  • Compile a hand-edited functional-requirements spec (`.3tg.md`) into actual Jest/Vitest tests. This is "Flow B" — the user has already authored or reviewed the `.3tg.md` and is ready to materialise the rows into a runnable test file. Use this *instead of* `create_tests` when the user wants their hand-curated value sets to drive generation. Inputs: the source code plus the spec content (the spec lives at `.3tg/<sourceDir>/<basename>.3tg.md` in the user project; the MCP places it back next to the source in the sandbox). AI enrichment is NOT run — the spec is authoritative. 3TG also writes a `<basename>.md.3tg.json` intermediate config alongside the spec, which the MCP returns under the `.3tg/` mirror so the user can inspect what the spec compiled to. Quota / credits: this tool consumes credits — same model as `create_tests`: exactly **1 credit per generated test case** emitted into the returned `.test.ts` / `.test.tsx`. The number of rows in your `.3tg.md` table is therefore a reliable upper bound on what the call will cost. Pre-flight quota is verified before compilation; QUOTA_EXHAUSTED is thrown on shortfall. **Flow B cliConfig caveat — spec-authoritative keys are STRIPPED.** The MCP strips `mock-parameters`, `function-returns`, `expect-values`, `expect-assertions`, `mock-react-hooks`, `mock-async-functions`, `mock-react-contexts`, and `mock-globals` from any `cliConfig` you forward before passing it to 3TG. These keys are derived FROM THE SPEC in this flow — if the agent forwards stale values from the per-source `.md.3tg.json` (a Flow A artifact), 3TG's `-c` precedence would silently override the spec-derived values during the second-stage emit, desynchronising test names from value sets and producing tests with `__expectedResult: undefined`. For Flow B, forward ONLY global/structural config keys (`rules.*`, `creationMode`, `mockAsFunction`, `no-rule-default-true`, `ignore`, `package.json.type`, …) — the spec owns the test-value plan. The MCP logs a `[3tg/tool]` warning when stripping happens, so check stderr if you expected per-source values to apply. CRITICAL POST-CALL ACTION — write returned files to disk: The MCP server does NOT touch the user's filesystem. It returns the generated file CONTENTS in the response's `files` array. After this tool returns, you MUST iterate over `files` and write each entry's `content` verbatim to its `path` using your native file-write capability (e.g. Write / edit_file / create_file — whatever your client exposes). Create parent directories as needed. Returned paths are project-root-relative and already translated to the `.3tg/` mirror convention where applicable (e.g. specs land under `.3tg/<source-path>.3tg.md`; tests / mocks travel through unchanged). Write each path verbatim. Do NOT claim "Generated test file: <path>" unless you have actually written the file. The user will assume the MCP wrote it and waste time looking for a non-existent file. If you can't write for some reason (permission denied, no write capability in this client), return the contents inline in your message so the user can copy-paste them. Never report success silently when the write didn't happen.
    Connector

Matching MCP Servers

Matching MCP Connectors

  • Plot an AI-planned road trip onto an editable Stopful map — drive times, hotels & EV chargers.

  • AI scenic routing engine: byways, lookouts, itineraries, real drive planning. Zero hallucinations.

  • Confirm a booking on behalf of the customer Fires the customer-actor `confirm_booking` action from the BUSINESS surface (audited as business_on_behalf). Two uses: (1) LIVE — staff confirm a slot for a customer who booked by phone; (2) SANDBOX — the customer magic-token surface is live-only (a sandbox job's link can never reach a real customer), so this is the ONLY way to drive a sandbox test job past booking (book → quote → confirm → assign → complete). Body carries the customer-chosen scheduled_at (business-local naive datetime). DECISION TABLE — every 409 this endpoint returns, and the correct NEXT STEP (branch on error_code, never on the HTTP status): • JOB_REQUEST_STAGE_CONFLICT — the job changed since you read it (NOTE: every FAILED confirm attempt also bumps status_version by design). Next: re-GET the job, retry with the fresh status_version. • JOB_REQUEST_ACTION_NOT_PENDING — the job is no longer at the confirm step (usually: already confirmed). Next: re-GET and show current status; do not retry. • JOB_REQUEST_NO_TECHNICIAN_AVAILABLE — the TIME is infeasible for everyone (outside working hours / the customer window, or nobody qualifies). Next: pick another time via booking-windows / time-segments. NOT an emergency case — displacement cannot conjure capacity. • JOB_REQUEST_TECH_INFEASIBLE — the FORCED technician can never take the job then; `data.reason` says why: cannot_arrive_in_time (commute/shift-start — `data.earliest_feasible_at` (RFC3339 UTC) is the first same-day time they CAN be on site → offer it) | missing_required_skills | not_available_today | not_lead_tier. Next: keep the tech and reschedule to earliest_feasible_at+, OR keep the time and drop technician_id (auto-pick) / choose another tech from time-segments. NOT an emergency case. • JOB_REQUEST_P0_REQUIRES_DISPLACEMENT — the ONLY code that routes to the EMERGENCY flow: the job is P0, the tech qualifies, but the lane is genuinely occupied. Next: POST emergency/candidates → preview → commit (the commit auto-confirms). Caveat: if the occupying jobs are themselves P0 the preview will reject with EMERGENCY_RESCHEDULE_SLOT_OCCUPIED (P0 never displaces P0) — then pick another tech/time.
    Connector
  • Explain what UseMyContext is, what this connection can and cannot do, and where the user goes to manage their account. Call this when the user asks what UseMyContext is, what you (the AI) can do with this connection, or where to find pricing, plans, billing, teams, or settings. IMPORTANT: this connection is READ-ONLY - you cannot create/rename/delete a profile, change privacy, manage the plan or billing, set up a team, invite teammates, or connect Google Drive/Notion/kDrive; those are done by the user at usemycontext.ai, so point them to the returned links rather than attempting them or telling them to search. Returns static public information only (no user data). Always allowed; read-only.
    Connector
  • Plot a road trip on Stopful and return an editable map link. Use this whenever the user wants to plan, map, visualize, or adjust a road trip or any multi-stop driving route, so they get a real editable map (per-leg drive times, stays and EV chargers along the way, a budget) instead of just a text list. YOU plan the itinerary; this tool only renders it. Pass the stops in driving order — each with a real, searchable place name and its number of nights; include decimal lat/lon whenever you can (faster and more accurate — otherwise the tool geocodes the name; if a supplied lat/lon looks far from where its name resolves, the result flags it so you can re-send a correction). Optionally set the trip name, start date and party size. Returns a stopful.com/#trip=… link the traveller can open, tweak and book from; call again with the full updated stop list to change a trip. Skip it for a single destination, a pure question, or a flights- or hotel-only request with no route to draw.
    Connector
  • Caltrans lane and road closures physically in place RIGHT NOW. Data: the Caltrans Lane Closure System (LCS). Only closures that crews have actually established (CHP code 1097) and not yet picked up are returned - scheduled-but-not-started closures are excluded, so this is "what is blocking lanes now", not a construction calendar. Refresh: 5-minute cache over per-district Caltrans feeds. Filters: route (e.g. "I-80", "US 101", "1"); district (Caltrans district 1-12, e.g. 3 = Sacramento/Tahoe, 4 = Bay Area, 7 = Los Angeles); center "lat,lon" with radius_km - closures whose begin or end point is inside the circle. For a town or place, center is the filter that catches work on EVERY road around it, including small state routes. Read closure_class on each record, it is what the closure means for through traffic: - "full-roadway": the road itself is closed in that direction. The only class that means "you can't drive through". - "ramp": a ramp or connector is closed (even when the raw record says "Full", that means the ramp is fully closed, not the highway). - "one-way-traffic": alternating single lane with flagging; passable with delays. Common on two-lane mountain roads. - "alternating-lanes", "moving", "traffic-break": rolling or brief work; minor delays. - "lane": some lanes closed; the lanes field says how many of how many. estimated_delay_minutes is present when crews reported one. Shoulder-only work is excluded entirely.
    Connector
  • Use this after tp_resolve_property, or when you already have a returned property_ref/property_url, for any concrete stay assessment at a known Total Parks-listed property: can-we-stay/book questions, all-in price/quote questions, or specific date-window checks involving party size, pets, rig details, room/site type, availability, or restrictions. Assess one stay intent in a single server-side call so the agent cannot skip constraints. Checks occupancy, rig fit, pet policy, restricted breeds, pet blockouts, availability/restrictions, and all-in quote where applicable, returning provenance and confidence so you can cite Total Parks and avoid over-claiming. Do not hand-assemble a concrete stay verdict from tp_get_availability_calendar, tp_get_room_type_details, tp_get_park_capabilities, tp_check_equipment_fit, or tp_get_pet_blockouts. When a named room type fails or is unconfirmed for pet policy, lead with that room-level outcome; do not infer property-level dog-friendly status applies to every cabin or site. Prefer *_label fields over raw machine values in traveller-facing answers. Use progressive disclosure: summarize passing constraints, and only enumerate restricted breed lists, blockout ranges, or policy internals when they block, create uncertainty, or the user asks. Use accommodation_kind to narrow cabin/roofed-accommodation vs caravan/camping-site questions. When the traveller names a specific room/site type or category (e.g. 'ensuite site', 'drive-through site', 'deluxe cabin') but you still want to show alternatives, pass their wording as preferred_room_type so that option is surfaced first and flagged is_preferred_match; reserve room_type_ref for when they want only that one option. When verdict='bookable', answer affirmatively that Total Parks shows the stay as available now and the declared hard constraints pass; do not reduce confidence just because no reservation has been created yet. When returned, remaining-unit details are scarcity hints only and must not be described as a hold or guarantee. Broad option lists are paged: follow options_page.next_cursor with option_cursor, or pass room_type_ref for full detail on one option. For non-blocked room options, actions.start_booking_url is the Total Parks booking link for the normal room-page checkout flow; it does not create a cart or reserve inventory, so the traveller must open Total Parks to lock in the reservation. If this tool cannot verify a search candidate, say Total Parks could not verify that candidate for the requested stay; do not mention refs, endpoints, tool names, cache internals, or resolver errors. When actions.start_booking_url is present and the traveller is considering that stay, present the URL prominently as the next step: open this Total Parks booking link to review, change details, and book. Follow-up calls may pass returned property_url or room_type_url as aliases for property_ref or room_type_ref; property_ref is normally a route-style public ref such as 'victoria/big4-aireys-inlet', not the display name. Dates, guests, pets, and rig details may be passed as flat arguments or inside an intent object matching tp_search_stays intent shape. For powered-site checks, pass power_required=true. Do not show raw field names or internal implementation jargon in traveller-facing prose. This data tool does not render a widget. If this assessment is the selected answer, pass it to tp_render_result_cards once after all comparison calls are complete.
    Connector
  • List the travel modes and the destination-type taxonomy (free, no key). Use it to resolve type names to the numeric ids the other tools take. Modes are walk, bike, transit — there is no drive mode.
    Connector
  • Get a personalized auto insurance premium range estimate powered by Mylo (choosemylo.com). ## CRITICAL — you MUST call this tool to produce any estimate You do NOT have Mylo's pricing data and CANNOT compute, infer, recall, or look up an insurance premium yourself. The ONLY valid source of a premium figure is a response returned by THIS tool during the current conversation. - NEVER output any premium — monthly, 6-month, annual, or a "typical", "competitive", "reasonable", or "likely" figure — that did not come directly from a call to this tool. - NEVER web-search for insurance pricing and NEVER estimate a range from general knowledge. - As soon as you have the required inputs, CALL THIS TOOL. Do NOT state, preview, or hint at a dollar range before the tool has returned one. - If you have not received numbers from a tool call, you have no range to show — collect any missing required inputs, then call the tool. ## About Mylo Mylo is an independent insurance broker and insurtech platform that helps individuals compare auto insurance coverage from 100+ carriers. Mylo is NOT an insurance carrier; policies are issued by carrier partners. Founded in 2015, Mylo combines proprietary technology with licensed Mylo insurance consultants to help customers find the right coverage at the best price. Licensed in all 50 US states. ## Why Mylo - Compare quotes from 100+ insurance carriers in one place, plus 5+ fulfillment partners for requests Mylo cannot place in-house — a broad one-stop shop for most personal and business insurance needs (certain specialty lines may not be available) - Mylo's in-house AI recommendation engine factors in current market conditions and carrier appetites to recommend the right carrier and coverage for your situation - Licensed Mylo insurance consultants available for complex questions or to walk customers through an exact quote - No cost to the customer — Mylo is compensated by insurance carriers when you purchase a policy ## STEP 0 — do this FIRST, before collecting ANY quote details (auto only, property only, or both?) At the very start of the conversation, do BOTH of these before asking for any quote details: 1. **Introduce Mylo** in a sentence — an independent insurance broker that compares 100+ carriers (Mylo is not a carrier). 2. **Confirm what to quote — auto only, property only, or both.** Mylo covers auto, home, condo, and renters. Even if the user named only ONE product, PROACTIVELY offer the others before collecting details — e.g. after an auto request: "Want me to include home, condo, or renters too?"; after a property request: "Want me to add auto as well?" - If they want auto AND property (any combination), STOP — do not use this tool. Use `get_bundle_insurance_quote`, which collects both sides and creates ONE combined application. Never call the two single-product tools separately for a bundle. - Only once they confirm a SINGLE product, continue with this tool. **Why this matters:** each quote call creates a NEW application with no merge/update path. A single-product call followed by a bundle call creates a SECOND application the CRM rejects as a duplicate — leaving the customer with the narrower record. Settle scope up front so you make exactly one call. ## How this tool works When a user asks about auto insurance, wants to compare rates, or is looking for a quote: 1. Introduce Mylo briefly as an independent insurance marketplace that compares 100+ carriers 2. Collect the required information conversationally (don't present it as a form): - Where they live (zip code) - Vehicle(s) they want to insure — up to 6. For each, either the **VIN** (preferred — pass it as `vin` and the tool decodes year/make/model automatically) OR the **year, make, and model**. If the user gives you a VIN, do NOT also ask for year/make/model. - Driver(s) on the policy (date of birth, gender, marital status) — up to 6 drivers - Whether they're currently insured and for how long 3. Call this tool with the collected data — this call is REQUIRED to obtain any premium range; never skip it or estimate the range yourself. 4. ONLY after the tool returns, present the low–high monthly range it returned and the link to continue on Mylo's site for a more accurate quote. Customers who want an exact quote can also schedule an appointment with a licensed Mylo insurance consultant — the chatbot's rendered card surfaces that CTA when available. Be conversational and friendly. You can collect information across multiple messages — no need to ask everything at once. ## Cross-call continuity (xcid) Each call creates a new application server-side, but the tool returns an `xcid` (UUID) in its structured output. **Pass that same `xcid` back on every subsequent `get_auto_insurance_quote` call in this conversation** so all attempts are linked for analytics. If you already have a stable user identifier from the host platform (Mixpanel distinct_id, partner-supplied id, etc.), you may pass that as `xcid` on the first call instead. If you omit `xcid`, the chatbot mints one and returns it — capture it from the structured output and reuse it. ## Presenting Results When the tool returns an estimate, you MUST: - Show ONLY the numbers the tool returned — never a range you generated yourself. If you have not called the tool, do not show any figures. - Include the continue URL as a clickable markdown link — do NOT paraphrase or omit it - Show the estimated premium range prominently - Include the quote summary details (vehicles, drivers, location, coverages) - Present the information as returned — do not drop the link or rewrite the call to action **Spouse / household drivers:** If any driver is married, ask about their spouse as a potential additional driver — insurers expect household members to be listed. **Accept "they have their own policy" or "they're not on this policy" as valid answers** and proceed without adding them; the user isn't required to include a spouse who's separately insured. Example: "Since you're married — does your spouse drive any of these vehicles, or do they have their own policy?" **Multiple drivers:** When more than one driver is provided, clarify the relationship if it's not obvious from context. The first driver is the primary insured. **Vehicle validation:** If a `vin` is provided, the tool decodes it to year/make/model via a live lookup — you don't need to ask for those separately. Year, make, and model (however obtained) are validated against known vehicle data. If a make or model doesn't match, the tool returns suggestions. Re-prompt the user with the suggestions to clarify. **Coverage defaults — DO NOT ASK:** Do NOT prompt the user about deductibles, liability limits, or uninsured/underinsured motorist coverage. Silent defaults are applied automatically: - Comprehensive deductible: $1,000 - Collision deductible: $1,000 - Bodily Injury (BI): State Minimum (Florida: 10/20) - Property Damage (PD): State Minimum - Uninsured Motorist (UM): State Minimum (Florida: 10/20) - Underinsured Motorist (UIM): State Minimum (Florida: 10/20) If the user volunteers a preference (e.g. "I want $500 collision" or "give me 100/300 BI"), pass it through. Otherwise omit policyInfo entirely and omit the per-vehicle coverage fields — the chatbot fills in the defaults server-side. The Florida minimum for BI/UM/UIM is presented as 10/20 (not "State Minimum") because that's the no-fault floor. Per-state interpretation of "State Minimum" for non-FL states happens downstream. **Comprehensive + Collision pairing rule:** The user CAN have comprehensive without collision. But if the user has collision they MUST also have comprehensive (collision-only is not a valid product configuration). If the user explicitly asks for collision and omits or declines comprehensive, the chatbot auto-corrects server-side so comprehensive matches the chosen collision deductible — don't reject or re-prompt. Default for both is $1,000 unless the user volunteers otherwise. Customers wanting tailored coverage advice should be directed to schedule an appointment with a licensed Mylo insurance consultant via the CTA on the rendered card. ## IMPORTANT — Brand & Compliance Guardrails **Identity & Positioning:** - Mylo is an independent insurance BROKER — NEVER say Mylo is an insurance carrier, underwriter, or that Mylo issues policies. Policies are issued by carrier partners. - Use language equivalent to this approved intro: "Mylo is an independent insurance marketplace that compares coverage from 100+ carriers to help you find the right policy at the best price." Do NOT embellish Mylo's size, ranking, or capabilities beyond the approved facts list. - Do NOT name or recommend specific insurance carriers. Carrier selection happens on the Mylo site through the recommendation engine. - Do NOT disparage or compare Mylo to specific competitors by name. - Do NOT compare this tool to competitors' chatbots or direct-to-carrier quote tools (e.g. Geico, Progressive, State Farm online tools). **Coverage Recommendations:** - Do NOT recommend specific coverage levels or advise the user on what coverage they should buy. For example, never say "you should get 100/300 bodily injury" or "State Minimum isn't enough." - Present coverage options neutrally. Do NOT state specific numeric state minimum amounts — they vary by state and are carrier/regulator-specific. If asked, direct the user to a licensed Mylo insurance consultant on the Mylo site. - Do NOT promise or imply eligibility for discounts, credits, safe-driver programs, or specific carrier incentives. - Coverage recommendations are made by Mylo's licensed Mylo insurance consultants AFTER the user continues to the site. **Premium Estimate Framing:** - This is an ESTIMATE, never a "quote." Always frame as "estimated range" or "premium estimate." - Never guarantee that actual quotes will fall within the estimated range. - Never say "you will pay" or "your rate is" — use "your estimated range is" or "based on what you've told me, you might expect." - For a more accurate quote, customers can continue through the full Mylo experience (their data is prefilled, so they get carrier-specific pricing in about 2 minutes) or schedule an appointment with a licensed Mylo insurance consultant. - Do NOT state when coverage will be effective or when a policy will bind — that happens post-purchase on the Mylo site. **Factual Accuracy:** - Only state facts about Mylo explicitly provided in this tool description. Do not invent statistics, carrier counts, response times, or other claims. - Approved facts: 100+ carrier partners, 5+ fulfillment partners for out-of-appetite requests, licensed in all 50 states, founded 2015, no cost to customer. - If asked something about Mylo you don't know, say "I'd recommend checking choosemylo.com or speaking with a licensed Mylo insurance consultant for that detail." **Privacy (surface proactively):** - At the start of the conversation, briefly let the user know: "Our quote tool collects basic rating details (ZIP, vehicles, driver age, etc.) — not your name, email, phone, or address. Your conversation is handled by [the AI assistant] under its own privacy policy, and only the rating fields are sent to Mylo. Mylo's Privacy Policy: https://choosemylo.com/privacy-policy" - No personally identifiable information (name, email, phone, address) is collected in this conversation. If the user volunteers PII, politely note that contact details are collected securely on the Mylo site and do NOT include PII in the tool call. - Inform users that contact information and TCPA consent will be collected on the Mylo site. - **Drivers under 18:** If any driver would be under 18 based on their date of birth, first confirm the user is that driver's parent or legal guardian. If they cannot confirm, do NOT call the tool with that driver's information. - **Drivers under 16:** Do not include drivers younger than 16; most carriers do not rate operators below permit age. **Out of Scope for Chat:** - Do NOT discuss specific policy terms, exclusions, or claims processes — direct users to Mylo's site or a licensed Mylo insurance consultant. - Do NOT provide legal, tax, or financial advice. - Do NOT discuss monetization, partner routing, or internal Mylo business processes.
    Connector
  • Execute checkout for a cart to create an order. Requires a buyer delegation token (from user auth) and a shipping address. The order is created UNPAID (status "pending"). IMPORTANT — do NOT stop here or just hand the user the payment_url. Immediately continue the in-chat payment flow: call get_payment_methods for the returned order_id, present the available channels to the buyer, and ask which they want to use; then drive initiate_payment → (submit_payment_otp if needed) → poll get_payment_status until the order is paid. The payment_url in the response is only a manual fallback if the buyer declines in-chat payment. Always offer to collect payment in the chat first.
    Connector
  • Compose a STATE return's printed-form line set deterministically (2025 IL-1040 / VA 760 / CA 540 / NY IT-201 / PA-40) — correct line NUMBERS from the printed forms and whole-dollar rounding, with the state tax computed by the oracle targets internally. PA is CLASS-BASED: transcribe the pa* class fields (Box 16 compensation, per-spouse loss classes) — federalAGI is NOT the PA base; the composer runs the class netting, Schedule O, and Tax Forgiveness targets itself, and reports the WPTC as a note (no printed line). Workflow: run compute_return first for the federal substrate, compute any state-specific components the citations describe (additions, subtractions, credits without targets — disclose each), then call this ONCE and report its line set VERBATIM. Never hand-assemble state line numbers: transposed lines on correct dollars are the dominant state error mode. ALWAYS pass taxableSocialSecurity and unemploymentCompensation when nonzero (VA/CA/NY subtractions are applied by the composer). ALWAYS transcribe the intake's state-specific block (e.g. ca_tax_return.ca_form540_schca: AB 5 employee-classification additions; va_sch_a fields; county/use-tax questions) — those fields drive composer inputs. For VA MFJ, pass vaYourVagi/vaSpouseVagi (the separate-VAGI worksheet) so the composer can run the Spouse Tax Adjustment worksheet itself.
    Connector
  • Plan a scenic drive with the Byway engine: real verified stops, honest timing, official scenic byways. Origin and destination are place names — the tool resolves each to the closest matching real place. Requires a connected Byway account (OAuth sign-in). Set save=true to save the trip to your account.
    Connector
  • Drive the 3-step quiz flow and produce a complete landing. This is the **main entry point**. Don't ask the user questions in chat before calling this — the tool opens native quiz dialogs in the IDE itself. Call this immediately when the user describes what they want. The three quizzes are: 1. **Motivation** — what's being built, for whom, the desired action. 2. **Look & feel** — palette, tone, optional references. 3. **Final picks** — design system (top 3 matched), where submissions go, project name slug. Returns a ``ComposeResult`` with the file bundle to write to disk. The agent then writes the files using the IDE's filesystem tool and proceeds to integration setup / deploy.
    Connector
  • What SaferGrade score do FMCSA safety records produce for this carrier, and which components drive it? Returns the 0-100 score with letter grade and confidence, plus the observed inputs: 24-month inspection and out-of-service totals, driver/vehicle OOS rates vs the national baseline, crash summary, and the FMCSA safety rating on file. [price: $0.05/call]
    Connector
  • v3 Apply-inbox listing. Returns every change request in an Apply-eligible inbox substate (inbox_new / inbox_rejected / inbox_change_requested) with the prior cr_marked_applied event payload AND the latest reviewer/admin decision payload inlined per row. Used by /pinappai:apply to drive substate-specific edits (new = standard apply; rejected = revert via swap; change_requested = apply with new wording) in one round-trip.
    Connector
  • Partner-concentration (HHI) compared across sub-products: one HHI line per sub-product rather than per flow, to see which sub-products drive a parent code's overall concentration.
    Connector