Find likely buyers for upcoming auctions. Triggers: "find dealers to invite", "who should I target", "buyer prospecting", "dealer outreach list", "find auction buyers", "who needs inventory in [state]", "dealer targeting for next sale", "build a buyer list", "which dealers are likely to buy", identifying dealers in a DMA who are likely buyers at upcoming auction events.
Date anchor: Today's date comes from the
# currentDatesystem context. Compute ALL relative dates from it. Example: if today = 2026-03-14, then "prior month" = 2026-02-01 to 2026-02-28, "current month" (most recent complete) = February 2026, "three months ago" = December 2025. Never use training-data dates.
get_sold_summaryparameter safety:
- Always set
inventory_typeexplicitly (NeworUsed) — omitting it defaults toNew, returning zero results for used-vehicle queries- Always set
limit: 5000— the default (1000) silently truncates when (months × states × ranking combos) exceeds 1000 rows- For volume totals, use
ranking_dimensions: dealership_group_name(or the single relevant dimension) — never use the defaultmake,model,body_typewhich creates ~150K rows for national 3-month queries
Load the marketcheck-profile.md project memory file if exists. Extract: zip/postcode, state/region, target_dmas, buyer_focus, vehicle_segments, country, radius. If missing, ask minimum fields (state or zip). US: search_active_cars, get_sold_summary. UK: search_uk_active_cars only (limited — no demand data, skip D/S ratio workflows). Confirm: "Using profile: [company], [state], [Country]". All preference values from profile — do not re-ask.
Auction house sales exec looking to build a list of dealers likely to BUY at upcoming auction events. These are dealers who need inventory — either because their current stock is aging (they need to wholesale trades and restock) or because their inventory mix doesn't match local demand.
facets=dealer_id|0|50|2 returns dealer_id + count only — You do NOT get dealer name, city, or state from this facet call. You must make follow-up calls per dealer_id (step 3) to get seller_name and location details. Plan for 20 follow-up calls and manage token budget accordingly.search_uk_active_cars but cannot compute demand-side scores (no get_sold_summary). For UK, score dealers on inventory health metrics only (DOM, volume) and skip mix-gap scoring. Note "Buyer scoring based on inventory health only — demand data unavailable for UK."| Field | Source | Default |
|---|---|---|
| State/ZIP, radius | Profile | — |
| Buyer focus (franchise/independent/both) | Profile | both |
| Vehicle segments | Profile | all |
Use this when the user says "find dealers to invite" or "build a buyer list for [state]."
Get dealer inventory distribution — Call mcp__marketcheck__search_active_cars with state=[XX] (or zip=[XXXXX], radius=[N]), car_type=used, seller_type=dealer, facets=dealer_id|0|50|2, stats=dom, rows=0, price_min=1. If buyer_focus is franchise or independent, add dealer_type=[focus] filter.
→ Extract only: top 50 dealer_ids with their unit counts from facets (each facet bucket has val = dealer_id and count = number of listings). Note: this call does NOT return dealer names — names come from step 3. Discard full response.
Get local demand signal — Call mcp__marketcheck__get_sold_summary with state, inventory_type=Used, limit=5000, ranking_dimensions=body_type, ranking_measure=sold_count, ranking_order=desc, date_from (first of prior month), date_to (last of prior month), top_n=15.
→ Extract only: per body_type — sold_count. Calculate total sold volume. Discard full response.
Profile top dealers — For the top 20 dealers by unit count from step 1, call mcp__marketcheck__search_active_cars with dealer_id=[id], car_type=used, facets=body_type|0|10|1, stats=price,dom, rows=3, sort_by=dom, sort_order=desc, price_min=1. This is 20 sequential API calls — budget context tokens accordingly. For each call:
→ Extract only per dealer: seller_name (from first listing result), city (from first listing), state, total_count (num_found), avg_dom (from stats.dom.mean), body_type mix (from facets — each bucket gives body_type name and count), top 3 aged units (vin, year, make, model, dom, price from the 3 returned rows). Check for specialty dealer signals: if avg_price > $50k and body_types are luxury-skewed, flag as "SPECIALTY — verify fit" (see Gotcha #4). Discard full response.
Score each dealer — For each dealer compute:
Classify dealers:
Use this when the user says "who needs SUVs" or "find truck buyers."
Get demand for target segment — Call mcp__marketcheck__get_sold_summary with state, inventory_type=Used, limit=5000, body_type=[segment], ranking_dimensions=make,model, ranking_measure=sold_count, ranking_order=desc, top_n=15, date range for prior month.
→ Extract only: top models by sold volume in that segment. Discard full response.
Find dealers light on that segment — Call mcp__marketcheck__search_active_cars with state, car_type=used, seller_type=dealer, body_type=[segment], facets=dealer_id|0|30|1, rows=0.
→ Extract only: dealer_ids with their segment count. Discard full response.
Cross-reference with total inventory — For dealers from step 2, call mcp__marketcheck__search_active_cars with dealer_id, car_type=used, rows=0.
→ Extract only: total_count per dealer. Discard full response.
Calculate segment gap — For each dealer:
Present ranked dealer prospect table: Rank, Dealer Name, City, Total Units, Avg DOM, Buyer Score, Classification (HOT/WARM/WATCH), Likely Buying Needs (body types with gaps). Include summary: "[X] hot prospects, [Y] warm prospects in [state]. Top buying needs: [segments]." End with 3 specific outreach recommendations.
-- Buyer Targeting: [State] — [Date] -----------------------------------------------
-- Dealer Prospect List (ranked by Buyer Score) ------------------------------------
| Rank | Dealer Name | City | Units | Avg DOM | Score | Class | Buying Needs |
|------|--------------------|------------|-------|---------|-------|-------------|------------------------|
| 1 | Smith Auto Group | Dallas | 145 | 52 | 87 | HOT | SUV (-14%), Pickup (-9%) |
| 2 | Valley Motors | Austin | 88 | 48 | 73 | HOT | SUV (-11%) |
| 3 | Lone Star Cars | Houston | 210 | 38 | 62 | WARM | Sedan (-8%) |
| ... | ... | ... | ... | ... | ... | ... | ... |
-- Summary -------------------------------------------------------------------------
Hot Prospects: [X] dealers
Warm Prospects: [Y] dealers
Watch List: [Z] dealers
Top Buying Needs Across Market: [segment1] ([N] dealers short), [segment2] ([N] dealers short)
-- Outreach Recommendations --------------------------------------------------------
1. [Dealer Name] — Score [XX]. [N] units, [X] avg DOM. Invite to [segment] lanes.
Talking point: "You're light on [body_type] — we have [N] units running next [day]."
2. [Dealer Name] — Score [XX]. [Specific recommendation]
3. [Dealer Name] — Score [XX]. [Specific recommendation]
-- Segment-Specific Buyer Lists (if requested) ------------------------------------
[segment] buyers: [dealer1] (gap: -[X]%), [dealer2] (gap: -[X]%), ...
get_sold_summary (demand side), NOT from search_active_cars (supply side). Verify the denominator is total_sold, not total_active.