# bill of sale [Health: Active]

**Category:** ⚖️ Legal  
**Repository:** https://github.com/theluckystrike/mcp-bill-of-sale  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/bill-of-sale

## Description
Bills of sale for equipment, vehicles and stock: draft, finalize, print with signature lines.

## Tools
Capabilities this server exposes over MCP:

- **sale_create** — Record a sale and generate the bill of sale: seller, buyer, item with VIN/serial/IMEI where it has one, price in minor units, date. Returns `BOS-YYYY-NNNN`. An identical repeat sale is refused unless you confirm it
- **sale_update** — Change anything on a draft before signing: price, parties, item details, identifiers, the as-is clause, warranty, notes. Empty string clears an optional field
- **sale_finalize** — Freeze the draft into the signing copy. From here `sale_update` refuses it and every render prints without the DRAFT watermark
- **sale_list** — Every bill of sale, newest first: id, status, date, item, buyer, seller, price. Filter to drafts or finalized
- **sale_get** — One bill of sale in full by its BOS number
- **sale_delete** — Delete a draft outright; a finalized document needs `confirm_finalized: true`. The number is never reissued, so a gap in the series is the record of the deletion
- **sale_render** — Print the document: Markdown, a self-contained HTML file for print-to-PDF, or both, with signature lines. Drafts carry a DRAFT watermark so a review copy cannot be signed by mistake
- **sale_summary** — The book at a glance: draft and finalized counts, total value per currency. Currencies are never added together
- **license_status** — Free or Pro, and the key

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "bill-of-sale": {
    "command": "npx",
    "args": ["-y","@theluckystrike/mcp-bill-of-sale"]
  }
}
```

## Documentation

## What bill of sale MCP server does

The bill of sale MCP server stores structured records for sales of vehicles, equipment, and stock. A record can include the seller, buyer, item details, an applicable VIN, serial number, or IMEI, the sale price, date, as-is language, warranty text, and notes. Each sale receives a number in the `BOS-YYYY-NNNN` format.

The document lifecycle separates review from signing. New records remain drafts and can be changed. Finalizing freezes the record, after which updates are rejected and rendered copies no longer show the DRAFT watermark. The generated document includes signature lines for both parties.

## How it works

Create a sale with the facts of the transaction, then render it for review. If details need correction, update the draft before finalizing it. Once finalized, render the signing copy as Markdown, a self-contained HTML file suitable for browser print-to-PDF, or both.

Prices are supplied as integer minor units rather than floating-point values. Dates are checked as calendar dates. VINs and IMEIs are stored even when their format is unusual, but the response flags VINs that are not 17 characters and IMEIs that are not 15 digits.

Records are stored locally in `${XDG_DATA_HOME:-~/.local/share}/mcp-servers/bill-of-sale/`, with sales, numbering, and rendered documents kept in separate files and directories. The local implementation makes no network calls, requires no account, and verifies license keys offline. A hosted streamable-HTTP option is also documented and requires a bearer token.

## Tools and capabilities

- `sale_create` creates a sale and prevents an identical repeat unless confirmed.
- `sale_update` edits draft fields and can clear optional values with an empty string.
- `sale_finalize` converts a draft into an immutable signing copy.
- `sale_list` lists records newest first, with optional draft or finalized filtering.
- `sale_get` retrieves a complete record by its BOS number.
- `sale_delete` removes drafts; finalized records require explicit confirmation. Deleted numbers are not reused.
- `sale_render` produces Markdown, self-contained HTML, or both, including signature lines and draft watermarking where applicable.
- `sale_summary` reports draft and finalized counts and totals separately by currency.
- `license_status` and `license_activate` provide license information and activation support.

## Setup and configuration

The documented local source workflow is to clone the repository, run `npm install && npm run build`, and point an MCP client to `dist/index.js` with Node. A packaged Claude Desktop `.mcpb` release is also available. The npm package is not currently published, so an `npx` installation command returns 404.

The hosted option uses `https://mcp.zovo.one/mcp/bill-of-sale` over streamable HTTP. It accepts a token in the `Authorization: Bearer` header or in the URL path when the client cannot set headers.

## Limitations and notes

Free usage allows up to 10 open drafts and 5 finalized documents; Pro removes those record limits. Reading, listing, summarizing, rendering, and deleting are not metered separately according to the provided plan details.

The generated form is a generic template, not legal advice. Vehicle, boat, and regulated-goods transactions may have additional statutory forms or filing requirements depending on location. Currencies are not combined in summaries.

_Full upstream README: https://allmcps.com/mcp/bill-of-sale/readme_

