Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Packing slips: cartons, contents, weights, chargeable weight and what is still to pack.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
MCP_LICENSE_KEY, Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
链接指向作者自己的文件;我们不托管也不重新打包它。打开文件后,Claude Desktop 会进行安装。
在终端中运行这条命令
claude mcp add --transport http packing-list https://mcp.zovo.one/mcp/packing-slip --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"packing-list": {
"url": "https://mcp.zovo.one/mcp/packing-slip",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"packing-list": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/packing-slip",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月8日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
packing_list_createOpen 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.
packing_expectAdd 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.
carton_addAdd 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.
pack_itemPut 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.
unpack_itemRemove 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.
packing_list_showThe 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.
packing_list_listPacking 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.
carton_reportPer 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.
packing_shortfallOrdered 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_statusMove 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.
packing_slipThe 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.
packing_list_deleteDelete 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.
license_statusReport 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_activateTurn Pro on for this connection with key, an MCPL1. . 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.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 theluckystrike 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 549 毫秒内响应(HTTP 200)
无需登录
已读取 14 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:MCP_LICENSE_KEY, Authorization
两种方式都可以:安装在你的电脑上,或者连接云端版本。
GitHub 仓库最后更新于–,最新版本(0.22.8)于25天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tethered Trust
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
In the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.theluckystrike%2Fpacking-list/versions/latest) (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.
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:
null, never as a total that quietly skipped three boxes.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.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "packing-list": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-packing-list"] } } }
claude mcp add packing-list -- npx -y @theluckystrike/mcp-packing-list
~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.
| Tool | What it does |
|---|---|
packing_list_create | Open a packing list against an order: the reference, the consignee, where it ships to, the date |
packing_expect | Declare an ordered line, so the shortfall is real. Nothing is read from the quotes, work-order or invoice store |
carton_add | Add a carton: a label, the empty weight in whole grams, and all three outside dimensions or none |
pack_item | Put a quantity of one item into a named carton, with the per-unit weight in whole grams |
unpack_item | Take a packed line back out by its L01-style id. Deleted, not zeroed |
packing_list_show | The whole list: cartons with contents and weights, the ordered lines, the shortfall, and whether it is ready to ship |
packing_list_list | Packing lists newest first, filtered by status, order reference or consignee |
carton_report | Tare, net, gross, volume, volumetric and chargeable weight, per carton and for the shipment |
packing_shortfall | Ordered against packed: what is short, what is over-packed, what is not on the order |
packing_list_status | draft to packed to shipped, or cancelled. Shipping records the carrier and tracking, and freezes the list |
packing_slip | The slip as text on every tier. Pro also writes it to out_path as a .txt file |
packing_list_delete | Delete a list for good. A shipped list is refused: it is the record of what left the building |
license_status | Which tier this install is on and where the key came from |
license_activate | Store 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 | Pro | |
|---|---|---|
| Open packing lists at once | 3 | unlimited |
| Cartons, packed lines, ordered lines | unlimited | unlimited |
carton_report, packing_shortfall, packing_list_show | yes | yes |
| The packing slip as text | yes | yes |
Writing the slip to a file with out_path | no | yes |
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
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: support@zovo.one
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install: