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-list aún no está publicado en npm, por lo que un comando npx -y @theluckystrike/mcp-packing-list fallará. Las tres rutas anteriores son las que funcionan y cada una se prueba en CI.

packing-list demo

Espejo de solo lectura de mcp-servers/servers/packing-list. Consulta MIRROR.md.

theluckystrike/mcp-packing-list MCP server

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

HerramientaQué hace
packing_list_createAbrir una lista de empaquetado contra un pedido: la referencia, el consignatario, a dónde se envía, la fecha
packing_expectDeclarar 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_addAñadir una caja: una etiqueta, el peso vacío en gramos enteros y las tres dimensiones exteriores o ninguna
pack_itemPoner una cantidad de un artículo en una caja nombrada, con el peso por unidad en gramos enteros
unpack_itemSacar una línea empaquetada por su id estilo L01. Eliminada, no puesta a cero
packing_list_showToda la lista: cajas con contenidos y pesos, las líneas pedidas, el déficit y si está lista para enviar
packing_list_listListas de empaquetado de más reciente a más antigua, filtradas por estado, referencia de pedido o consignatario
carton_reportTara, peso neto, bruto, volumen, peso volumétrico y de facturación, por caja y para el envío
packing_shortfallPedido contra empaquetado: qué falta, qué está sobre-empaquetado, qué no está en el pedido
packing_list_statusde borrador a empaquetado a enviado, o cancelado. Enviar registra el transportista y el seguimiento, y congela la lista
packing_slipEl albarán como texto en todos los niveles. Pro también lo escribe en out_path como archivo .txt
packing_list_deleteEliminar una lista para siempre. Una lista enviada se rechaza: es el registro de lo que salió del edificio
license_statusEn qué nivel está esta instalación y de dónde vino la clave
license_activateAlmacenar 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

GratisPro
Listas de empaquetado abiertas a la vez3ilimitadas
Cajas, líneas empaquetadas, líneas pedidasilimitadasilimitadas
carton_report, packing_shortfall, packing_list_showsísí
El albarán como textosísí
Escribir el albarán a un archivo con out_pathnosí

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: