Skip to main content
Glama

pack3d_wasm_pack

Read-onlyIdempotent

Calculates 3D carton packing arrangements for warehouse and e-commerce items using First-Fit Decreasing and Extreme Point heuristics with 6-axis rotations to optimize carton selection.

Instructions

Calculates 3D physical shipping carton packing arrangements for warehouse packages and e-commerce items using First-Fit Decreasing (FFD) and Extreme Point heuristics with full 6-axis orthogonal rotations. Use when: Optimizing warehouse carton selection, freight volumetric weight calculation, and logistics order fulfillment. Do not use when: Auditing code diffs, analyzing Terraform infrastructure, or performing software security reviews. Alternative: Use agentpr_guard_audit for PR security audits, or terracost_blast_evaluate for cloud infrastructure plans. Execution: Runs locally in-memory (<15ms), read-only, idempotent, zero network calls, zero telemetry, air-gapped deterministic.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "items": "<items>"
    },
    "name": "pack3d_wasm_pack"
  }
}

Input Schema

NameRequiredDescriptionDefault
itemsYesList of 3D items with dimensions (width, height, depth) and weights to pack into cartons.
licenseKeyNoOptional TopAI Sovereign Pro offline license key (or set TOPAI_LICENSE_KEY env variable).

Output Schema

NameRequiredDescriptionDefault
boxYesTarget carton dimensions and maximum payload capacity.
fittedYesPlaced items with coordinates (x, y, z) and rotation state.
unfittedYesItems that could not fit into the container.
totalWeightKgYesTotal combined weight of packed items in kilograms.
utilizationPercentYesContainer volume utilization percentage (0-100).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv1.0.6
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / items / description
      Added value: +"List of 3D items with dimensions (width, height, depth) and weights to pack into cartons."
    • addedInput schema / properties / items / items / additionalProperties
      Added value: +false
    • addedInput schema / properties / items / items / properties / d / description
      Added value: +"Depth in cm"
    • addedInput schema / properties / items / items / properties / h / description
      Added value: +"Height in cm"
    • addedInput schema / properties / items / items / properties / id / description
      Added value: +"Unique item identifier"
    • addedInput schema / properties / items / items / properties / w / description
      Added value: +"Width in cm"
    • addedInput schema / properties / items / items / properties / weightKg / description
      Added value: +"Weight in kilograms (optional, default: 0.5)"
    • addedInput schema / properties / licenseKey
      Added value: +{
      +  "description": "Optional TopAI Sovereign Pro offline license key (or set TOPAI_LICENSE_KEY env variable).",
      +  "type": "string"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "box": {
      +      "description": "Target carton dimensions and maximum payload capacity.",
      +      "type": "object"
      +    },
      +    "fitted": {
      +      "description": "Placed items with coordinates (x, y, z) and rotation state.",
      +      "type": "array"
      +    },
      +    "totalWeightKg": {
      +      "description": "Total combined weight of packed items in kilograms.",
      +      "type": "number"
      +    },
      +    "unfitted": {
      +      "description": "Items that could not fit into the container.",
      +      "type": "array"
      +    },
      +    "utilizationPercent": {
      +      "description": "Container volume utilization percentage (0-100).",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "box",
      +    "fitted",
      +    "unfitted",
      +    "utilizationPercent",
      +    "totalWeightKg"
      +  ],
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral facts: <15ms in-memory execution, determinism, and zero telemetry/air-gap. Minor redundancy with openWorldHint=false, and it says nothing about output size or how many cartons are returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and uses labeled sections (Use when / Do not use when / Alternative / Execution) that scan well. The code-diff and Terraform exclusions are padding against unrelated sibling domains and cost a bit of length, but nothing is genuinely confusing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no prose. With a 2-parameter schema at full coverage, annotations covering safety, and the description covering performance, determinism, and sibling routing, an agent has everything needed to select and call this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, including units (cm, kg) and the weightKg default of 0.5, so the schema does the heavy lifting. The description adds no parameter-level meaning — notably it never explains what `licenseKey` gates or what happens if it is omitted, which is the one opaque parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — calculates 3D carton packing arrangements — plus the algorithmic approach (FFD with Extreme Point heuristics) and 6-axis rotations. This is clearly distinguishable from every sibling tool (audit, cost, lookup, anonymize), none of which touch physical geometry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names three positive use cases (carton selection, volumetric weight, order fulfillment), gives a when-not-to-use list, and routes to the correct alternatives (`agentpr_guard_audit`, `terracost_blast_evaluate`). The routing is unambiguous even though the exclusions are somewhat obvious from the domain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.