Packing List MCP
Listas de empaque de pedidos o envíos: cajas, pesos, dimensiones, conteos por artículo, salida imprimible lista para PDF.
Documentación
mcp-packing-list
Servidor MCP para albaranes y listas de empaquetado: cajas, contenidos, pesos, peso de facturación y lo que aún queda por empaquetar. Albaranes sin precios: qué hay en cada caja, cuánto pesa y qué falta por empaquetar.
Funciona con Claude Desktop, Claude Code, Cursor y cualquier cliente del Model Context Protocol. Se ejecuta en tu propia máquina o se aloja sin necesidad de instalación.
Página del producto: https://mcp.zovo.one/s/packing-list — qué hace, las herramientas que expone y un endpoint de token en vivo.
Instalación
Alojado, sin nada que instalar. Obtén un token de https://mcp.zovo.one/mcp/connect (la página de conexión) o de https://mcp.zovo.one/mcp/token (el mismo token en JSON); se emite uno anónimo gratuito al momento y una clave Pro funciona igual. Luego apunta un cliente MCP a https://mcp.zovo.one/mcp/packing-list mediante streamable-http y envía el token como Authorization: Bearer <token>.
Si tu cliente no puede configurar cabeceras, coloca el token en la ruta: https://mcp.zovo.one/mcp/packing-list/t/<token>. Ambas formas funcionan. La URL sin token responde 401 en tools/call, por lo que el token no es opcional.
Claude Desktop, un clic. Descarga packing-list.mcpb desde la última versión y haz doble clic en él.
Desde el código fuente. El espejo es autocontenido: cada dependencia de @theluckystrike/* está incluida, por lo que un clon nuevo se compila sin configuración adicional.
git clone https://github.com/theluckystrike/mcp-packing-list.git
cd mcp-packing-list
npm install && npm run build
Luego apunta tu cliente al punto de entrada compilado:
{
"mcpServers": {
"packing-list": {
"command": "node",
"args": ["/absolute/path/to/mcp-packing-list/dist/index.js"]
}
}
}
@theluckystrike/mcp-packing-listaún no está publicado en npm, por lo que un comandonpx -y @theluckystrike/mcp-packing-listfallará. Las tres rutas anteriores son las que funcionan y cada una se prueba en CI.

Espejo de solo lectura de mcp-servers/servers/packing-list. Consulta MIRROR.md.
En el Registro oficial de MCP (io.github.theluckystrike/packing-list).
El albarán de un envío y la respuesta a las únicas dos preguntas que cualquiera hace
mientras empaqueta: qué hay en cada caja y qué falta por empaquetar. Una lista de empaquetado se
crea contra un pedido que tú nombras, las líneas que ese pedido dice que deben enviarse se declaran
en ella, se añaden cajas con su tara y sus dimensiones exteriores, y las mercancías entran en las
cajas una llamada a la vez. packing_shortfall luego informa cada línea como corta, completa,
sobre-empaquetada o empaquetada y no en el pedido. carton_report da la tara, el peso neto,
bruto, volumen, peso volumétrico y peso de facturación por caja y para el envío.
Eso no es una simplificación, es para lo que sirve el documento:
viaja dentro de la caja, y el almacén del consignatario no es la parte que ve
cuánto cuestan las mercancías. La factura contra el mismo pedido es un documento diferente y vive
en @theluckystrike/mcp-invoice. No hay aritmética de dinero en este servidor en absoluto, y un
test afirma que no la hay.
La masa está en gramos enteros en todas partes y las dimensiones en centímetros enteros, por la misma razón por la que el dinero está en unidades menores: un kilogramo llevado como flotante acumula error en cien líneas y luego discrepa con la báscula del transportista.
Nada derivado se almacena. Un registro guarda sus cajas, sus líneas de pedido declaradas y sus líneas empaquetadas; cada peso y todo el déficit se calculan en la llamada. Un peso bruto almacenado es una segunda copia de lo que las líneas ya dicen, y es la copia en la que se confía después de que alguien desempaca una línea.
El peso de facturación, que es el número que cuesta dinero
Los mensajeros facturan el mayor entre lo que pesa una caja y lo que vale su volumen. El peso
volumétrico es length x width x height / divisor, en centímetros, y el divisor es un término
arancelario: 5000 cm3/kg es el valor predeterminado aéreo de mensajería, 6000 la cifra aérea IATA más antigua, 4000 aparece
en algunas tarifas de carretera. Es un parámetro en cada herramienta que lo informa y nunca una constante
dentro de una fórmula, porque un peso de facturación calculado con el divisor equivocado es una
factura de transportista que nadie detecta hasta que se concilia la cuenta.
Dos rechazos importan aquí y ambos son deliberados:
- Una caja con solo dos de sus tres dimensiones se rechaza directamente. Dos de tres no pueden formar un volumen, y una caja parcialmente medida caería silenciosamente del total del envío.
- Si alguna caja no tiene dimensiones en absoluto, los totales volumétricos y de facturación del envío
vuelven como
null, nunca como un total que omitió silenciosamente tres cajas.
Instalación
Un clic (.mcpb): descarga packing-list.mcpb de la última versión y haz doble clic
en él en Claude Desktop: https://github.com/theluckystrike/mcp-servers/releases/latest
La publicación en npm para @theluckystrike/mcp-packing-list está pendiente, por lo que la línea npx a continuación
devuelve 404 hoy. Compila desde el código fuente mientras tanto; consulta llms-install.md.
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o
%APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"packing-list": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-packing-list"]
}
}
}
Claude Code
claude mcp add packing-list -- npx -y @theluckystrike/mcp-packing-list
Cursor
~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto), misma entrada que Claude Desktop.
Herramientas
| Herramienta | Qué hace |
|---|---|
packing_list_create | Abrir una lista de empaquetado contra un pedido: la referencia, el consignatario, a dónde se envía, la fecha |
packing_expect | Declarar una línea pedida, para que el déficit sea real. No se lee nada de las cotizaciones, la orden de trabajo o el almacén de facturas |
carton_add | Añadir una caja: una etiqueta, el peso vacío en gramos enteros y las tres dimensiones exteriores o ninguna |
pack_item | Poner una cantidad de un artículo en una caja nombrada, con el peso por unidad en gramos enteros |
unpack_item | Sacar una línea empaquetada por su id estilo L01. Eliminada, no puesta a cero |
packing_list_show | Toda la lista: cajas con contenidos y pesos, las líneas pedidas, el déficit y si está lista para enviar |
packing_list_list | Listas de empaquetado de más reciente a más antigua, filtradas por estado, referencia de pedido o consignatario |
carton_report | Tara, peso neto, bruto, volumen, peso volumétrico y de facturación, por caja y para el envío |
packing_shortfall | Pedido contra empaquetado: qué falta, qué está sobre-empaquetado, qué no está en el pedido |
packing_list_status | de borrador a empaquetado a enviado, o cancelado. Enviar registra el transportista y el seguimiento, y congela la lista |
packing_slip | El albarán como texto en todos los niveles. Pro también lo escribe en out_path como archivo .txt |
packing_list_delete | Eliminar una lista para siempre. Una lista enviada se rechaza: es el registro de lo que salió del edificio |
license_status | En qué nivel está esta instalación y de dónde vino la clave |
license_activate | Almacenar una clave Pro para este servidor |
También hay un recurso, packinglist://contract, que lleva la máquina de estados, la base
de pesos, qué significa cada estado de déficit, los límites del nivel gratuito y el único directorio que este
servidor escribe; y un prompt, pack_the_shipment, que recorre todo el trabajo en orden.
Gratis vs Pro
| Gratis | Pro | |
|---|---|---|
| Listas de empaquetado abiertas a la vez | 3 | ilimitadas |
| Cajas, líneas empaquetadas, líneas pedidas | ilimitadas | ilimitadas |
carton_report, packing_shortfall, packing_list_show | sí | sí |
| El albarán como texto | sí | sí |
Escribir el albarán a un archivo con out_path | no | sí |
El límite está en los envíos en curso, no en saber qué hay en una caja. Marcar una lista como enviada o cancelarla libera su espacio, y también lo hace eliminar un borrador, por lo que un usuario gratuito siempre puede volver a estar bajo el límite sin una clave.
Obtén Pro: https://mcp.zovo.one/buy/packing-list (pago único), o todos los servidores por un precio en https://mcp.zovo.one/buy/bundle
Privacidad
Todos los datos permanecen locales, en
${XDG_DATA_HOME:-~/.local/share}/mcp-servers/packing-list/. No hay ninguna llamada de red
en ningún lugar de este servidor, ni clave API, ni cuenta. El único archivo que lee que no es
suyo es el perfil de negocio compartido, para el nombre y la dirección en la parte superior del albarán, y
nunca escribe en él.
Construido por theluckystrike. Soporte: support@zovo.one
Usa estos documentos como servidor MCP
Cualquier cliente MCP (Claude, Cursor, Windsurf, VS Code) puede leer la documentación de este repositorio directamente a través de GitMCP — sin instalación:
- URL de Docs MCP: https://gitmcp.io/theluckystrike/mcp-packing-list