Moonshot Lab (demo)
Agent car inventory index. Synthetic demo data, not real inventory, not an offer.
| Endpoint | https://moonshotlab1.com/mcp (streamable-http) |
|---|---|
| Registry version | 1.0.0-demo |
| Now | 17 tools · grade D (57) · pin ts_040d1790bbe181385d8615294d038d2c · protocol 2025-06-18 |
| First / last listed | 2026-10-26 06:20 UTC / 2026-10-26 06:20 UTC |
| Grade over time | 2026-10-26: D (57), 17 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: search_inventory list_searchable_fields get_payment_estimate compare_payment_scenarios register_agent save_search get_new_matches cancel_search prepare_dealer_handoff get_listing get_price_breakdown estimate_out_the_door get_dealer list_dealers get_media get_trade_in_scenarios get_ontology
search_inventory | Search the SYNTHETIC demo inventory (about 860 fictional vehicles at 20 fictional dealers in TX, CA, FL, GA, AZ,
IL, NY and OH). Results are not real vehicles for sale; say so when you show them.
Each result has listing_id (dealer_key:VIN), vehicle basics, headline_price (before tax, title and fees), dealer_name,
and selling_location: the store that holds the unit, with address and phone. link_sta params: make, model, year_min, year_max, trim, condition, state, city, dealer_key, price_min, price_max, max_mileage, body_style, fuel_type, drivetrain, zip, radius_miles, exterior_color, filters, payment_min, payment_max, max_monthly_payment, max_out_the_door, min_out_the_door, seating_min, third_row, third_row_type, sliding_doors, dealer_segment, group_id, region_id, store_id, financeable_only, best_value_needs, include_near_misses, eligible_incentive_labels, scenarios, include_payment, down_payment, trade_value |
list_searchable_fields | Every filterable ontology field (vehicle, listing, store, dealer, price, fee, incentive, media, payment) with its
type, range or allowed values, shortcut names, the operators (eq, any_of, contains, range, bool, exists, negate) and
example filters for search_inventory. The full compact list is about 30 KB, so narrow it with prefix or query. params: prefix, query, detail |
get_payment_estimate | Use this to answer 'what would my monthly payment be' for ONE listing. It runs the same itemized
out-the-door calculation as estimate_out_the_door (always treated as financed) and turns it into a DEMO monthly
finance payment: out-the-door total minus down payment and trade equity, amortized at the APR (or a demo APR
by credit_tier) over term_months. Returns finance.estimated_monthly_payment rounde params: listing_id*, down_payment, trade_value, payoff, trade_equity, apr, credit_tier, term_months, buyer_state, buyer_county, buyer_city, buyer_zip, eligible_incentive_labels |
compare_payment_scenarios | Use this to compare several financing what-ifs for ONE listing side by side in one call (for example cash
down, term, credit tier or APR, trade-in, incentives). Each scenario reruns the itemized out-the-door estimate and
returns estimated_out_the_door, amount_financed_estimate, apr_percent and apr_source, term_months,
estimated_monthly_payment (rounded to $5) with the unrounded value and an outwar params: listing_id*, scenarios*, buyer_state, buyer_county, buyer_city, buyer_zip |
register_agent | Optional and free. Registers your agent and returns an agent key (shown once) that gives it a durable,
anonymous id in Moonshot Lab's bot analytics. Send it as the X-MoonshotLab-Agent-Key header, or add ?agent_key=<key>
to the MCP URL. Nothing else changes: anonymous use keeps working, limits are the same, and no personal data is
collected. Dealers only ever see aggregate demand by platform name. params: agent_name, platform |
save_search | DEMO. Save a car search and get alerted when new cars match. Returns a search_id (keep it; it is the only way to
read or cancel the search) and an expiry (default 30 days, renewable). Check for new cars with get_new_matches, or
give a callback_url. Shopper email alerts are optional and need explicit consent. On this demo, email sending is
switched off (alerts are logged, not sent) and new arrivals params: make, model, trim, condition, body_style, fuel_type, drivetrain, year_min, year_max, price_max, max_mileage, max_monthly_payment, down_payment, credit_tier, term_months, zip, radius_miles, state, expires_in_days, renew_search_id, callback_url, shopper_email, email_consent |
get_new_matches | DEMO. New cars that started matching a saved search after it was saved (or after `since`). params: search_id*, since |
cancel_search | DEMO. Cancel a saved search. Any shopper email stored for it is deleted. params: search_id* |
prepare_dealer_handoff | Use this when the shopper has picked a car and a deal structure and wants to take it to the dealer. Builds a
structured dealer handoff package for ONE configured deal: vehicle and VIN, the full itemized out-the-door
estimate (with excluded items such as optional add-ons), the chosen financing scenario with demo financing
eligibility, trade and negative-equity details (loan-to-value), all warnings, params: listing_id, vin, scenario, trade_value, payoff, trade_equity, trade_vehicle, buyer_state, buyer_county, buyer_city, buyer_zip, shopper_contact, assistant, eligible_incentive_labels, trade_details, buyer_address, financing_details, add_on_interest |
get_listing | Full synthetic listing record with per-value provenance (method 'synthetic'). listing_id is dealer_key:VIN (as
returned by search_inventory) or the urn. The vehicle-to-store link is in listing.selling_location (link_status,
selling_location_id, candidates, flags such as group_site_lists_sister_store or multi_store_unstated); the dealer
block is the advertising dealer. For price and fees in a compa params: listing_id* |
get_price_breakdown | Use this to see what the dealer LISTS for ONE listing, as published: headline price, MSRP (new cars),
price_components, dealer fees (doc fee and others) and fee bundles (parts marked part_of_bundle, not double
counted), flags such as whether the advertised price already includes fees, options, incentives split into
all_buyer (already in the price) and conditional (not in the price), and the state' params: listing_id* |
estimate_out_the_door | Use this for the buyer's TOTAL price of ONE listing: an itemized out-the-door DEMO ESTIMATE for the buyer's
state, county and city, built with real public tax and fee rules for the 8 covered states. Lines include the
price, dealer fees, eligible incentives, state and local sales tax, title and registration fees, and a trade-in
block (allowance, payoff, equity, tax credit). Every line has a source params: listing_id*, buyer_state, buyer_county, buyer_city, buyer_zip, registration_state, trade_value, payoff, lender_name, eligible_incentive_labels, financed, plate_transfer, vehicle_weight_lbs |
get_dealer | Fictional dealer profile: registry entity, stores (selling locations) with fictional addresses and 555 phone
numbers, group, state rules and a page of inventory. Not a real business; do not tell anyone to call or visit. params: dealer_key*, inventory_limit, inventory_offset |
list_dealers | All 20 fictional demo dealers with group and store counts (each dealer lists its stores with group_id, region_id
and store_id), the dealer hierarchy (Group, then Region, then Store), the 4 fictional dealer groups and a coverage
summary: which metros have demo stores, with dealer, store and new/used listing counts per metro. params: none |
get_media | Media block for a listing: self-generated SVG placeholder images labeled DEMO (photo, video poster, spin), with
rights notes. They are not photos of a real car. No video or 360 viewer exists in the demo. params: listing_id*, types, limit |
get_trade_in_scenarios | Ready-made demo trade-in scenarios (one per state) with trade_value and payoff to pass to estimate_out_the_door
or get_payment_estimate. params: none |
get_ontology | Schema links, schema version, covered states, condition values, search sorts and the value-wrapper format
({v, m, c, src}). For the list of filterable fields and allowed values, use list_searchable_fields. params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.