Moonshot Lab (demo)

Agent car inventory index. Synthetic demo data, not real inventory, not an offer.

我該用這個嗎

品質與安全性

A
說明品質
98%
結構描述完整度
74%
命名品質
97%
汙染風險
80%
權限相符程度
100%
協定合規性
100%

發現項目(3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'get_media' description contains placeholder text在 get_media 中
  • INFOTool description contains placeholder or incomplete text在 get_media 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~7,082Token(工具定義)
~5.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.53%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "inventory": {
      "url": "https://moonshotlab1.com/mcp"
    }
  }
}

遠端端點

https://moonshotlab1.com/mcpstreamable-http

它能做什麼

工具清單

工具(12)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🔴search_inventory(make, model, year_min, year_max, trim, ...)

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. Estimate, not an offer; dealer sets price, lender sets rate. Not penny-accurate.

輸入結構描述

{
  "type": "object",
  "properties": {
    "make": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Make, case-insensitive, e.g. Honda, Ford, Tesla. 14 makes are present.",
      "title": "Make"
    },
    "model": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Model with its punctuation, case-insensitive: CR-V, F-150, Model 3, Mustang Mach-E.",
      "title": "Model"
    },
    "year_min": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Earliest model year.",
      "title": "Year Min"
    },
    "year_max": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Latest model year.",
      "title": "Year Max"
    },
    "trim": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Trim name, e.g. LX, EX-L, Lariat.",
      "title": "Trim"
    },
    "condition": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "new, used or cpo (certified pre-owned). used also returns cpo units.",
      "title": "Condition"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Two-letter code of the selling store's state: TX, CA, FL, GA, AZ, IL, NY or OH. Not the full name.",
      "title": "State"
    },
    "city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "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.",
      "title": "City"
    },
    "dealer_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Dealer key from list_dealers, e.g. lonemesa.",
      "title": "Dealer Key"
    },
    "price_min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Minimum headline price in USD (before tax, title and dealer fees).",
      "title": "Price Min"
    },
    "price_max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Maximum headline price in USD (before tax, title and dealer fees). For a budget that includes taxes and fees, check estimate_out_the_door.",
      "title": "Price Max"
    },
    "max_mileage": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Maximum odometer miles.",
      "title": "Max Mileage"
    },
    "body_style": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "suv, sedan, pickup, hatchback, minivan or wagon. Use pickup for trucks.",
      "title": "Body Style"
    },
    "fuel_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "gasoline, hybrid, plug_in_hybrid or electric. Use electric for EV or BEV.",
      "title": "Fuel Type"
    },
    "drivetrain": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "fwd, awd, rwd or 4wd.",
      "title": "Drivetrain"
    },
    "zip": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "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.",
      "title": "Zip"
    },
    "radius_miles": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Radius in miles around zip.",
      "title": "Radius Miles"
    },
    "exterior_color": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exterior color family: white, black, silver, gray, blue, red, green or bronze.",
      "title": "Exterior Color"
    },
    "filters": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/FieldFilter"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Generic filters on ANY ontology field (vehicle, listing, store, dealer, price, fee, incentive, media, payment). All filters must match. See list_searchable_fields.",
      "title": "Filters"
    },
    "payment_min": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Minimum estimated monthly finance payment in USD (demo estimate).",
      "title": "Payment Min"
    },
    "payment_max": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Maximum estimated monthly finance payment in USD (demo estimate), e.g. 450.",
      "title": "Payment Max"
    },
    "max_monthly_payment": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Same as payment_max: the shopper's monthly budget in USD, e.g. 300 for 'under $300/month'. The lower of the two wins if both are given.",
      "title": "Max Monthly Payment"
    },
    "include_near_misses": {
      "default": true,
      "description": "With a payment cap, also return up to 3 listings within $25 above it in near_misses, flagged above_target. Default true.",
      "title": "Include Near Misses",
      "type": "boolean"
    },
    "eligible_incentive_labels": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "label_raw values of conditional incentives the buyer says they qualify for; applied to payment estimates where a listing offers them. Off by default.",
      "title": "Eligible Incentive Labels"
    },
    "scenarios": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/PaymentScenario"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "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.",
      "title": "Scenarios"
    },
    "include_payment": {
      "default": false,
      "description": "True to add estimated_payment to every result without filtering on it.",
      "title": "Include Payment",
      "type": "boolean"
    },
    "down_payment": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Cash down in USD for payment estimates. Default 0.",
      "title": "Down Payment"
    },
    "trade_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Trade-in allowance in USD (gets the trade-in tax credit where the state allows it).",
      "title": "Trade Value"
    },
    "payoff": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan payoff owed on the trade-in, USD.",
      "title": "Payoff"
    },
    "trade_equity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Net trade equity in USD if allowance and payoff are unknown (negative for upside-down); no tax credit is applied for it.",
      "title": "Trade Equity"
    },
    "apr": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "APR percent for payment estimates. If omitted, a demo APR by credit_tier is used.",
      "title": "Apr"
    },
    "credit_tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "excellent, good (default), fair or poor; picks the demo APR when apr is omitted.",
      "title": "Credit Tier"
    },
    "term_months": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan term in months, 12 to 96. Default 60.",
      "title": "Term Months"
    },
    "buyer_state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's two-letter state for payment tax and fees. Default: the selling store's state.",
      "title": "Buyer State"
    },
    "buyer_county": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's county (without 'County') for payment tax lines.",
      "title": "Buyer County"
    },
    "buyer_city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's city for payment tax lines.",
      "title": "Buyer City"
    },
    "buyer_zip": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's ZIP; sets buyer state and city when buyer_state is omitted. If no buyer location is given, zip is used, then the selling store (see payment_assumptions.buyer.source).",
      "title": "Buyer Zip"
    },
    "sort": {
      "default": "price_asc",
      "description": "price_asc (default), price_desc, year_desc, mileage_asc, distance_asc (needs zip), payment_asc or payment_desc.",
      "title": "Sort",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Results per page, 1 to 50. Each result is about 2 KB; 5 to 10 is usually enough.",
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "description": "Paging offset.",
      "title": "Offset",
      "type": "integer"
    }
  },
  "$defs": {
    "FieldFilter": {
      "description": "One generic filter on any ontology field (see list_searchable_fields).",
      "properties": {
        "field": {
          "description": "Dotted field path from list_searchable_fields, e.g. canonical.exterior_color.family, price_summary.doc_fee, incentives[].label_raw, store.name, payment.estimated_monthly. Shortcut names such as make, model, color, price, state also work.",
          "title": "Field",
          "type": "string"
        },
        "op": {
          "default": "eq",
          "description": "eq exact (case-insensitive text); any_of with values; contains (text substring); range with min and/or max (numbers or ISO dates, inclusive); bool with value true/false; exists.",
          "enum": [
            "eq",
            "any_of",
            "contains",
            "range",
            "bool",
            "exists"
          ],
          "title": "Op",
          "type": "string"
        },
        "value": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Value for eq, contains, bool or exists.",
          "title": "Value"
        },
        "values": {
          "anyOf": [
            {
              "items": {
                "anyOf": [
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "string"
                  }
                ]
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Values for any_of.",
          "title": "Values"
        },
        "min": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Lower bound for range (inclusive).",
          "title": "Min"
        },
        "max": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Upper bound for range (inclusive).",
          "title": "Max"
        },
        "negate": {
          "default": false,
          "description": "True to invert the filter.",
          "title": "Negate",
          "type": "boolean"
        }
      },
      "required": [
        "field"
      ],
      "title": "FieldFilter",
      "type": "object"
    },
    "PaymentScenario": {
      "description": "One what-if finance scenario. Omitted fields use the call's defaults ($0 down, 60 months, good credit).",
      "properties": {
        "name": {
          "anyOf": [
            {
              "maxLength": 60,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short label, e.g. '3k down 72 mo'.",
          "title": "Name"
        },
        "down_payment": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cash down in USD.",
          "title": "Down Payment"
        },
        "term_months": {
          "anyOf": [
            {
              "maximum": 96,
              "minimum": 12,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Loan term in months, 12 to 96.",
          "title": "Term Months"
        },
        "credit_tier": {
          "anyOf": [
            {
              "enum": [
                "excellent",
                "good",
                "fair",
                "poor"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Picks the demo APR when apr is omitted.",
          "title": "Credit Tier"
        },
        "apr": {
          "anyOf": [
            {
              "maximum": 36,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "APR percent; overrides credit_tier.",
          "title": "Apr"
        },
        "trade_value": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Trade-in allowance in USD (gets the state's trade-in tax credit).",
          "title": "Trade Value"
        },
        "payoff": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Loan payoff owed on the trade-in, USD.",
          "title": "Payoff"
        },
        "trade_equity": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": -500000,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Net trade equity if allowance and payoff are unknown; no tax credit.",
          "title": "Trade Equity"
        },
        "eligible_incentive_labels": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 10,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "label_raw values of conditional incentives the buyer qualifies for.",
          "title": "Eligible Incentive Labels"
        }
      },
      "title": "PaymentScenario",
      "type": "object"
    }
  },
  "title": "search_inventoryArguments"
}
🟢list_searchable_fields(prefix, query, detail)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "prefix": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only fields starting with this, e.g. canonical, price_summary, incentives, store, dealer_profile, media_block, derived, payment.",
      "title": "Prefix"
    },
    "query": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Only fields whose name or description contains this text, e.g. fee, color, payment.",
      "title": "Query"
    },
    "detail": {
      "default": "compact",
      "description": "compact (default): type, range or up to 12 values. full: up to 40 allowed values, examples and counts; use it with prefix or query.",
      "title": "Detail",
      "type": "string"
    }
  },
  "title": "list_searchable_fieldsArguments"
}
🟢get_payment_estimate(listing_id, down_payment, trade_value, payoff, trade_equity, ...)

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, monthly_payment_range, 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). To compare several scenarios for this car in one call, use compare_payment_scenarios. 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 (same as payment_max). Estimate, not an offer; dealer sets price, lender sets rate. Not penny-accurate. Leases are not modeled.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory.",
      "title": "Listing Id",
      "type": "string"
    },
    "down_payment": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Cash down in USD, subtracted from the out-the-door total. Default 0.",
      "title": "Down Payment"
    },
    "trade_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Trade-in allowance in USD. Passed to the out-the-door step, so it gets the state's trade-in tax credit where allowed.",
      "title": "Trade Value"
    },
    "payoff": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan payoff owed on the trade-in, USD (negative equity is added to the amount financed).",
      "title": "Payoff"
    },
    "trade_equity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "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.",
      "title": "Trade Equity"
    },
    "apr": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "APR percent, 0 to 36. If omitted, a demo APR is picked by credit_tier.",
      "title": "Apr"
    },
    "credit_tier": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "excellent, good (default), fair or poor. Picks the demo APR when apr is omitted (used and cpo rates are higher than new).",
      "title": "Credit Tier"
    },
    "term_months": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan term in months, 12 to 96. Default 60.",
      "title": "Term Months"
    },
    "buyer_state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's two-letter state for tax and fees. Default: the selling store's state, or the state of buyer_zip.",
      "title": "Buyer State"
    },
    "buyer_county": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's county without 'County', for local tax lines.",
      "title": "Buyer County"
    },
    "buyer_city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's city, for local tax lines.",
      "title": "Buyer City"
    },
    "buyer_zip": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's five-digit ZIP. Here it sets buyer state and city when buyer_state is omitted.",
      "title": "Buyer Zip"
    },
    "eligible_incentive_labels": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "label_raw values of conditional incentives from get_price_breakdown that the buyer qualifies for.",
      "title": "Eligible Incentive Labels"
    }
  },
  "required": [
    "listing_id"
  ],
  "title": "get_payment_estimateArguments"
}
🟢compare_payment_scenarios(listing_id, scenarios, buyer_state, buyer_county, buyer_city, ...)

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 a range, total_interest_estimate and total_cost_estimate (cash down plus all payments), plus lowest_monthly and lowest_total_cost. 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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory.",
      "title": "Listing Id",
      "type": "string"
    },
    "scenarios": {
      "description": "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.",
      "items": {
        "$ref": "#/$defs/PaymentScenario"
      },
      "title": "Scenarios",
      "type": "array"
    },
    "buyer_state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's two-letter state for tax and fees. Default: the selling store's state.",
      "title": "Buyer State"
    },
    "buyer_county": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's county without 'County'.",
      "title": "Buyer County"
    },
    "buyer_city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's city.",
      "title": "Buyer City"
    },
    "buyer_zip": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Buyer's five-digit ZIP; sets state and city when buyer_state is omitted.",
      "title": "Buyer Zip"
    }
  },
  "required": [
    "listing_id",
    "scenarios"
  ],
  "$defs": {
    "PaymentScenario": {
      "description": "One what-if finance scenario. Omitted fields use the call's defaults ($0 down, 60 months, good credit).",
      "properties": {
        "name": {
          "anyOf": [
            {
              "maxLength": 60,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Short label, e.g. '3k down 72 mo'.",
          "title": "Name"
        },
        "down_payment": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Cash down in USD.",
          "title": "Down Payment"
        },
        "term_months": {
          "anyOf": [
            {
              "maximum": 96,
              "minimum": 12,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Loan term in months, 12 to 96.",
          "title": "Term Months"
        },
        "credit_tier": {
          "anyOf": [
            {
              "enum": [
                "excellent",
                "good",
                "fair",
                "poor"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Picks the demo APR when apr is omitted.",
          "title": "Credit Tier"
        },
        "apr": {
          "anyOf": [
            {
              "maximum": 36,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "APR percent; overrides credit_tier.",
          "title": "Apr"
        },
        "trade_value": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Trade-in allowance in USD (gets the state's trade-in tax credit).",
          "title": "Trade Value"
        },
        "payoff": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": 0,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Loan payoff owed on the trade-in, USD.",
          "title": "Payoff"
        },
        "trade_equity": {
          "anyOf": [
            {
              "maximum": 500000,
              "minimum": -500000,
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Net trade equity if allowance and payoff are unknown; no tax credit.",
          "title": "Trade Equity"
        },
        "eligible_incentive_labels": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "maxItems": 10,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "label_raw values of conditional incentives the buyer qualifies for.",
          "title": "Eligible Incentive Labels"
        }
      },
      "title": "PaymentScenario",
      "type": "object"
    }
  },
  "title": "compare_payment_scenariosArguments"
}
🟢get_listing(listing_id)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory, or the listing urn.",
      "title": "Listing Id",
      "type": "string"
    }
  },
  "required": [
    "listing_id"
  ],
  "title": "get_listingArguments"
}
🟢get_price_breakdown(listing_id)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory.",
      "title": "Listing Id",
      "type": "string"
    }
  },
  "required": [
    "listing_id"
  ],
  "title": "get_price_breakdownArguments"
}
🟢estimate_out_the_door(listing_id, buyer_state, buyer_county, buyer_city, buyer_zip, ...)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory.",
      "title": "Listing Id",
      "type": "string"
    },
    "buyer_state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Shopper's two-letter state; sets the tax and fee state. Defaults to the selling store's state. A ZIP alone does not change it here. States outside the 8 covered return a low-confidence estimate without tax and government fees.",
      "title": "Buyer State"
    },
    "buyer_county": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Shopper's county name without the word County, e.g. Harris, Cook, Orange. Improves local tax lines.",
      "title": "Buyer County"
    },
    "buyer_city": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Shopper's city, e.g. Chicago. Some city taxes depend on it; it can also imply the county.",
      "title": "Buyer City"
    },
    "buyer_zip": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Shopper's five-digit ZIP, recorded with the location. Pass buyer_state and county or city as well; the ZIP alone does not set them in this tool.",
      "title": "Buyer Zip"
    },
    "registration_state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "State where the car will be registered, if different from buyer_state.",
      "title": "Registration State"
    },
    "trade_value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Trade-in allowance in USD offered or expected for the shopper's car.",
      "title": "Trade Value"
    },
    "payoff": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Loan payoff in USD still owed on the trade-in.",
      "title": "Payoff"
    },
    "lender_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Lender holding the trade-in loan (optional, not stored).",
      "title": "Lender Name"
    },
    "eligible_incentive_labels": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "label_raw values of conditional incentives from get_price_breakdown that the shopper qualifies for (case-insensitive).",
      "title": "Eligible Incentive Labels"
    },
    "financed": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "True if the purchase will be financed, false for cash. Some fees and incentives depend on it; if omitted they are flagged as uncertain.",
      "title": "Financed"
    },
    "plate_transfer": {
      "default": false,
      "description": "True to transfer existing plates where the state allows it.",
      "title": "Plate Transfer",
      "type": "boolean"
    },
    "vehicle_weight_lbs": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Vehicle weight, used by weight-based registration fees.",
      "title": "Vehicle Weight Lbs"
    }
  },
  "required": [
    "listing_id"
  ],
  "title": "estimate_out_the_doorArguments"
}
🟢get_dealer(dealer_key, inventory_limit, inventory_offset)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "dealer_key": {
      "description": "Dealer key from list_dealers or a search result, e.g. bluebonnetridge.",
      "title": "Dealer Key",
      "type": "string"
    },
    "inventory_limit": {
      "default": 20,
      "description": "Inventory rows to include.",
      "title": "Inventory Limit",
      "type": "integer"
    },
    "inventory_offset": {
      "default": 0,
      "description": "Paging offset for inventory.",
      "title": "Inventory Offset",
      "type": "integer"
    }
  },
  "required": [
    "dealer_key"
  ],
  "title": "get_dealerArguments"
}
🟢list_dealers

All 20 fictional demo dealers with group and store counts, plus the 4 fictional dealer groups.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "list_dealersArguments"
}
🟢get_media(listing_id, types, limit)

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.

輸入結構描述

{
  "type": "object",
  "properties": {
    "listing_id": {
      "description": "dealer_key:VIN from search_inventory.",
      "title": "Listing Id",
      "type": "string"
    },
    "types": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Filter by item type: photo, video (poster image only) or spin_exterior.",
      "title": "Types"
    },
    "limit": {
      "default": 50,
      "description": "Maximum items, 0 to 100.",
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "listing_id"
  ],
  "title": "get_mediaArguments"
}
🟢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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "get_trade_in_scenariosArguments"
}
🟢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.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "get_ontologyArguments"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本12 個工具