Skip to main content
Glama

Find packaging that fits an item

find_packaging_for_item
Read-onlyIdempotent

Find the right Packrift box or mailer for an item the buyer ships. Give the item's length, width and height in inches, its weight, and what it is (for example "ceramic mug", "t-shirt", "hardcover book", "laptop"). Applies cushioning space by item type (2 in per side for fragile items), checks box strength against the weight, and compares billable shipping weight (UPS/FedEx and USPS dimensional weight). Returns up to 5 in-stock options with inside size, fit, strength, live price and a product link. Use search_products instead when the buyer already knows the packaging size they want.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of options to return.
use_caseNoWhat the item is or how it ships, in plain words: "fragile glass jar", "folded hoodie", "paperback book", "electronics", "heavy auto parts". Free text is fine.
packagingNoLimit results to boxes or mailers.any
item_depth_inYesItem height or depth in inches.
item_width_inYesItem width in inches.
item_length_inYesItem length in inches.
item_weight_lbNoItem weight in pounds. Use your best estimate; defaults to 1.
response_formatNoconcise (default) returns the essentials. detailed returns the full catalog record; use it only when a field you need is missing.concise

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
adviceNo
resultsNo
quote_urlNo
required_inside_inNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "advice": {
      +      "type": "string"
      +    },
      +    "quote_url": {
      +      "type": "string"
      +    },
      +    "required_inside_in": {
      +      "type": "array"
      +    },
      +    "results": {
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed14 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / item_depth_in / description
      Previous value: -"Item depth/height in inches."New value: +"Item height or depth in inches."
    • addedInput schema / properties / item_depth_in / exclusiveMinimum
      Added value: +0
    • removedInput schema / properties / item_depth_in / minimum
      Removed value: -0.1
    • addedInput schema / properties / item_length_in / exclusiveMinimum
      Added value: +0
    • removedInput schema / properties / item_length_in / minimum
      Removed value: -0.1
    • changedInput schema / properties / item_weight_lb / description
      Previous value: -"Packed item weight in pounds; use 0 when unknown."New value: +"Item weight in pounds. Use your best estimate; defaults to 1."
    • addedInput schema / properties / item_width_in / exclusiveMinimum
      Added value: +0
    • removedInput schema / properties / item_width_in / minimum
      Removed value: -0.1
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 3,
      +  "description": "Number of options to return.",
      +  "maximum": 5,
      +  "minimum": 1,
      +  "type": "integer"
      +}
    • addedInput schema / properties / packaging
      Added value: +{
      +  "default": "any",
      +  "description": "Limit results to boxes or mailers.",
      +  "enum": [
      +    "any",
      +    "box",
      +    "mailer"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / response_format
      Added value: +{
      +  "default": "concise",
      +  "description": "concise (default) returns the essentials. detailed returns the full catalog record; use it only when a field you need is missing.",
      +  "enum": [
      +    "concise",
      +    "detailed"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / use_case / description
      Previous value: -"Packaging context that guides fit ranking. Canonical values: mailer, box, fragile, apparel, ecommerce. Free text (e.g. 'shipping ceramic mugs') is accepted and mapped to the closest canonical context."New value: +"What the item is or how it ships, in plain words: \"fragile glass jar\", \"folded hoodie\", \"paperback book\", \"electronics\", \"heavy auto parts\". Free text is fine."
    • changedInput schema / required
      Previous value: -[
      -  "item_length_in",
      -  "item_width_in",
      -  "item_depth_in",
      -  "item_weight_lb",
      -  "use_case"
      -]New value: +[
      +  "item_length_in",
      +  "item_width_in",
      +  "item_depth_in"
      +]
  3. Changed2 schema fields changed
    • changedInput schema / properties / use_case / description
      Previous value: -"Packaging context that guides fit ranking."New value: +"Packaging context that guides fit ranking. Canonical values: mailer, box, fragile, apparel, ecommerce. Free text (e.g. 'shipping ceramic mugs') is accepted and mapped to the closest canonical context."
    • removedInput schema / properties / use_case / enum
      Removed value: -[
      -  "mailer",
      -  "box",
      -  "fragile",
      -  "apparel",
      -  "ecommerce"
      -]
  4. Changed5 schema fields changed
    • addedInput schema / properties / item_depth_in / description
      Added value: +"Item depth/height in inches."
    • addedInput schema / properties / item_length_in / description
      Added value: +"Item length in inches."
    • addedInput schema / properties / item_weight_lb / description
      Added value: +"Packed item weight in pounds; use 0 when unknown."
    • addedInput schema / properties / item_width_in / description
      Added value: +"Item width in inches."
    • addedInput schema / properties / use_case / description
      Added value: +"Packaging context that guides fit ranking."
  5. Changed5 schema fields changed
    • removedInput schema / properties / item_depth_in / description
      Removed value: -"Item depth/height in inches."
    • removedInput schema / properties / item_length_in / description
      Removed value: -"Item length in inches."
    • removedInput schema / properties / item_weight_lb / description
      Removed value: -"Packed item weight in pounds; use 0 when unknown."
    • removedInput schema / properties / item_width_in / description
      Removed value: -"Item width in inches."
    • removedInput schema / properties / use_case / description
      Removed value: -"Packaging context that guides fit ranking."
  6. Changed5 schema fields changed
    • addedInput schema / properties / item_depth_in / description
      Added value: +"Item depth/height in inches."
    • addedInput schema / properties / item_length_in / description
      Added value: +"Item length in inches."
    • addedInput schema / properties / item_weight_lb / description
      Added value: +"Packed item weight in pounds; use 0 when unknown."
    • addedInput schema / properties / item_width_in / description
      Added value: +"Item width in inches."
    • addedInput schema / properties / use_case / description
      Added value: +"Packaging context that guides fit ranking."
  7. Added

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare this as a read-only, idempotent, non-destructive, non-open-world operation, and the description adds substantial behavioral context beyond that: cushioning logic by item type (2 in/side for fragile), strength-vs-weight checks, dimensional billable weight comparison, and an 'up to 5 in-stock options' cap. This goes well past what the annotations convey.

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

Conciseness5/5

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

Four sentences, all front-loaded: purpose, required inputs, internal behavior, then the sibling exclusion and return shape. No filler; each sentence adds decision-relevant information.

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, yet the description still summarizes the return shape (inside size, fit, strength, live price, product link) and the option cap. Combined with the rich schema and annotations, nothing an agent needs to call this correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds meaning: units for dimensions and weight (inches, pounds), that weight defaults to an estimate, and examples of plain-language use_case values like 'ceramic mug' and 'laptop'. It supports rather than duplicates the schema.

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 ('find the right Packrift box or mailer for an item') and scopes it to the buyer's shipping use case. It is clearly distinguishable from generic siblings like search_products or get_product.

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 the alternative and the condition that selects it: 'Use search_products instead when the buyer already knows the packaging size they want.' It also states the required inputs, so the agent knows what must be gathered before calling.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.