← WebMCP Directory

Tool tree

matchrv.com

CommerceTools verified
Website
Run a free quick check of your dealership website and see one Gemini answer to an RV shopper question near your city. Explore evidence-backed full audits.
Explore capabilities

    page: Every page

    search_inventoryAction

    Search MatchRV's normalized multi-dealer RV inventory with structured constraints (price, type, length, weight/tow vehicle, sleeps, features, location radius). Updates the shared shopping session the human sees on the page. Returns a match funnel, top results with match scores, and per-unit unknowns. Default mode 'refine' merges with existing constraints, so pass only what changed.

    View tool JSON
    {
      "name": "search_inventory",
      "kind": "act",
      "impl": "imperative",
      "description": "Search MatchRV's normalized multi-dealer RV inventory with structured constraints (price, type, length, weight/tow vehicle, sleeps, features, location radius). Updates the shared shopping session the human sees on the page. Returns a match funnel, top results with match scores, and per-unit unknowns. Default mode 'refine' merges with existing constraints, so pass only what changed.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "intent_summary": {
            "description": "One human-readable line of what the shopper asked for; shown in the page's activity feed",
            "type": "string",
            "maxLength": 200
          },
          "mode": {
            "description": "refine (default) merges into the current shared constraints; replace starts over",
            "type": "string",
            "enum": [
              "refine",
              "replace"
            ]
          },
          "clear": {
            "description": "Constraint keys to remove while refining",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "location",
                "price_max",
                "price_min",
                "rv_types",
                "condition",
                "length_max_ft",
                "length_min_ft",
                "max_weight_lbs",
                "tow_vehicle",
                "sleeps_min",
                "must_have",
                "prefer",
                "fresh_water_min_gal",
                "boondocking",
                "sort"
              ]
            }
          },
          "place": {
            "description": "Shopper location, city name (e.g. 'Tacoma')",
            "type": "string",
            "maxLength": 80
          },
          "radius_miles": {
            "description": "Search radius from place; default 150",
            "type": "number",
            "minimum": 1,
            "maximum": 3000
          },
          "price_max": {
            "description": "Hard price ceiling, USD",
            "type": "number",
            "minimum": 0,
            "maximum": 2000000
          },
          "price_min": {
            "type": "number",
            "minimum": 0,
            "maximum": 2000000
          },
          "rv_types": {
            "description": "Acceptable RV types; omit for all",
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "travel_trailer",
                "fifth_wheel",
                "toy_hauler",
                "class_a",
                "class_b",
                "class_c",
                "popup_camper",
                "truck_camper"
              ]
            }
          },
          "condition": {
            "type": "string",
            "enum": [
              "new",
              "used",
              "any"
            ]
          },
          "length_max_ft": {
            "description": "Hard max overall length, feet",
            "type": "number",
            "minimum": 8,
            "maximum": 60
          },
          "length_min_ft": {
            "type": "number",
            "minimum": 8,
            "maximum": 60
          },
          "max_weight_lbs": {
            "description": "Hard cap on unit weight (checked against GVWR when known, else dry weight, flagged)",
            "type": "number",
            "minimum": 500,
            "maximum": 60000
          },
          "tow_vehicle": {
            "description": "Shopper's tow vehicle as stated, e.g. '2024 Ford F-150' or 'F-150 rated 8,000 lbs'. Pass raw — MatchRV resolves ratings",
            "type": "string",
            "maxLength": 120
          },
          "sleeps_min": {
            "type": "integer",
            "minimum": 1,
            "maximum": 14
          },
          "must_have": {
            "description": "Hard requirements. Search recommendations require these facts to be confirmed; units with missing required data are excluded by the search-readiness gate.",
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "bunkhouse",
                "solar",
                "solar_prep",
                "lithium",
                "generator",
                "four_season",
                "outdoor_kitchen",
                "two_entry_doors"
              ]
            }
          },
          "prefer": {
            "description": "Soft preferences — affect ranking only",
            "maxItems": 8,
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "bunkhouse",
                "solar",
                "solar_prep",
                "lithium",
                "generator",
                "four_season",
                "outdoor_kitchen",
                "two_entry_doors"
              ]
            }
          },
          "fresh_water_min_gal": {
            "type": "number",
            "minimum": 5,
            "maximum": 300
          },
          "boondocking": {
            "description": "Weight off-grid readiness (tanks, solar, generator, insulation) heavily in ranking",
            "type": "boolean"
          },
          "sort": {
            "type": "string",
            "enum": [
              "best_match",
              "price_asc",
              "price_desc",
              "distance",
              "newest_model_year"
            ]
          },
          "limit": {
            "description": "Results to return (default 5); the page shows the full list",
            "type": "integer",
            "minimum": 1,
            "maximum": 10
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    get_unit_detailsAnswer

    Full normalized record for one unit: specs, features, dealer, price, weights, tanks — every critical fact carries a source (dealer listing vs parsed text vs computed) and null means the dealer doesn't publish it. Also focuses this unit on the page.

    View tool JSON
    {
      "name": "get_unit_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Full normalized record for one unit: specs, features, dealer, price, weights, tanks — every critical fact carries a source (dealer listing vs parsed text vs computed) and null means the dealer doesn't publish it. Also focuses this unit on the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit_id": {
            "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          }
        },
        "required": [
          "unit_id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    compare_unitsAction

    Structured side-by-side comparison of 2-4 units: true spec values with unknowns intact, best-in-row markers, and each unit's status against the current session constraints. Opens the comparison view on the page. Use real values from this result for reasoning — never fill unknowns with guesses.

    View tool JSON
    {
      "name": "compare_units",
      "kind": "act",
      "impl": "imperative",
      "description": "Structured side-by-side comparison of 2-4 units: true spec values with unknowns intact, best-in-row markers, and each unit's status against the current session constraints. Opens the comparison view on the page. Use real values from this result for reasoning — never fill unknowns with guesses.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit_ids": {
            "description": "2-4 unit ids to compare",
            "minItems": 2,
            "maxItems": 4,
            "type": "array",
            "items": {
              "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
              "type": "string",
              "minLength": 3,
              "maxLength": 120
            }
          }
        },
        "required": [
          "unit_ids"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    explain_matchAnswer

    Deterministic explanation of one unit against the current session constraints: hard checks passed/failed, soft preferences satisfied, unknown fields, and the exact match-score arithmetic. Use it to justify recommendations with receipts.

    View tool JSON
    {
      "name": "explain_match",
      "kind": "answer",
      "impl": "imperative",
      "description": "Deterministic explanation of one unit against the current session constraints: hard checks passed/failed, soft preferences satisfied, unknown fields, and the exact match-score arithmetic. Use it to justify recommendations with receipts.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit_id": {
            "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          }
        },
        "required": [
          "unit_id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    check_availabilityAnswer

    Availability status and when MatchRV last verified this unit on the dealer's site, with a staleness flag. Honest about snapshot age — use before suggesting a dealer visit.

    View tool JSON
    {
      "name": "check_availability",
      "kind": "answer",
      "impl": "imperative",
      "description": "Availability status and when MatchRV last verified this unit on the dealer's site, with a staleness flag. Honest about snapshot age — use before suggesting a dealer visit.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit_id": {
            "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          }
        },
        "required": [
          "unit_id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    evaluate_tow_fitAction

    Weight-fit guidance for a tow vehicle against specific units, using MatchRV's manufacturer-rating reference table. Handles configuration ranges honestly (fits-with-margin / marginal / depends-on-config / exceeds / unknown) and never guarantees safety. Also pins the tow vehicle to the shared session.

    View tool JSON
    {
      "name": "evaluate_tow_fit",
      "kind": "act",
      "impl": "imperative",
      "description": "Weight-fit guidance for a tow vehicle against specific units, using MatchRV's manufacturer-rating reference table. Handles configuration ranges honestly (fits-with-margin / marginal / depends-on-config / exceeds / unknown) and never guarantees safety. Also pins the tow vehicle to the shared session.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "vehicle": {
            "description": "Tow vehicle as the shopper stated it, e.g. '2022 Tundra' or 'F-150 rated 8,000 lbs'",
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "unit_ids": {
            "description": "Units to evaluate; defaults to the current top results/shortlist",
            "maxItems": 6,
            "type": "array",
            "items": {
              "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
              "type": "string",
              "minLength": 3,
              "maxLength": 120
            }
          }
        },
        "required": [
          "vehicle"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    get_shopping_sessionAnswer

    Current shared state of this page: active constraints (including changes the human made in the UI), shortlist, last search funnel, focused unit, and any pending dealer-contact preview. Call it when joining mid-session or after the human says they changed something.

    View tool JSON
    {
      "name": "get_shopping_session",
      "kind": "answer",
      "impl": "imperative",
      "description": "Current shared state of this page: active constraints (including changes the human made in the UI), shortlist, last search funnel, focused unit, and any pending dealer-contact preview. Call it when joining mid-session or after the human says they changed something.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      },
      "page": "/"
    }
    update_shortlistAction

    Add or remove units on the shared shortlist the human sees and can edit. Use after the shopper picks favorites in conversation.

    View tool JSON
    {
      "name": "update_shortlist",
      "kind": "act",
      "impl": "imperative",
      "description": "Add or remove units on the shared shortlist the human sees and can edit. Use after the shopper picks favorites in conversation.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "add": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
              "type": "string",
              "minLength": 3,
              "maxLength": 120
            }
          },
          "remove": {
            "maxItems": 10,
            "type": "array",
            "items": {
              "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
              "type": "string",
              "minLength": 3,
              "maxLength": 120
            }
          }
        },
        "additionalProperties": false
      },
      "page": "/"
    }
    prepare_dealer_contactSensitive Action

    Stage a contact request to the dealership for one unit. NOTHING IS SENT: this creates a preview (dealer, unit, shopper info, exact message) that the human must review and approve in the page UI. Returns a preview_id and status awaiting_human_approval.

    View tool JSON
    {
      "name": "prepare_dealer_contact",
      "kind": "transact",
      "impl": "imperative",
      "description": "Stage a contact request to the dealership for one unit. NOTHING IS SENT: this creates a preview (dealer, unit, shopper info, exact message) that the human must review and approve in the page UI. Returns a preview_id and status awaiting_human_approval.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "unit_id": {
            "description": "MatchRV unit id from search results (e.g. vin:4X4T...)",
            "type": "string",
            "minLength": 3,
            "maxLength": 120
          },
          "name": {
            "description": "Shopper's name, as they provided it",
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "email": {
            "description": "Shopper's email, as they provided it",
            "type": "string",
            "maxLength": 120,
            "format": "email",
            "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
          },
          "phone": {
            "type": "string",
            "maxLength": 25
          },
          "message": {
            "description": "Message to the dealership; MatchRV drafts one from the session constraints if omitted",
            "type": "string",
            "maxLength": 1200
          }
        },
        "required": [
          "unit_id",
          "name",
          "email"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }
    submit_dealer_contactSensitive Action

    Submit a dealer contact request that the human has ALREADY approved in the page UI. Consequential action: it records the lead with the dealership. Fails with awaiting_human_approval until the human clicks Approve — do not retry in a loop; ask the human to review the preview on the page.

    View tool JSON
    {
      "name": "submit_dealer_contact",
      "kind": "transact",
      "impl": "imperative",
      "description": "Submit a dealer contact request that the human has ALREADY approved in the page UI. Consequential action: it records the lead with the dealership. Fails with awaiting_human_approval until the human clicks Approve — do not retry in a loop; ask the human to review the preview on the page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "preview_id": {
            "description": "The preview id returned by prepare_dealer_contact",
            "type": "string",
            "minLength": 6,
            "maxLength": 60
          }
        },
        "required": [
          "preview_id"
        ],
        "additionalProperties": false
      },
      "page": "/"
    }