# Before the Lot

> Car-buying math and state rules: out-the-door prices, quote checks, leases and trade-ins

- name: com.beforethelot/before-the-lot
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 82/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.beforethelot%2Fbefore-the-lot
- tools: https://api.protogrid.dev/v1/servers/com.beforethelot%2Fbefore-the-lot/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "before-the-lot": {
      "type": "http",
      "url": "https://beforethelot.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-95% +updated-17d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 82/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 94 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- warn `tools.token_cost`: about 9,628 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 50 (weight 15)

- warn `stability.changes`: 14 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 9,628 tokens to load them all
- tool set hash: 139c508cd1b9304dfe2f256d2e29424b
- tools last changed: 2026-11-02T19:23:17.361Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.beforethelot/before-the-lot.svg)](https://protogrid.dev/servers/com.beforethelot/before-the-lot)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-02 `plan_link` changed (description)
  - before: Builds a Before the Lot planner link that opens with the numbers given already filled in. The plan travels in the link itself, so nothing is stored. Numbers and short labels only; names, phone numbers and emails are refused.
  - after: Builds a link to the free Before the Lot planner that opens with the numbers given already filled in, so the person can carry on in the web planner with their trade-in, loan, budget and quotes. Use it after working out numbers in the chat. The plan travels in the link itself, so nothing is stored. Numbers and short labels only; names, phone numbers and emails are refused.
- 2026-11-02 `desk_script` changed (description)
  - before: The Before the Lot line for a moment at the desk. Pass a script id (monthly-payment, trade-first, down-payment, credit-check, numbers-changed, preinstalled-add-ons, initial-worksheet, decide-today, beat-my-rate, fi-product, only-a-month, paint-or-markup, below-invoice, trade-below-offer, leaving) or a short description of the situation.
  - after: A short line a buyer can say at a moment in the dealership's sales or finance office, such as being asked for a monthly payment, a credit check before a price, or a pitch for an add-on, with when it applies and why it works. Use it when someone describes what's happening at the desk. Pass a script id (monthly-payment, trade-first, down-payment, credit-check, numbers-changed, preinstalled-add-ons, initial-worksheet, decide-today, beat-my-rate, fi-product, only-a-month, paint-or-markup, below-invoice, trade-below-offer, leaving) or a short description; returns the one or two lines that fit, or the list of situations on file when none does.
- 2026-11-02 `offers_page` changed (description, inputSchema) **meaning changed**
  - before: Where a maker lists its own current offers (and a model's own page where one can be built), with whether the maker lists national offers at all.
  - after: The address of a car maker's own page of current offers (rebates, special APRs, lease deals), and of a model's page where one can be built, with whether the maker lists national offers at all and when the address was checked. Use it to point someone to the maker's official offers before comparing a rebate with a special APR (rebate_vs_apr). Returns links only, not the offers themselves, which change often and can vary by region.
- 2026-11-02 `dealer_email` changed (description, inputSchema)
  - before: Fills one of the six Before the Lot email templates (request a quote, make an offer, a competing quote, confirm the deal, decline, tell a lender) with the details given and returns the subject and body. Details are numbers and short labels; contact details are refused.
  - after: Drafts an email to a dealer or lender from one of six Before the Lot templates: request an itemized out-the-door quote, make an offer, share a competing quote, confirm the deal, decline, or give a lender the deal's numbers. Returns a subject and body for the person to review and send from their own inbox; nothing is sent. Details are numbers and short labels; contact details are refused, and an offer over the walk line given isn't drafted.
- 2026-11-02 `state_rules` changed (description)
  - before: A state's rules on dealer doc fees, sales tax (state rate, local add-on range, cap), trade-in tax credit, how a maker's rebate is taxed, and cancellation rights where on file, each with its source, as-of date and confidence, plus the link to the state's page.
  - after: A state's car-buying rules: the dealer doc-fee cap or rule, sales tax (state rate, local add-on range, any cap), whether a trade-in lowers the taxed price, how a maker's rebate is taxed, and cancellation rights where on file. Each comes with its source, as-of date and confidence, plus the link to the state's page. Use it for the rules themselves; for a price with a city's local tax, use out_the_door.
- 2026-11-02 `get_method` changed (description) **meaning changed**
  - before: The Before the Lot method: an overview and its seven stages (what to collect, what each produces, which guides, tools and email templates apply, and when the stage is done). Pass a stage id for one stage.
  - after: The Before the Lot method for buying a car: an overview and its seven stages, from setting the budget at home to signing. Each stage says what to collect, what it produces, which guides, tools and email templates apply, and when it's done. Use it to plan a purchase step by step or to see where a step fits; pass a stage id for that stage alone. Returns text with a link to the method's page.
- 2026-11-02 `trade_in_position` changed (description, inputSchema)
  - before: From written trade-in offers and the payoff: the best offer still open (the floor a dealer's trade number is compared with), the equity or negative equity, and, with a state and vehicle price, the sales tax the trade saves where the state credits it.
  - after: Sizes up a trade-in from written offers (CarMax, Carvana, dealers) and what's still owed: the best offer still open, which is the floor a dealer's trade number is compared with, the equity or negative equity, and, with a state and vehicle price, the sales tax the trade saves where the state credits it. Use it before visiting dealers; check_quote compares a quote's trade allowance with these offers.
- 2026-11-02 `lease_check` changed (description)
  - before: Works a lease quote from MSRP, selling price, residual and money factor (or the lease's APR): the depreciation and rent charges, the payment with tax (and a state lease tax on top where there is one, such as Pennsylvania's 3%; Alabama's 1.5% and West Virginia's 5% lease-payment rates in place of their sales rates; in states that tax a lease once at the start, such as Texas and Ohio, the payment carries no tax and the result says so), the money factor as an APR, and the total cost. With a loan APR and term, it also compares leasing with buying the same car over the lease's months (on a labelled depreciation assumption).
  - after: Works a lease quote from the MSRP, selling price, residual and money factor (or the lease's APR): the depreciation and rent charges, the monthly payment with the state's lease tax, the money factor as an APR, and the total cost, including any tax charged once at the start (Texas, Ohio and others). With a loan APR and term, it also compares leasing with buying the same car over the lease's months. Use it to check a lease offer's numbers; for buying, use out_the_door.
- 2026-11-02 `loan_payment` changed (description, inputSchema)
  - before: The monthly payment, total interest and total paid on a car loan, with what a term over 60 months adds in interest compared with 60.
  - after: The monthly payment, total interest and total paid on a car loan from the amount financed, APR and term, with what a term over 60 months adds in interest compared with 60. Use it for a loan on its own; out_the_door works the payment from a car price, and refinance_check compares a new loan with an existing one.
- 2026-11-02 `rebate_vs_apr` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.beforethelot%2Fbefore-the-lot/changes

## Remotes

- https://beforethelot.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.95238096)

## Packages

_none_

## Tools (16)

- `check_quote`: Reads a dealer's out-the-door quote, pasted as text (up to 8 KB) or given as line items, and checks it line by line: the out-the-door total, the doc fee against the state's cap (and capped service fees such as Ohio's $50 convenience fee), the tax line against the state's rate, finance-office add-ons with typical prices, the trade allowance against written trade-in offers, the trade equity and amount financed, and the walk line. Lines with an email address or phone number are removed before reading and never returned. Nothing is stored.
- `compare_quotes`: Ranks two to ten itemized dealer quotes for the same car by out-the-door total, with each one's gap to the lowest and to the walk line, and (with a state) each doc fee against the state's cap. Use it once several dealers have quoted; to read one quote line by line, use check_quote. Returns the ranking and a planner link with the quotes filled in.
- `dealer_email`: Drafts an email to a dealer or lender from one of six Before the Lot templates: request an itemized out-the-door quote, make an offer, share a competing quote, confirm the deal, decline, or give a lender the deal's numbers. Returns a subject and body for the person to review and send from their own inbox; nothing is sent. Details are numbers and short labels; contact details are refused, and an offer over the walk line given isn't drafted.
- `desk_script`: A short line a buyer can say at a moment in the dealership's sales or finance office, such as being asked for a monthly payment, a credit check before a price, or a pitch for an add-on, with when it applies and why it works. Use it when someone describes what's happening at the desk. Pass a script id (monthly-payment, trade-first, down-payment, credit-check, numbers-changed, preinstalled-add-ons, initial-worksheet, decide-today, beat-my-rate, fi-product, only-a-month, paint-or-markup, below-invoice, trade-below-offer, leaving) or a short description; returns the one or two lines that fit, or the list of situations on file when none does.
- `get_method`: The Before the Lot method for buying a car: an overview and its seven stages, from setting the budget at home to signing. Each stage says what to collect, what it produces, which guides, tools and email templates apply, and when it's done. Use it to plan a purchase step by step or to see where a step fits; pass a stage id for that stage alone. Returns text with a link to the method's page.
- `lease_check`: Works a lease quote from the MSRP, selling price, residual and money factor (or the lease's APR): the depreciation and rent charges, the monthly payment with the state's lease tax, the money factor as an APR, and the total cost, including any tax charged once at the start (Texas, Ohio and others). With a loan APR and term, it also compares leasing with buying the same car over the lease's months. Use it to check a lease offer's numbers; for buying, use out_the_door.
- `loan_payment`: The monthly payment, total interest and total paid on a car loan from the amount financed, APR and term, with what a term over 60 months adds in interest compared with 60. Use it for a loan on its own; out_the_door works the payment from a car price, and refinance_check compares a new loan with an existing one.
- `offers_page`: The address of a car maker's own page of current offers (rebates, special APRs, lease deals), and of a model's page where one can be built, with whether the maker lists national offers at all and when the address was checked. Use it to point someone to the maker's official offers before comparing a rebate with a special APR (rebate_vs_apr). Returns links only, not the offers themselves, which change often and can vary by region.
- `out_the_door`: Itemizes the out-the-door price of a car from its selling price: rebates, doc fee, add-ons, sales tax with the state's rules and, given a city or county, its local rate (7,000+ places in 23 states), and title and registration. Optionally adds a trade-in (and the tax it saves where the state credits it), a down payment and a loan payment, and compares the doc fee with the state's cap and the total with a walk line. Use it for the total cost of a price; for a dealer's quote, use check_quote. Returns each line, the total and a planner link.
- `payoff_plan`: A payoff plan for a car loan, for paying it off early with an extra payment each month: the months and total interest at the regular payment, and with an extra amount toward principal each month (optionally for only the first so many months, or skipping some), with the months and interest the extra saves and the payoff month each way. Give the balance, the APR, and the months left or the regular payment. Lenders differ in how they apply extra payments, and some charge a prepayment penalty.
- `plan_link`: Builds a link to the free Before the Lot planner that opens with the numbers given already filled in, so the person can carry on in the web planner with their trade-in, loan, budget and quotes. Use it after working out numbers in the chat. The plan travels in the link itself, so nothing is stored. Numbers and short labels only; names, phone numbers and emails are refused.
- `rebate_vs_apr`: Compares a maker's cash rebate taken with the person's own loan against the maker's special APR (with any cash that combines with it): each side's payment, interest and total, the difference, the own-loan rate where the two cost the same, and the sales tax a rebate saves in states that tax the price after it. Give the amount financed before the rebate, or a vehicle price to work it out.
- `refinance_check`: Compares a car loan as it stands with a new loan at a quoted rate, by default over the same months left so a lower payment cannot hide a longer loan, with any fees counted: the new payment, the monthly difference and the total interest saved or added.
- `state_rules`: A state's car-buying rules: the dealer doc-fee cap or rule, sales tax (state rate, local add-on range, any cap), whether a trade-in lowers the taxed price, how a maker's rebate is taxed, and cancellation rights where on file. Each comes with its source, as-of date and confidence, plus the link to the state's page. Use it for the rules themselves; for a price with a city's local tax, use out_the_door.
- `trade_in_position`: Sizes up a trade-in from written offers (CarMax, Carvana, dealers) and what's still owed: the best offer still open, which is the floor a dealer's trade number is compared with, the equity or negative equity, and, with a state and vehicle price, the sales tax the trade saves where the state credits it. Use it before visiting dealers; check_quote compares a quote's trade allowance with these offers.
- `what_can_i_afford`: Works out a car budget from the monthly payment someone is comfortable with: the most that can be financed, the highest out-the-door price after the trade-in tax credit, that ceiling as dealers quote it (before the credit), and the vehicle price it leaves after the state's tax and typical fees. With a fair price from research, it also gives an opening offer and a walk line. Use it before shopping, when the starting point is a payment rather than a price. Numbers only; nothing is stored.
