# io.github.theluckystrike/carton-consignment-waybill-pack-list (mcpb · packing-list.mcpb)

Pack a consignment into cartons, weigh it, and list what is inside each box for the waybill.

- Trust score: 47/100 (low)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- remote · `mcp.zovo.one`: 78/100, [markdown](https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/mcp-packing-list.md), [page](https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/mcp-packing-list)
- mcpb · `packing-list.mcpb`: 47/100 (this document), [markdown](https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li.md), [page](https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/packing-list.mcpb`
- Version: `0.22.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 22/100
  - Malware scan not yet available for this package.
  - Known CVEs were checked across the 157 of 157 dependencies we could resolve, so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - 63 of 157 dependencies flagged as unhealthy (2 deprecated).
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 83/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2099 tokens (~139/item across 15 items; 14 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 97/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 92% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "unpack_item" implies "remove" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 15 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

- Download bundle: `https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/packing-list.mcpb`

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-17 (score 47)

First indexed and scored.

## MCP tools (14)

### `packing_list_create` (~227 tokens)

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.

Input parameters:

- `consignee` (string, required): Who receives the goods, as named on the order
- `date` (string): The day the list was raised, YYYY-MM-DD. Default today
- `duplicate_ok` (boolean): Open it even though an OPEN list already exists on this reference. Default false
- `note` (string)
- `reference` (string, required): The order this ships against, by id, e.g. WO-2026-0001, INV-2026-0007 or PO-4471
- `reference_kind` (string): What the reference is. Inferred from the id when omitted: WO- work order, INV- invoice, Q- quote, otherwise a plain order
- `ship_to` (string): The delivery address, printed on the slip. Omit to leave it off

### `packing_expect` (~160 tokens)

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.

Input parameters:

- `description` (string, required): The goods as the order names them, e.g. Oak shelf 900mm
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it
- `quantity` (integer, required): How many units the order says should ship. Whole units
- `sku` (string): Stock code, upper-cased and stripped of spaces. Lines with a SKU are matched on it, lines without on their description

### `carton_add` (~203 tokens)

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.

Input parameters:

- `height_cm` (integer): Outer height in whole centimetres
- `label` (string, required): What is written on the box, e.g. Box 1 of 3 or Pallet A
- `length_cm` (integer): Outer length in whole centimetres. All three dimensions or none
- `note` (string)
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it
- `tare_grams` (integer, required): The EMPTY carton with its packaging, in whole grams. 0 when it is not known
- `width_cm` (integer): Outer width in whole centimetres

### `pack_item` (~223 tokens)

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.

Input parameters:

- `carton` (string, required): The carton id, e.g. C01, or its exact label
- `description` (string, required): The goods going in, e.g. Oak shelf 900mm
- `note` (string)
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it
- `quantity` (integer, required): How many units go into THIS carton. Split across cartons with one call each
- `sku` (string): Stock code, upper-cased and stripped of spaces. Lines with a SKU are matched on it, lines without on their description
- `unit_grams` (integer): Weight of ONE unit in whole grams. Omit when not weighed; the carton is then a lower bound

### `unpack_item` (~112 tokens)

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.

Input parameters:

- `line` (string, required): The packed line id, e.g. L03, as shown by packing_list_show or carton_report
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `packing_list_show` (~126 tokens)

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.

Input parameters:

- `divisor` (integer): Volumetric divisor in cm3 per kg: 5000 courier air (default), 6000 IATA air, 4000 some road tariffs
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `packing_list_list` (~160 tokens)

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.

Input parameters:

- `consignee` (string): Only lists whose consignee contains this text
- `divisor` (integer): Volumetric divisor in cm3 per kg: 5000 courier air (default), 6000 IATA air, 4000 some road tariffs
- `open_only` (boolean): Only draft and packed lists, the ones that count against the free tier. Default false
- `reference` (string): Only lists against this order reference, matched case-insensitively
- `status` (string): Only lists in this status

### `carton_report` (~128 tokens)

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.

Input parameters:

- `divisor` (integer): Volumetric divisor in cm3 per kg: 5000 courier air (default), 6000 IATA air, 4000 some road tariffs
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `packing_shortfall` (~87 tokens)

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.

Input parameters:

- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `packing_list_status` (~204 tokens)

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.

Input parameters:

- `carrier` (string): Who is carrying it, recorded when moving to shipped
- `date` (string): The day the step happened, YYYY-MM-DD. Default today
- `force` (boolean): Ship even though lines are short, over-packed or not on the order. Default false, and the reasons come back either way
- `note` (string)
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it
- `status` (string, required): The status to move to. draft to packed to shipped, or cancelled from either open status
- `tracking` (string): The carrier's consignment or tracking number, recorded when moving to shipped

### `packing_slip` (~194 tokens)

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 writes it to out_path as a .txt file. Refuses a URL and refuses to overwrite unless told to.

Input parameters:

- `divisor` (integer): Volumetric divisor in cm3 per kg: 5000 courier air (default), 6000 IATA air, 4000 some road tariffs
- `out_path` (string): Where to write the .txt file. Pro only. Omit to get the slip back as text, which every tier can do
- `overwrite` (boolean): Replace out_path if a file is already there. Default false, and an existing file is refused with nothing written
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `packing_list_delete` (~108 tokens)

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.

Input parameters:

- `confirm` (boolean, required): Must be true. There is no undo and nothing is copied anywhere first
- `packing_list` (string, required): The packing list id, e.g. PL-2026-0001, or the order reference when only one list carries it

### `license_status` (~54 tokens)

License status

Report this server's licence state: product, tier free or pro, licence id, expiry, the key source and the upgrade URL. No arguments, no network. Explains a free-tier refusal; license_activate installs a key.

### `license_activate` (~71 tokens)

Activate license

Activate a Pro key (MCPL1.xxx.yyy) from checkout: verified offline against a built-in public key, saved to your config file. A wrong, malformed or expired key is refused, unsaved. license_status reads it back.

Input parameters:

- `key` (string, required): License key from the checkout confirmation page

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li#diagnostics

## Score history

- 2026-09-21: 47
- 2026-09-20: 47
- 2026-09-19: 47
- 2026-09-18: 47
- 2026-09-17: 47

## Common questions

### What is the io.github.theluckystrike/carton-consignment-waybill-pack-li… MCP server?

io.github.theluckystrike/carton-consignment-waybill-pack-li… is an MCP server listed in the public MCP registry as io.github.theluckystrike/carton-consignment-waybill-pack-li…. Pack a consignment into cartons, weigh it, and list what is inside each box for the waybill. This page covers its MCPB bundle (https://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/packing-list.mcpb).

### Is the io.github.theluckystrike/carton-consignment-waybill-pack-li… MCP server safe to use?

io.github.theluckystrike/carton-consignment-waybill-pack-li… scores 47 out of 100 on VerifyMCP. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.theluckystrike/carton-consignment-waybill-pack-li… MCP server expose?

io.github.theluckystrike/carton-consignment-waybill-pack-li… exposes 14 tools: packing_list_create, packing_expect, carton_add, pack_item, unpack_item, and 9 more. Their descriptions and schemas cost roughly 2,057 tokens of context every time the server is loaded.

### What licence is the io.github.theluckystrike/carton-consignment-waybill-pack-li… MCP server under?

io.github.theluckystrike/carton-consignment-waybill-pack-li… declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- Repository: https://github.com/theluckystrike/mcp-servers
- Website: https://mcp.zovo.one/s/packing-list
- Changelog RSS feed: https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li.xml
- Changelog JSON feed: https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li.json
- HTML version of this page: https://verifymcp.io/servers/theluckystrike-carton-consignment-waybill-pack-list/https-github-com-theluckystrike-mcp-servers-releases-download-v0-22-0-packing-li
