Packing Slip Cartons Shipment Weights

io.github.theluckystrike由 GitHub 账号 theluckystrike 发布v0.22.8更新于 Oct 24, 2026

Packing slips with no prices: what is in each carton, gross and chargeable weight, lines short.

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

本地 MCP 服务器,用于生成不含价格的装箱单:纸箱、装箱明细、缺件情况与计费重量。

可以做什么
  • 创建与管理装箱单:按订单开单、声明应装明细、列出与查看装箱单、变更状态、删除草稿。
  • 添加纸箱(皮重与三边外尺寸),并逐次把商品数量装入或取出。
  • 按纸箱和整票货报告重量:皮重、净重、毛重、体积、体积重与计费重量,除数可指定。
  • 对比应装与已装,给出短缺、齐全、超装及不在订单上的明细。
  • 以文本形式输出装箱单,Pro 版还可写入指定文件路径。
适用场景
适合在打包发货时使用:需要知道每个箱子装了什么、还差什么,以及承运商会按多少计费重量收费。也适用于单据随货同行、不能显示价格的仓储或履约场景。
运行要求
作为桌面本地进程运行,通过 .mcpb 包安装或从源码构建;npm 包尚未发布。无需账号、API 密钥或网络访问。可选 Pro 许可证密钥放在 MCP_LICENSE_KEY 中,用于解除在途装箱单数量限制并支持写入文件。
安装前请注意
该服务器会写入和删除记录:取出商品会删除已装明细,删除装箱单不可恢复,标记发货会冻结该单。数据保存在本机用户数据目录下,并会读取共享业务档案以填写单据抬头。Pro 功能需要一次性付费的许可证密钥。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Packing Slip Cartons Shipment Weights,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-packing-list

[theluckystrike/mcp-packing-list MCP server]

In the official MCP Registry (io.github.theluckystrike/packing-list). The packing slip for a shipment, and the answer to the only two questions anybody asks while packing one: what is in which box, and what is still to pack. A packing list is raised against an order you name, the lines that order says should ship are declared on it, cartons are added with a tare weight and their outside dimensions, and goods go into cartons one call at a time. packing_shortfall then reports every line as short, complete, over-packed, or packed and not on the order at all. carton_report gives the tare, net, gross, volume, volumetric and chargeable weight per carton and for the shipment.

That is not a simplification, it is what the document is for: it travels inside the box, and the consignee's warehouse is not the party that sees what the goods cost. The invoice against the same order is a different document and lives in @theluckystrike/mcp-invoice. There is no money arithmetic in this server at all, and a test asserts there is not.

Mass is in whole grams everywhere and dimensions in whole centimetres, for the same reason money is in minor units: a kilogram carried as a float accumulates error over a hundred lines and then disagrees with the carrier's scale.

Nothing derived is stored. A record holds its cartons, its declared order lines and its packed lines; every weight and the whole shortfall are computed on the call. A stored gross weight is a second copy of what the lines already say, and it is the copy that gets believed after somebody unpacks a line.

The chargeable weight, which is the number that costs money

Couriers bill the greater of what a box weighs and what its volume is worth. The volumetric weight is length x width x height / divisor, in centimetres, and the divisor is a tariff term: 5000 cm3/kg is the courier air default, 6000 the older IATA air figure, 4000 appears on some road tariffs. It is a parameter on every tool that reports it and never a constant inside a formula, because a chargeable weight computed against the wrong divisor is a carrier invoice nobody catches until the account is reconciled.

Two refusals matter here and both are deliberate:

  • A carton with only two of its three dimensions is refused outright. Two of three cannot make a volume, and a partially measured box would drop silently out of the shipment total.
  • If any carton has no dimensions at all, the shipment's volumetric and chargeable totals come back as null, never as a total that quietly skipped three boxes.

Install

One-click (.mcpb): download packing-list.mcpb from the latest release and double-click it in Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest

npm publish for @theluckystrike/mcp-packing-list is pending, so the npx line below returns 404 today. Build from source in the meantime; see llms-install.md.

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

json
{  "mcpServers": {    "packing-list": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-packing-list"]    }  }}

Claude Code

sh
claude mcp add packing-list -- npx -y @theluckystrike/mcp-packing-list

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.

Tools

ToolWhat it does
packing_list_createOpen a packing list against an order: the reference, the consignee, where it ships to, the date
packing_expectDeclare an ordered line, so the shortfall is real. Nothing is read from the quotes, work-order or invoice store
carton_addAdd a carton: a label, the empty weight in whole grams, and all three outside dimensions or none
pack_itemPut a quantity of one item into a named carton, with the per-unit weight in whole grams
unpack_itemTake a packed line back out by its L01-style id. Deleted, not zeroed
packing_list_showThe whole list: cartons with contents and weights, the ordered lines, the shortfall, and whether it is ready to ship
packing_list_listPacking lists newest first, filtered by status, order reference or consignee
carton_reportTare, net, gross, volume, volumetric and chargeable weight, per carton and for the shipment
packing_shortfallOrdered against packed: what is short, what is over-packed, what is not on the order
packing_list_statusdraft to packed to shipped, or cancelled. Shipping records the carrier and tracking, and freezes the list
packing_slipThe slip as text on every tier. Pro also writes it to out_path as a .txt file
packing_list_deleteDelete a list for good. A shipped list is refused: it is the record of what left the building
license_statusWhich tier this install is on and where the key came from
license_activateStore a Pro key for this server

There is also a resource, packinglist://contract, carrying the status machine, the weight basis, what each shortfall state means, the free-tier limits and the one directory this server writes; and a prompt, pack_the_shipment, that walks the whole job in order.

Free vs Pro

FreePro
Open packing lists at once3unlimited
Cartons, packed lines, ordered linesunlimitedunlimited
carton_report, packing_shortfall, packing_list_showyesyes
The packing slip as textyesyes
Writing the slip to a file with out_pathnoyes

The cap is on shipments in flight, not on knowing what is in a box. Marking a list shipped or cancelling it frees its slot, and so does deleting a draft, so a free user can always get back under the limit without a key.

Get Pro: https://mcp.zovo.one/buy/packing-list (one-time), or all servers for one price at https://mcp.zovo.one/buy/bundle

Privacy

All data stays local, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/packing-list/. There is no network call anywhere in this server, no API key, and no account. The only file it reads that it does not own is the shared business profile, for the name and address at the top of the slip, and it never writes to it.

Built by theluckystrike. Support: [email protected]

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

来源:servers/packing-list/README.md,提交 6535b33

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

3
  1. v0.22.8最新Oct 14, 2026
  2. v0.22.3Sep 23, 2026
  3. v0.21.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分