Packing List

io.github.theluckystrike由 GitHub 帳號 theluckystrike 發布v0.22.8更新於 Oct 25, 2026

Packing slips: cartons, contents, weights, chargeable weight and what is still to pack.

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

建立並追蹤出貨裝箱單:紙箱、裝箱品項、重量、計費重量與缺件狀況,並可產出裝箱單文字。

可以做什麼
依訂單編號、收貨人、目的地和日期建立與管理裝箱單,依狀態、訂單編號或收貨人列出與篩選,刪除草稿或未出貨的裝箱單。宣告訂單行,加入含皮重與選填尺寸的紙箱,依單件重量裝箱或拆箱。檢視整張裝箱單的紙箱、內容、推算重量、缺件狀況與是否可出貨。依紙箱與整批出貨回報皮重、淨重、毛重、體積、體積重與計費重量。比對訂單與實際裝箱,找出缺件、超裝和不在訂單上的品項。將裝箱單從草稿推進到已裝箱、已出貨(記錄承運商與追蹤號碼)或取消,並產出不含價格的純文字裝箱單。
適用情境
適合需要打包實體出貨、希望助理釐清箱內品項、重量與缺件狀況,並產出不帶價格的裝箱單。適用於重視計費重量與待裝數量的小型出貨、倉儲或電商流程。
執行需求
可作為遠端端點或本機程序執行(Claude Desktop 使用 .mcpb 套件;npm 套件尚未發布,需從原始碼建置)。Authorization 標頭必須提供 bearer 權杖;Pro 授權金鑰可透過 MCP_LICENSE_KEY 或 license_activate 提供。本機安裝時資料儲存在本機。
安裝前請注意
免費版同時最多只能有 3 張進行中的裝箱單。標記出貨會永久凍結裝箱單,已出貨的裝箱單不能編輯、重新開啟或刪除;刪除裝箱單會永久移除其紙箱與裝箱行。Pro 功能與寫入檔案的裝箱單需要付費授權金鑰。README 表示此伺服器不進行任何網路呼叫,也不需要帳號。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Packing List,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.theluckystrike%2Fpacking-list/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "packing-list": {
      "type": "http",
      "url": "https://mcp.zovo.one/mcp/packing-slip",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

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

工具

14

packing_list_create

Open a packing list

Open a packing list against an order and return its PL-YYYY-NNNN number: the order reference, the consignee, where it ships to and the date. Free tier: 3 open at once; shipping or cancelling frees a slot.

輸入參數datenoteship_toconsignee必填reference必填duplicate_okreference_kind

packing_expect

Declare what the order says should ship

Add an ordered line to a packing list so the shortfall is real: a SKU, a description and a quantity. Nothing is read from the quotes, work order or invoice store; what the order says is stated here.

輸入參數skuquantity必填description必填packing_list必填

carton_add

Add a carton

Add a carton to a packing list and return its C01-style id: a label, the empty weight in WHOLE GRAMS, and optionally length, width and height in WHOLE CENTIMETRES. Dimensions are what make a chargeable weight possible.

輸入參數notelabel必填width_cmheight_cmlength_cmtare_grams必填packing_list必填

pack_item

Pack goods into a carton

Put a quantity of one item into a named carton: a description, how many, and the per-unit weight in WHOLE GRAMS. Leave unit_grams out when it was not weighed and the carton gross comes back as a lower bound.

輸入參數skunotecarton必填quantity必填unit_gramsdescription必填packing_list必填

unpack_item

Take a packed line back out

Remove one packed line from a packing list by its L01-style id and return the carton it came out of. The line is deleted, not zeroed, so the slip does not print an item nobody packed.

輸入參數line必填packing_list必填

packing_list_show

Show one packing list

The whole packing list: its cartons with contents and derived weights, the ordered lines, the shortfall, whether it is ready to ship and why not, and its status history. Nothing here is stored; it is computed.

輸入參數divisorpacking_list必填

packing_list_list

List packing lists

Packing lists newest first, with cartons, units, gross weight and how many ordered lines are still short. Filter by status, by order reference or by consignee. Returns at most 500 rows.

輸入參數statusdivisorconsigneeopen_onlyreference

carton_report

Weigh the cartons

Per carton and for the shipment: tare, net, gross, volume, volumetric weight and the chargeable weight, the greater of gross and volumetric. A carton with no dimensions makes the chargeable total null, never a guess.

輸入參數divisorpacking_list必填

packing_shortfall

What is still to pack

Ordered against packed, line by line: what is still short, what was over-packed, and what was packed that is not on the order at all. A packed line with no ordered line is reported, never dropped.

輸入參數packing_list必填

packing_list_status

Move a packing list on

Move a packing list draft to packed to shipped, or cancel it. Shipping records the carrier, the tracking number and the date, and freezes the list. A shipped list cannot be reopened or edited.

輸入參數datenoteforcestatus必填carriertrackingpacking_list必填

packing_slip

Produce the packing slip

The packing slip as plain text on every tier: cartons, contents, weights and a signature line, and no prices anywhere. Pro also gets it back as a .txt download link valid for one hour, named by out_path; an existing name is refused unless told to overwrite.

輸入參數divisorout_pathoverwritepacking_list必填

packing_list_delete

Delete a packing list

Delete a packing list for good, with its cartons and packed lines. A shipped list is refused: it is the record of what left the building. Cancel a list you no longer want instead of deleting a real shipment.

輸入參數confirm必填packing_list必填

license_status

License status

Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.

無需輸入參數。

license_activate

Activate license

Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.

輸入參數key必填

版本歷史

4
  1. v0.22.8最新Oct 14, 2026
  2. v0.22.4Sep 26, 2026
  3. v0.22.2Sep 26, 2026
  4. v0.21.0Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分