关于 bill-of-sale
用于为设备、车辆及其他商品制作销售凭证的本地 MCP 服务。可编辑草稿、定稿并输出 Markdown 或独立 HTML 供打印,记录保留在本机。
主要功能
- 01创建和编辑销售草稿
- 02定稿为签署版本
- 03输出 Markdown 或可打印 HTML
- 04列出、查看和汇总记录
- 05在本地保存销售数据
适用场景
- 01制作含 VIN 的车辆销售凭证
- 02起草设备或库存商品销售记录
- 03打印定稿文件以供签署
- 04查看销售记录和金额汇总
MCP 相关
向 MCP 客户端提供销售凭证创建、编辑、定稿和记录管理工具。所有记录保存在本地,不进行网络调用。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.zovo.one/mcp/bill-of-saleclaude mcp add --transport http theluckystrike-bill-of-sale https://mcp.zovo.one/mcp/bill-of-sale{"mcpServers":{"theluckystrike-bill-of-sale":{"type":"http","url":"https://mcp.zovo.one/mcp/bill-of-sale"}}}在 Cursor 中打开{"servers":{"theluckystrike-bill-of-sale":{"type":"http","url":"https://mcp.zovo.one/mcp/bill-of-sale"}}}在 VS Code 中打开{"mcpServers":{"theluckystrike-bill-of-sale":{"type":"http","url":"https://mcp.zovo.one/mcp/bill-of-sale"}}}{"mcpServers":{"theluckystrike-bill-of-sale":{"serverUrl":"https://mcp.zovo.one/mcp/bill-of-sale"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.zovo.one/mcp/bill-of-sale需要授权工具
10| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| vin | string | 否 | 车辆识别码,17 个字符,用于车辆销售 |
| date | string | 否 | 销售日期,格式为 YYYY-MM-DD。默认是今天 |
| imei | string | 否 | 手机或平板电脑的 15 位 IMEI |
| as_is | boolean | 否 | 包含现状条款:商品按现状出售,存在所有瑕疵,除本文明确写明的保修外不提供任何保修。默认值为 true,这是二手交易的惯例;传入 false 可省略该条款 |
| notes | string | 否 | 文档中还需说明的其他内容,例如付款方式或销售所含物品 |
| serial | string | 否 | 设备和电子产品的序列号 |
| currency | string | 是 | 价格所用货币的 ISO 代码 |
| quantity | integer | 否 | 本文档涵盖的单位数量。默认值为 1 |
| warranty | string | 否 | 卖方提供的保修条款,用卖方自己的措辞填写,例如:卖方保证发动机自销售日起 30 天内正常使用 |
| condition | string | 否 | 交付时的状况,例如:二手、运行良好,或全新未拆封 |
| buyer_name | string | 是 | 买方姓名或名称,例如 Jane Kowalska 或 Northwind Sp. z o.o. |
| buyer_email | string | 否 | 买方的电子邮件地址 |
| buyer_phone | string | 否 | 买方的电话号码 |
| price_minor | integer | 是 | 以最小货币单位整数(分)表示的销售价格。120000 表示 USD 1,200.00 |
| seller_name | string | 否 | 卖方姓名或名称。若共享业务资料中有名称,则默认使用该名称 |
| duplicate_ok | boolean | 否 | 即使存在与同一买方完全相同的销售记录,若确实是重复销售,也仍予以记录。默认值为 false |
| seller_email | string | 否 | 卖方的电子邮件地址 |
| seller_phone | string | 否 | 卖方的电话号码 |
| buyer_address | string | 否 | 买方的邮寄地址,作为一个字符串填写 |
| item_category | string | 否 | 物品类别,例如车辆、设备、电子产品、库存 |
| seller_address | string | 否 | 卖方的邮寄地址,作为一个字符串填写 |
| identifier_other | string | 否 | 其他任何识别号码,例如船体编号或资产标签 |
| item_description | string | 是 | 售出的物品,描述需足以识别,例如 2019 Honda Civic 1.5 petrol, grey,或 MacBook Pro 14-inch 2021 |
详细介绍
mcp-bill-of-sale
已收录于 官方 MCP Registry(io.github.theluckystrike/bill-of-sale)。
记录一笔交易,并生成可打印、供签署的销售合同。告诉助手卖方、买方、物品信息,以及适用时的 VIN、序列号或 IMEI、价格和日期,服务就会生成文件:包含交易双方、物品、价格、二手交易的现状出售条款、用你自己的话写的任何保修条款,以及双方的签名栏。你可以先将其作为草稿处理,再定稿为不可更改的签署版本,也可以将其打印为 Markdown,或打印为单个自包含 HTML 文件;该文件可在任何浏览器中打印为 PDF,无需其他资源文件。所有内容都保存在你的设备上;此服务不需要账户,也完全不会发起网络请求。
由 theluckystrike 构建。
@theluckystrike/mcp-bill-of-sale 尚未发布到 npm,因此目前运行 npx -y @theluckystrike/mcp-bill-of-sale 会返回 404。在此之前,可用的方法是克隆并构建。
安装
Claude Desktop
macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"bill-of-sale": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-bill-of-sale"]
}
}
}
Claude Code
claude mcp add bill-of-sale -- npx -y @theluckystrike/mcp-bill-of-sale
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目),配置项与 Claude Desktop 相同。
工具
| 工具 | 功能 |
|---|---|
sale_create | 记录一笔交易并生成销售合同:包含卖方、买方、物品,以及适用时的 VIN/序列号/IMEI、以最小货币单位计的价格和日期。返回 BOS-YYYY-NNNN。除非你确认,否则会拒绝完全相同的重复交易 |
sale_update | 在签署前修改草稿中的任何内容:价格、交易双方、物品详情、标识符、现状出售条款、保修条款、备注。将可选字段设为空字符串即可清除 |
sale_finalize | 将草稿定稿为签署版本。此后 sale_update 会拒绝修改该文件,所有渲染结果也都不会再带有 DRAFT 水印 |
sale_list | 按时间从新到旧列出所有销售合同:编号、状态、日期、物品、买方、卖方、价格。可筛选草稿或已定稿文件 |
sale_get | 根据 BOS 编号获取一份完整的销售合同 |
sale_delete | 直接删除草稿;删除已定稿文件需要设置 confirm_finalized: true。编号不会重新分配,因此序号中的空缺就是删除记录 |
sale_render | 打印文件:输出 Markdown、自包含的 HTML 打印转 PDF 文件,或同时输出两者,并附上签名栏。草稿带有 DRAFT 水印,避免误将审阅版本签署 |
sale_summary | 快速查看账目:草稿和已定稿文件的数量,以及按货币统计的总金额。不同货币的金额不会相加 |
license_status / license_activate | 查询免费版或 Pro 版状态及许可证密钥 |
免费版与 Pro 版
| 免费版 | Pro | |
|---|---|---|
| 未关闭的草稿 | 10 | 不限 |
| 已定稿文件 | 5 | 不限 |
渲染为 Markdown 和 HTML(sale_render) | 不限 | 不限 |
读取、列出和汇总(sale_get、sale_list、sale_summary) | 不限 | 不限 |
删除(sale_delete) | 可以 | 可以 |
文件本身从不计量。你是否持有交易的签署记录,正是此服务要解决的问题;如果免费版不提供文件,那就只是演示版。计量的是保存的记录数量:十份未关闭的草稿和五份已定稿文件,足以应付一整年的副业销售,而不是试用额度。sale_delete 也免费,原因同样在于限制的是保存的记录数量:否则,重复录入的草稿会占用一个名额,除非购买密钥,否则无法释放。
获取 Pro:https://mcp.zovo.one/buy/bill-of-sale,本服务一次性付费 $19,或购买捆绑包,价格为 $39。
销售流程
- 使用事实信息调用
sale_create。如果共享业务资料中有名称,卖方默认使用该名称,因此整套服务只需填写一次卖方信息。 sale_render会生成带有 DRAFT 水印的审核稿。- 使用
sale_update修正买方或卖方发现的任何问题。 - 使用
sale_finalize将其定稿。此后,sale_render会生成签署稿:在打印件上签字,或将 HTML 打印为 PDF,双方各留一份。
所有金额均为以最小货币单位表示的整数,价格绝不会使用浮点数,日期也会检查是否为真实日历日期。VIN 长度不是 17 个字符,或 IMEI 不是 15 位数字时,系统会按原样存储,但会在响应中标记,因为这两种标识符最容易被买方看错。
隐私
所有数据都保存在本地的 ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/bill-of-sale/ 中。共有两个文件:sales.json、counter.json,以及 documents/ 下生成的文档。数据不会发送到任何地方,没有账户、API 密钥,而且此服务完全不会发起网络请求。许可证密钥会离线验证。
生成的文档是通用模板,不构成法律建议。车辆、船只和受监管商品的销售可能需要遵守销售所在地的法定格式或备案要求。
由 theluckystrike 构建。https://github.com/theluckystrike
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此仓库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。