{"name":"io.github.Packrift/packrift-mcp","slug":"packrift-packrift-mcp","title":"Packrift MCP","description":"Hosted no-auth MCP for exact-spec packaging search, live price, stock, cart handoff, and no-match.","url":"https://mcp.market/server/packrift-packrift-mcp","rating":null,"grade":"B","score":79,"certified":false,"status":"active","category":"ecommerce","tags":["ecommerce","finance","search","security"],"presence":{"score":28,"stars":2,"forks":1,"downloads_week":null,"last_push_at":"2026-09-24T00:11:52.000Z","license":"MIT"},"uptime":{"percent":100,"checks":21,"ok":21,"last_checked_at":"2026-09-24T13:41:21.263Z","last_ok_at":"2026-09-24T13:41:21.263Z","latency_ms":372},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/Packrift/packrift-mcp","website":"https://packrift.com/pages/packrift-ai-agent-instructions","version":"0.3.0","remotes":[{"type":"streamable-http","url":"https://mcp.packrift.com/mcp"}],"packages":[],"tools":[{"name":"check_inventory","description":"Use to confirm stock before recommending a SKU or building a cart. Required argument: variant_ids as an array of numeric Shopify variant IDs encoded as strings, for example [\"53475949216112\"]. Never send variant_ids as numbers. Live, never cached.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"variant_ids":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Numeric Shopify variant IDs as strings, not numbers. Example: [\"53475949216112\"]."},"journey_id":{"type":"string"},"result_set_id":{"type":"string"},"selected_sku":{"type":"string"},"selected_handle":{"type":"string"},"match_type":{"type":"string"}},"required":["variant_ids"]}},{"name":"compare_alternatives","description":"Exploration tool for buyers comparing a packaging spec, competitor-style item, or catalog-number request against Packrift's curated catalog. Returns ranked Packrift candidates plus a plain-language comparison summary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requested_spec":{"type":"string","description":"Packaging request, competitor-style spec, or exact dimensions/material/count to compare."},"family":{"type":"string","enum":["boxes","mailers","labels","tape","poly_bags","stretch_film","strapping","tags","void_fill","packing_list_envelopes"]},"competitor_reference":{"type":"string","description":"Optional competitor or source name, used only as context; Packrift does not claim live competitor price or inventory."},"limit":{"type":"integer","minimum":1,"maximum":8,"default":5}},"required":["requested_spec"]}},{"name":"create_cart_url","description":"Build the checkout handoff URL once the buyer has confirmed an exact product, quantity, live price, and stock. Preferred input is sku plus quantity; use items only when you already hold variant IDs as strings. Returns a tracked packrift.com cart URL plus a Shopify cart permalink; it never places an order.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"sku":{"type":"string","description":"Shortcut for exact Packrift SKUs such as 1066, MFL1295, or LL251WR. When provided without items, the approved variant is resolved automatically."},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Buyer-confirmed quantity to use with sku shortcut. Ignored when items is provided."},"items":{"type":"array","description":"Advanced path for agents that already have approved variant IDs. Most buyers should use sku plus quantity instead.","minItems":1,"items":{"type":"object","properties":{"variant_id":{"type":"string","description":"Numeric Shopify variant ID as a string, not a number. Example: \"53475949216112\"."},"qty":{"type":"integer","minimum":1,"description":"Buyer-confirmed quantity for this line item. The alias key quantity is also accepted."}},"required":["variant_id","qty"]}},"discount_code":{"type":"string","description":"Optional discount code to apply to the cart."},"source_context":{"type":"string","description":"Optional short context label for the handoff, such as exact_match, reorder, or quote_followup."},"journey_id":{"type":"string","description":"Optional continuity ID echoed from an earlier search or pricing result in this conversation."},"result_set_id":{"type":"string","description":"Optional continuity ID echoed from the result set the buyer chose from."},"selected_sku":{"type":"string","description":"Buyer-confirmed SKU. When provided, it must resolve to the same catalog item as the cart variant."},"selected_handle":{"type":"string","description":"Buyer-confirmed product handle. When provided, it must resolve to the same catalog item as the cart variant."},"match_type":{"type":"string","description":"Optional continuity label describing how the product was matched, echoed from earlier results."}},"anyOf":[{"required":["items"]},{"required":["sku"]}]}},{"name":"explain_no_exact_match","description":"Explain why a nearby product should not be presented as an exact match for the buyer's spec, then return safe next actions and a quote-request URL.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requested_spec":{"type":"string","description":"The buyer's exact requested packaging spec."},"family":{"type":"string","description":"Optional product family."},"missing_or_mismatched_fields":{"type":"array","items":{"type":"string"},"description":"Required fields that were unavailable or different, such as length, material, color, or pack_count."},"reason":{"type":"string","description":"Optional short explanation from the caller."}},"required":["requested_spec"]}},{"name":"find_packaging_for_item","description":"Use when the buyer has item dimensions and needs a fitting box or mailer. Required arguments are item_length_in, item_width_in, item_depth_in, item_weight_lb, and use_case. Canonical use_case values are mailer|box|fragile|apparel|ecommerce; free text such as 'shipping ceramic mugs' is accepted and mapped to the closest canonical context. Returns up to 5 curated SKUs ranked by fit with price, stock, URL, and cart-continuity fields.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"item_length_in":{"type":"number","minimum":0.1,"description":"Item length in inches."},"item_width_in":{"type":"number","minimum":0.1,"description":"Item width in inches."},"item_depth_in":{"type":"number","minimum":0.1,"description":"Item depth/height in inches."},"item_weight_lb":{"type":"number","minimum":0,"description":"Packed item weight in pounds; use 0 when unknown."},"use_case":{"type":"string","description":"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."}},"required":["item_length_in","item_width_in","item_depth_in","item_weight_lb","use_case"]}},{"name":"get_bulk_quote_link","description":"Return a quote-request URL for an exact packaging spec or SKU. Use when no exact match exists or the buyer needs bulk or procurement review.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"requested_spec":{"type":"string","description":"Exact unavailable or bulk quote packaging spec."},"sku":{"type":"string","description":"Optional Packrift SKU to prefill if the quote relates to a known product."},"family":{"type":"string","description":"Optional product family such as boxes, labels, mailers, tape, or poly_bags."},"quantity":{"type":"string","description":"Optional buyer quantity. Numbers are accepted and coerced to string."},"reason":{"type":"string","description":"Optional reason for quote handoff."}},"required":["requested_spec"]}},{"name":"get_cart_handoff_candidates","description":"Returns curated Packrift SKUs that are ready for cart handoff, including create_cart_url arguments, SKU records, product/reorder/quote links, and the required live-confirmation sequence.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50,"default":10},"family":{"type":"string","enum":["boxes","mailers","labels","tape","poly_bags","stretch_film","strapping","tags","void_fill","packing_list_envelopes"],"description":"Optional product family filter."},"sku":{"type":"string","description":"Optional exact Packrift SKU filter."}}}},{"name":"get_pricing","description":"Use to confirm live base catalog unit price and merchandise line total before cart handoff. Cart discounts, shipping and tax are not evaluated; the buyer's Shopify cart and checkout determine the final payable amount. Required argument: variant_ids as an array of numeric Shopify variant IDs encoded as strings, for example [\"53475949216112\"]. Optional quantity defaults to 1. Never send variant_ids as numbers. Never cached.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"variant_ids":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Numeric Shopify variant IDs as strings, not numbers. Example: [\"53475949216112\"]."},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Buyer-selected quantity for line total calculation."},"journey_id":{"type":"string"},"result_set_id":{"type":"string"},"selected_sku":{"type":"string"},"selected_handle":{"type":"string"},"match_type":{"type":"string"}},"required":["variant_ids"]}},{"name":"get_product","description":"Use after find_packaging_for_item or search_products to pull full detail for a handle: all variants, SKUs, dimensions, weight, stock. Input: handle. Call before building a cart to map qty to the right variant.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"handle":{"type":"string"}},"required":["handle"]}},{"name":"get_reorder_link","description":"Return the reorder URL, product URL, and a copyable procurement spec for one catalog SKU or handle. Use for repeat-buy and procurement handoff workflows.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sku":{"type":"string","description":"Packrift SKU such as 1066, MFL1295, or LL251WR."},"handle":{"type":"string","description":"Packrift product handle if SKU is unknown."},"source_context":{"type":"string","description":"Optional short context label, such as reorder or procurement."}}}},{"name":"get_shipping_estimate","description":"Use when the buyer asks shipping cost for selected catalog variants. Provide destination_address with address1, city and province_code for an estimate using the supplied address; otherwise the estimate uses postal-code placeholders and is approximate. Addresses are not validated. Cart shipping discounts and final tax are not evaluated; Shopify cart and checkout are authoritative. Required arguments: destination_postal_code, country (US|CA), and items with variant_id as a numeric Shopify variant ID string plus qty, for example {\"variant_id\":\"53475949216112\",\"qty\":1}. Never send variant_id as a number.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"destination_postal_code":{"type":"string"},"country":{"type":"string","enum":["US","CA"]},"destination_address":{"type":"object","description":"Optional address details used with destination_postal_code and country. Supply all three fields or omit this object. Values are passed through, not address-validated.","properties":{"address1":{"type":"string","minLength":1},"city":{"type":"string","minLength":1},"province_code":{"type":"string","minLength":1,"description":"State or province code, for example WI or ON."}},"required":["address1","city","province_code"],"additionalProperties":false},"items":{"type":"array","minItems":1,"items":{"type":"object","properties":{"variant_id":{"type":"string","description":"Numeric Shopify variant ID as a string, not a number. Example: \"53475949216112\"."},"qty":{"type":"integer","minimum":1,"description":"Quantity for this line item. The alias key quantity is also accepted."}},"required":["variant_id","qty"]}},"journey_id":{"type":"string"},"result_set_id":{"type":"string"},"selected_sku":{"type":"string"},"selected_handle":{"type":"string"},"match_type":{"type":"string"}},"required":["destination_postal_code","country","items"]}},{"name":"inventory_status","description":"Live inventory exploration for one or more catalog variants. Returns total quantity, available-for-sale state, warehouse-level quantities where available, and a plain-language fulfillment summary.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"variant_ids":{"type":"array","items":{"type":"string"},"minItems":1},"sku":{"type":"string","description":"Packrift SKU such as 1066."},"handle":{"type":"string","description":"Packrift product handle."},"quantity":{"type":"integer","minimum":1,"default":1}}}},{"name":"pack_calculator","description":"Exploration tool for item dimensions and weight. Calculates required inside dimensions, ranks Packrift box/mailer candidates, and gives void-fill guidance before live price/inventory confirmation.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"item_length_in":{"type":"number","minimum":0.1},"item_width_in":{"type":"number","minimum":0.1},"item_depth_in":{"type":"number","minimum":0.1},"item_weight_lb":{"type":"number","minimum":0,"default":0},"padding_in":{"type":"number","minimum":0,"maximum":6,"default":0.5},"use_case":{"type":"string","enum":["auto","box","mailer","fragile","apparel","ecommerce"],"default":"auto"},"limit":{"type":"integer","minimum":1,"maximum":8,"default":5}},"required":["item_length_in","item_width_in","item_depth_in"]}},{"name":"prepare_purchase_handoff","description":"Two-step exact-SKU purchase prep. Call first with sku, quantity, and buyer_confirmed=false to confirm the product, live price, and live stock in one call. After the buyer approves, call again with buyer_confirmed=true to receive the tracked checkout handoff URL. It never places an order.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"sku":{"type":"string","description":"Exact Packrift SKU such as 1066, MFL1295, or LL251WR."},"quantity":{"type":"integer","minimum":1,"default":1,"description":"Buyer-selected quantity. Defaults to 1."},"buyer_confirmed":{"type":"boolean","default":false,"description":"Set true only after the buyer confirms the exact SKU and quantity. Without this, no cart URL is created."},"source_context":{"type":"string","description":"Optional short context label for the handoff, such as exact_sku_reorder or quote_followup."},"journey_id":{"type":"string","description":"Optional continuity ID echoed from an earlier search or pricing result in this conversation."},"result_set_id":{"type":"string","description":"Optional continuity ID echoed from the result set the buyer chose from."}},"required":["sku"]}},{"name":"search_products","description":"Search Packrift by category, SKU, or the exact dimensions of the packaging the buyer wants. Explicit dimension tuples and pack counts must match; different sizes are not exact substitutes. Returns live price, stock and product URL. When the buyer describes an item's dimensions and needs packaging that fits around it, use find_packaging_for_item instead.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","description":"Free-text search; matches title, vendor, type, tags."},"limit":{"type":"integer","minimum":1,"maximum":50,"default":10}},"required":["query"]}}],"scan":{"score":79,"grade":"B","scanned_at":"2026-09-24T12:03:16.255Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T12:03:16.291Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 923ms"]},"poisoning":{"score":15,"max":15,"notes":["15 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 2 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://mcp.packrift.com/mcp","reachable":true,"authRequired":false,"latencyMs":923,"serverInfo":{"name":"Packrift MCP","version":"0.3.0"}}],"packages":[],"repo":{"found":true,"owner":"Packrift","repo":"packrift-mcp","archived":false,"pushedAt":"2026-09-24T00:11:52Z","stars":2,"forks":1,"openIssues":1,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/280552754?v=4","ownerCreatedAt":"2026-04-30T00:26:45Z","license":"MIT"},"icon":{"url":"https://mcp.packrift.com/favicon.png","source":"site","width":400,"height":400},"presence":{"stars":2,"forks":1,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-24T00:11:52.000Z","score":28}}}},"grade_history":[],"reviews":[]}