Skip to content

Before the Lot

com.beforethelot/before-the-lotbeforethelot.comstreamable-httpv1.0.0Scanned

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

16 tools: 1 do something that can't be undone, 10 change things and 5 only read.

Tools: 0 delete, 1 irreversible, 10 write, 5 read.
  • Reads private data · 3
  • Reads text others write · 1
  • Can send data out · 0
  • 3 findings

Anlyon alternative

11 of these tools change something. Run those as governed actions.

Declare what an action changes, and Anlyon puts it under a shared limit, binds every approval to the exact request, and grades the outcome. It works on any HTTPS API you can describe as an action.

Anlyon does not run, proxy or govern this MCP server. A tool your own code calls directly is not routed through Anlyon and is not governed by it.

Import an OpenAPI spec →

Tools

Grouped by what each tool does, most consequential first. Open one for its reasons and full description; descriptions are the publisher's own words.

16 tools

Can't be undone 1Claude Code: ask
  • loan_paymentThe monthly payment, total interest and total paid on a car loan, with what a term over 60 months adds in interest compared with 60.1 finding

    Why it is in this group

    • The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "loan_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Loan payment
Changes things 10Claude Code: ask
  • dealer_emailFills 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…1 finding

    Why it is in this group

    • The description's first verb is "fill": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "dealer_email" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "fill": a word for a change.

      What this check looks for
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Draft an email to a dealer or lender
  • desk_scriptThe Before the Lot line for a moment at the desk.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: A line to say at the dealership
  • lease_checkWorks 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 …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Check a lease
  • offers_pageWhere 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.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: A maker's official offers page
  • out_the_doorItemizes an out-the-door estimate for a vehicle price: rebates, doc fee, add-ons, the state's sales tax (with its rules on rebates and caps), title and registration.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Itemizes an out-the-door estimate for a vehicle price: rebates, doc fee, add-ons, the state's sales tax (with its rules on rebates and caps), title and registration. Optionally adds a trade-in (and the tax it saves where the state credits it), a down payment and a loan for the payment. Compares the doc fee with the state's cap and the total with a walk line.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Out-the-door estimate
  • payoff_planA 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 princi…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Payoff plan
  • state_rulesA 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…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: State rules for buying a car
  • trade_in_positionFrom 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 ve…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Trade-in position
  • what_can_i_affordWorks out the budget ceiling from a monthly payment: the most that can be financed, the highest out-the-door price after the trade-in tax credit, that ceiling as dealers quote it (…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Works out the budget ceiling from a monthly payment: 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 trade-in 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. Numbers only; nothing is stored.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: What can I afford
Only reads 5Show 5 read-only tools
  • check_quoteReads 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 (an…Reads private dataNo findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "read" and "doc": it reads documents.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Check a dealer's quote
  • compare_quotesRanks two to ten itemized dealer quotes by out-the-door price, 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.Reads private dataNo findings

    Why it is in this group

    • The name "compare_quotes" says "compare": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "doc": it reads documents.
    Description, as the server wrote it
    Ranks two to ten itemized dealer quotes by out-the-door price, 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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Compare dealer quotes
  • get_methodThe 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).Reads private dataReads text others writeNo findings

    Why it is in this group

    • The name "get_method" says "get": a word for reading.

    What it can reach

    • private-dataThe description's first sentence says "email": it reads mail.
    • untrusted-inputThe description's first sentence says "email": it reads inbound email, which other people can write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Get the Before the Lot method
  • rebate_vs_aprCompares 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 …No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Cash rebate or special APR
  • refinance_checkCompares 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…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Check a refinance

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Exfil surface

Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.

No private-data, untrusted-input, outbound path in this server alone: no tool is tagged outbound.

Reads private data3
Reads files, mail, messages, databases, secrets, calendars or repositories.
Reads text others write1
Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
Can send data out0
Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.

Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.

Findings

Matches of fixed checks, with the text they matched.

3 warn
  • The server marks "loan_payment" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "loan_payment" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "dealer_email" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The description's first verb is "fill": a word for a change.

    What this check looks for
  • The server marks "plan_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "plan_link" says "link": a word for a change.

    What this check looks for

History

Changes to its tool definitions and to its remote endpoint, newest first.

No change seen yet. Its tools are rescanned every day, and a remote endpoint is looked at once a week.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http before-the-lot https://beforethelot.com/mcp
claude mcp add --transport http before-the-lot https://beforethelot.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__before-the-lot__check_quote",
      "mcp__before-the-lot__compare_quotes",
      "mcp__before-the-lot__rebate_vs_apr",
      "mcp__before-the-lot__refinance_check",
      "mcp__before-the-lot__get_method"
    ],
    "ask": [
      "mcp__before-the-lot__what_can_i_afford",
      "mcp__before-the-lot__out_the_door",
      "mcp__before-the-lot__loan_payment",
      "mcp__before-the-lot__lease_check",
      "mcp__before-the-lot__trade_in_position",
      "mcp__before-the-lot__payoff_plan",
      "mcp__before-the-lot__state_rules",
      "mcp__before-the-lot__dealer_email",
      "mcp__before-the-lot__offers_page",
      "mcp__before-the-lot__desk_script",
      "mcp__before-the-lot__plan_link"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as before-the-lot. Review it before you use it.

Capability tags behind 3 rules
  • mcp__before-the-lot__check_quote private-data
  • mcp__before-the-lot__compare_quotes private-data
  • mcp__before-the-lot__get_method private-data, untrusted-input

Pin

Keep the decision: fail CI when the tools change, follow every change, or show a badge.

Pin in CI

Fail a build when the tools you reviewed are not the tools the server serves today.

curl -s "https://anlyon.dev/api/v1/servers/com.beforethelot/before-the-lot/verify?hash=327c439aeaecde83e658c2c9dd326b071c6bfee5f6e9fcd2cb2801bba2732044" | jq -e '.changed == false'

Pinned hash 327c439aeaec, from Oct 28, 2026, 18:18 UTC.

Watch

Get told when its tools change: a new tool, a new description, a new class.

https://anlyon.dev/servers/com.beforethelot/before-the-lot/changes.xml

An Atom feed. Works in any feed reader or Slack's RSS app.

Badge

anlyon.dev badge for com.beforethelot/before-the-lot
[![anlyon.dev](https://anlyon.dev/badge/com.beforethelot/before-the-lot.svg)](https://anlyon.dev/servers/com.beforethelot/before-the-lot)

Source: MCP Registry. Synced Oct 28, 2026, 18:17 UTC.