accueil / serveurs / Finance & Paiement / com.moonshotlab1/inventory
com.moonshotlab1/inventory
serveur MCP (Model Context Protocol) · moonshotlab1-demo 1.30.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.moonshotlab1/inventory est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.moonshotlab1/inventory » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 11 outils
- compare_payment_scenarios≈ 1348 tokens
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 outward-rounded range, total_interest_estimate, total_cost_including_trade_equity (PRIMARY total: cash down plus all payments plus net trade equity given up), cash_outlay_excluding_trade_equity (cash down plus payments only; total_cost_estimate is its deprecated alias) and financing_eligibility with flags (demo rules), plus lowest_monthly, lowest_total_cost (decided by total_cost_including_trade_equity) and lowest_cash_outlay_excluding_trade_equity. Those lowest_* keys are UNFILTERED math winners. Present recommended_scenario, lowest_monthly_eligible or lowest_total_cost_eligible instead: they skip scenarios the demo financing rules flag, so an ineligible scenario is never the recommendation. A scenario {"name":"cash","cash":true} prices paying cash (no loan, no interest); cash_purchase always gives the cash amount due. Each scenario has trade_risk (negative_equity_rolled_in, loan_to_value_pct and warnings, for example LTV over 110%) and credit_tier_source. Prefer this over repeated get_payment_estimate calls. Up to 6 scenarios. For a single scenario use get_payment_estimate. Estimate, not an offer; dealer sets price, lender sets rate. Leases are not modeled.
Paramètres, retour & exemple (6)
Paramètresbuyer_zip· ? · optionnel
Buyer's five-digit ZIP. Alone it resolves buyer state, county and city (echoed in tax_location.resolution with the source).scenarios· array · requis
1 to 6 what-if scenarios, e.g. [{"name":"0 down"},{"name":"3k down 72","down_payment":3000,"term_months":72}]. Omitted fields default to $0 down, 60 months, good credit.buyer_city· ? · optionnel
Buyer's city.listing_id· string · requis
dealer_key:VIN from search_inventory.buyer_state· ? · optionnel
Buyer's two-letter state for tax and fees. Default: the selling store's state.buyer_county· ? · optionnel
Buyer's county without 'County'.
Exemple d'appel{"name": "compare_payment_scenarios", "arguments": {"scenarios": [], "listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - estimate_out_the_door≈ 996 tokens
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 and confidence; unknowns become ranges. Read estimated_out_the_door with estimate_range and confidence. With a trade-in, estimated_out_the_door is the balance due after the trade (negative equity added); deal.vehicle_out_the_door_before_trade is the car alone. Use get_price_breakdown instead for only the dealer's listed price and fees, and get_payment_estimate to turn this total into a monthly finance payment (this tool returns payments: null). Read warnings, for example when the shopper's state differs from the store's state. Not an offer, not a quote, not penny-accurate. Inputs are not stored.
Paramètres, retour & exemple (13)
Paramètrespayoff· ? · optionnel
Loan payoff in USD still owed on the trade-in.financed· ? · optionnel
True if the purchase will be financed, false for cash. Some fees and incentives depend on it; if omitted they are flagged as uncertain.buyer_zip· ? · optionnel
Buyer's five-digit ZIP. Alone it resolves buyer state, county and city (echoed in tax_location.resolution with the source).buyer_city· ? · optionnel
Shopper's city, e.g. Chicago. Some city taxes depend on it; it can also imply the county.listing_id· string · requis
dealer_key:VIN from search_inventory.buyer_state· ? · optionnel
Shopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state, or the state of buyer_zip. States outside the 8 covered return a low-confidence estimate without tax and government fees.lender_name· ? · optionnel
Lender holding the trade-in loan (optional, not stored).trade_value· ? · optionnel
Trade-in allowance in USD offered or expected for the shopper's car.buyer_county· ? · optionnel
Shopper's county name without the word County, e.g. Harris, Cook, Orange. Improves local tax lines.plate_transfer· boolean · optionnel
True to transfer existing plates where the state allows it.registration_state· ? · optionnel
State where the car will be registered, if different from buyer_state.vehicle_weight_lbs· ? · optionnel
Vehicle weight, used by weight-based registration fees.eligible_incentive_labels· ? · optionnel
label_raw values of conditional incentives from get_price_breakdown that the shopper qualifies for (case-insensitive).
Exemple d'appel{"name": "estimate_out_the_door", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dealer≈ 194 tokens
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.
Paramètres, retour & exemple (3)
Paramètresdealer_key· string · requis
Dealer key from list_dealers or a search result, e.g. bluebonnetridge.inventory_limit· integer · optionnel
Inventory rows to include.inventory_offset· integer · optionnel
Paging offset for inventory.
Exemple d'appel{"name": "get_dealer", "arguments": {"dealer_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_listing≈ 181 tokens
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 compact form, use get_price_breakdown.
Paramètres, retour & exemple (1)
Paramètreslisting_id· string · requis
dealer_key:VIN from search_inventory, or the listing urn.
Exemple d'appel{"name": "get_listing", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_media≈ 196 tokens
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.
Paramètres, retour & exemple (3)
Paramètreslimit· integer · optionnel
Maximum items, 0 to 100.types· ? · optionnel
Filter by item type: photo, video (poster image only) or spin_exterior.listing_id· string · requis
dealer_key:VIN from search_inventory.
Exemple d'appel{"name": "get_media", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_ontology≈ 84 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_ontology", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_payment_estimate≈ 1151 tokens
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 rounded to $5 with monthly_payment_unrounded, monthly_payment_range (rounded outward, so it always contains the unrounded value), financing_eligibility (demo lender rules: minimum amount financed, max term by vehicle age and mileage, with flags), amount_financed_estimate, total_of_payments, finance_charge and every assumption, plus the out-the-door figure it used, a one-line assumptions_summary and any dealer-advertised payment shown separately (not comparable unless the terms match). Totals: total_cost_including_trade_equity (PRIMARY: cash down plus payments plus net trade equity given up) and cash_outlay_excluding_trade_equity (cash down plus payments); total_cost_estimate is a deprecated alias of the latter, kept for one version. For ONE set of terms only: to compare two or more down, term, trade or credit options, call compare_payment_scenarios once instead of calling this tool repeatedly. Use get_price_breakdown instead for the dealer's listed price and fees only, and estimate_out_the_door for the full itemized total without a payment. To find cars by payment across many listings, use search_inventory with max_monthly_payment (canonical; payment_max is a deprecated alias). Estimate, not an offer; dealer sets price, lender sets rate. Not penny-accurate. Leases are not modeled.
Paramètres, retour & exemple (13)
Paramètresapr· ? · optionnel
APR percent, 0 to 36. If omitted, a demo APR is picked by credit_tier.payoff· ? · optionnel
Loan payoff owed on the trade-in, USD (negative equity is added to the amount financed).buyer_zip· ? · optionnel
Buyer's five-digit ZIP. Alone it resolves buyer state, county and city (echoed in tax_location.resolution with the source).buyer_city· ? · optionnel
Buyer's city, for local tax lines.listing_id· string · requis
dealer_key:VIN from search_inventory.buyer_state· ? · optionnel
Buyer's two-letter state for tax and fees. Default: the selling store's state, or the state of buyer_zip.credit_tier· ? · optionnel
excellent, good (default), fair or poor. Picks the demo APR when apr is omitted (used and cpo rates are higher than new).term_months· ? · optionnel
Loan term in months, 12 to 96. Default 60.trade_value· ? · optionnel
Trade-in allowance in USD. Passed to the out-the-door step, so it gets the state's trade-in tax credit where allowed.buyer_county· ? · optionnel
Buyer's county without 'County', for local tax lines.down_payment· ? · optionnel
Cash down in USD, subtracted from the out-the-door total. Default 0.trade_equity· ? · optionnel
Net trade equity in USD when allowance and payoff are unknown (negative if upside down). Subtracted after tax, so no trade-in tax credit is applied.eligible_incentive_labels· ? · optionnel
label_raw values of conditional incentives from get_price_breakdown that the buyer qualifies for.
Exemple d'appel{"name": "get_payment_estimate", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_price_breakdown≈ 350 tokens
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's public tax and fee RULES with data-flag checks. It takes no buyer inputs and computes no tax amounts or total. Use estimate_out_the_door next for the buyer's total with tax, title, registration and fees, and get_payment_estimate for a monthly payment. Pass conditional incentive label_raw values to those tools as eligible_incentive_labels only if the shopper qualifies. A dealer-advertised monthly payment, when present, is a price_components item of type payment_quote: dealer ad text, not a calculation. Each price_component has a plain label, source_text and method_text; fees and incentives carry tax_treatment (taxable or reduces_taxable_amount, whether it is inside the advertised price, and why).
Paramètres, retour & exemple (1)
Paramètreslisting_id· string · requis
dealer_key:VIN from search_inventory.
Exemple d'appel{"name": "get_price_breakdown", "arguments": {"listing_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_trade_in_scenarios≈ 72 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_trade_in_scenarios", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_dealers≈ 84 tokens
All 20 fictional demo dealers with group and store counts, plus the 4 fictional dealer groups and a coverage summary: which metros have demo stores, with dealer, store and new/used listing counts per metro.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_dealers", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_searchable_fields≈ 288 tokens
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.
Paramètres, retour & exemple (3)
Paramètresquery· ? · optionnel
Only fields whose name or description contains this text, e.g. fee, color, payment.detail· string · optionnel
compact (default): type, range or up to 12 values. full: up to 40 allowed values, examples and counts; use it with prefix or query.prefix· ? · optionnel
Only fields starting with this, e.g. canonical, price_summary, incentives, store, dealer_profile, media_block, derived, payment.
Exemple d'appel{"name": "list_searchable_fields", "arguments": {"query": "texte", "detail": "texte", "prefix": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_inventory≈ 4587 tokens
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_status is linked, or ambiguous when the listing does not say which of the dealer's stores holds it (see selling_location_candidates). A unit can be held at a sister store run by another dealer in the same group; operated_by_dealer_id then differs from dealer_id. Matching is exact on vocabularies, so a total of 0 often means a wrong value: check the parameter descriptions, widen radius_miles or drop a filter; a zero total also returns hints. The named parameters are shortcuts. filters reaches every other attribute: for example {"field": "canonical.vin", "op": "eq", "value": "<VIN>"} finds a VIN, {"field": "price_summary.doc_fee", "op": "range", "max": 300}, {"field": "incentives[].label_raw", "op": "eq", "value": "Military Appreciation"}. Payment search: payment_max / payment_min filter on a DEMO monthly finance estimate computed per listing from its itemized out-the-door estimate (tax, title, registration, dealer fees) for the buyer location, minus down payment and trade equity, at a demo APR by credit tier unless apr is given. Each result then has estimated_payment (rounded to $5, with a range) and dealer_advertised_payment when the listing shows one; the response has payment_assumptions and a one-line assumptions_summary to read back to the shopper. For 'under $300/month' pass max_monthly_payment=300. With a cap, near_misses lists up to 3 cars just above it, and a zero result returns to_reach_target (extra down payment, or a 72 or 84 month term). To compare scenarios for one car, use compare_payment_scenarios. Every result has estimated_out_the_door (exact, same as estimate_out_the_door for the buyer location), availability (status, price_valid_until, last_updated, observed_at), seating_capacity, third_row and cargo_capacity_cu_ft (synthetic demo specs). sort=best_value score = 0.35 * cost_score + 0.30 * age_score + 0.35 * mileage_score (formula in best_value_formula). A zero result with zip returns coverage: nearest_store, nearest_new_inventory and nearest_qualifying_inventory with distance, match count and lowest out the door, plus a coverage_note. estimated_out_the_door on results and near_misses carries the same warnings and excluded_items (for example an optional add-on's name and price) that estimate_out_the_door returns. Each result has dealer_segment / dealer_type, third_row_type and sliding_doors. With payment inputs, estimated_payment has financing_eligibility, credit_tier and credit_tier_source (default when not given), negative_equity_rolled_in, loan_to_value_pct and warnings; the response has financing_summary. Pass financeable_only=true to drop listings the demo financing rules flag. Estimate, not an offer; dealer sets price, lender sets rate. Not penny-accurate.
Paramètres, retour & exemple (49)
Paramètresapr· ? · optionnel
APR percent for payment estimates. If omitted, a demo APR by credit_tier is used.zip· ? · optionnel
Five-digit US ZIP of the shopper. With radius_miles, filters by straight-line distance to the selling store and adds distance_miles to each result.city· ? · optionnel
Exact city of the selling store (for example Houston, Katy, Plano). Suburbs are separate cities, so for 'in or near a city' prefer zip plus radius_miles.make· ? · optionnel
Make, case-insensitive, e.g. Honda, Ford, Tesla. 14 makes are present.sort· string · optionnel
price_asc (default), price_desc, year_desc, mileage_asc, distance_asc (needs zip), payment_asc, payment_desc, otd_asc (estimated out the door) or best_value (documented score over out-the-door cost, age and mileage; each result gets ranking_rationale).trim· ? · optionnel
Trim name, e.g. LX, EX-L, Lariat.limit· integer · optionnel
Results per page, 1 to 50. Each result is about 2 KB; 5 to 10 is usually enough.model· ? · optionnel
Model with its punctuation, case-insensitive: CR-V, F-150, Model 3, Mustang Mach-E.state· ? · optionnel
Two-letter code of the selling store's state: TX, CA, FL, GA, AZ, IL, NY or OH. Not the full name.offset· integer · optionnel
Paging offset.payoff· ? · optionnel
Loan payoff owed on the trade-in, USD.filters· ? · optionnel
Generic filters on ANY ontology field (vehicle, listing, store, dealer, price, fee, incentive, media, payment). All filters must match. See list_searchable_fields.year_max· ? · optionnel
Latest model year.year_min· ? · optionnel
Earliest model year.buyer_zip· ? · optionnel
Buyer's ZIP; fills any missing buyer state, county and city. If no buyer location is given, zip is used, then the selling store (see out_the_door_assumptions.buyer).condition· ? · optionnel
new, used or cpo (certified pre-owned). used also returns cpo units.fuel_type· ? · optionnel
gasoline, hybrid, plug_in_hybrid or electric. Use electric for EV or BEV.price_max· ? · optionnel
Maximum headline price in USD (before tax, title and dealer fees). For a budget that includes taxes and fees, check estimate_out_the_door.price_min· ? · optionnel
Minimum headline price in USD (before tax, title and dealer fees).scenarios· ? · optionnel
Optional what-if finance scenarios (up to 6). Each returned listing gets payment_scenarios with payment, amount financed, total interest and total cost per scenario. Filter and sort still use the main inputs.third_row· ? · optionnel
True for third row seating only, false to exclude it (synthetic demo spec).body_style· ? · optionnel
suv, sedan, pickup, hatchback, minivan or wagon. Use pickup for trucks.buyer_city· ? · optionnel
Buyer's city for payment tax lines.dealer_key· ? · optionnel
Dealer key from list_dealers, e.g. lonemesa.drivetrain· ? · optionnel
fwd, awd, rwd or 4wd.buyer_state· ? · optionnel
Buyer's two-letter state for payment tax and fees. Default: the selling store's state.credit_tier· ? · optionnel
excellent, good (default), fair or poor; picks the demo APR when apr is omitted. Credit tiers (demo APR new / used): excellent about 720 and up (6.0% / 8.5%); good about 660 to 719 (7.5% / 11.0%); fair about 620 to 659 (11.5% / 16.0%); poor below about 620 (15.5% / 20.0%).max_mileage· ? · optionnel
Maximum odometer miles.payment_max· ? · optionnel
DEPRECATED alias of max_monthly_payment (still accepted; the lower wins if both are given).payment_min· ? · optionnel
Minimum estimated monthly finance payment in USD (demo estimate).seating_min· ? · optionnel
Minimum seats, e.g. 7 for a third row family vehicle (synthetic demo spec).term_months· ? · optionnel
Loan term in months, 12 to 96. Default 60.trade_value· ? · optionnel
Trade-in allowance in USD (gets the trade-in tax credit where the state allows it).buyer_county· ? · optionnel
Buyer's county (without 'County') for payment tax lines.down_payment· ? · optionnel
Cash down in USD for payment estimates. Default 0.radius_miles· ? · optionnel
Radius in miles around zip.trade_equity· ? · optionnel
Net trade equity in USD if allowance and payoff are unknown (negative for upside-down); no tax credit is applied for it.sliding_doors· ? · optionnel
True for sliding rear doors (minivans).dealer_segment· ? · optionnel
franchise, independent_used or bhph (buy-here-pay-here). Each result shows dealer_segment and dealer_type.exterior_color· ? · optionnel
Exterior color family: white, black, silver, gray, blue, red, green or bronze.third_row_type· ? · optionnel
full (adult-usable, car-seat capable) or compact (small, occasional; e.g. Tiguan). Demo spec.include_payment· boolean · optionnel
True to add estimated_payment to every result without filtering on it.best_value_needs· ? · optionnel
With sort=best_value, shopper needs that also score: seats, cargo, full_third_row, sliding_doors, low_mileage, newer, budget_headroom (needs max_out_the_door). Score = 0.70 x base + 0.30 x mean need score; ranking_rationale shows each part.financeable_only· boolean · optionnel
True to drop listings whose payment estimate fails the demo financing rules (minimum amount financed, max term by age and mileage) at these terms. Recommended with max_monthly_payment; financing_summary counts what was dropped.max_out_the_door· ? · optionnel
Maximum estimated out-the-door total in USD for the buyer location (tax, title, registration, dealer fees, minus trade). Exact, unrounded, and the same figure estimate_out_the_door returns for the same inputs.min_out_the_door· ? · optionnel
Minimum estimated out-the-door total in USD (same basis as max_out_the_door).include_near_misses· boolean · optionnel
With a payment cap, also return up to 3 listings within $25 above it in near_misses, flagged above_target. Default true.max_monthly_payment· ? · optionnel
Canonical monthly payment cap: the shopper's monthly budget in USD, e.g. 300 for 'under $300/month' (demo estimate).eligible_incentive_labels· ? · optionnel
label_raw values of conditional incentives the buyer says they qualify for; applied to payment estimates where a listing offers them. Off by default.
Exemple d'appel{"name": "search_inventory", "arguments": {"apr": "texte", "zip": "texte", "city": "texte", "make": "texte", "sort": "texte", "trim": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».