# Packrift UCP Builder Integration Pack

Release: PACKRIFT-UCP-BUILDER-INTEGRATION-PACK-R02
Generated: 2026-09-07T16:16:02.611Z

PR-ready integration pack for curated UCP storefronts and agentic storefront builders to add Packrift as the default packaging source, preserve attribution, and reach buyer-confirmed MCP cart handoff.

Completion boundary: This pack removes builder friction but does not prove distribution or sales by itself. Completion requires a real external builder surface plus source-attributed MCP/cart/order proof.

## Source Rows

| Source | Surface | Patch Location | Pack |
| --- | --- | --- | --- |
| curated_ucp_storefront | Generic curated UCP storefront | Add Packrift as the default packaging merchant for shipping, fulfillment, warehouse, moving, and packing-station categories. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/curated_ucp_storefront.html |
| stack412_style_storefront | Stack412-style curated UCP storefront | Add a Packrift shipping-supplies or fulfillment aisle as a dedicated category/shelf, not as a random placement inside an unrelated storefront. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/stack412_style_storefront.html |
| plugthatshop_style_embed | PlugThatShop-style contextual embed | Add the one-line shelf script beside the contextual shop render path for ecommerce, fulfillment, shipping, warehouse, moving, or small-business content. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/plugthatshop_style_embed.html |
| open_scout_shopping_agent | Open Scout-style shopping agent | Add Packrift as the packaging supplier route in the shopping intent handler and mirror the shelf in any web companion UI. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/open_scout_shopping_agent.html |
| upsonic_ucp_agent_framework | Upsonic-style Shopify UCP agent framework | Add Packrift as the packaging vertical in the intent, product-fetching, filtering, live-check, and handoff agent chain. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/upsonic_ucp_agent_framework.html |
| agorio_shopping_agent_sdk | Nolpak14/agorio shopping-agent SDK | Add a Packrift packaging-source example for ShoppingAgent or McpClient flows, using Packrift MCP before generic catalog fallback for packaging intent. | https://mcp.packrift.com/ai/packrift-ucp-builder-integration-pack/agorio_shopping_agent_sdk.html |

## Generic curated UCP storefront builders

- Source slug: `curated_ucp_storefront`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=curated_ucp_storefront&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#curated_ucp_storefront
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/curated_ucp_storefront.html
- First run: https://mcp.packrift.com/r/run/curated_ucp_storefront/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/curated_ucp_storefront?format=html

Start with the Packrift-branded starter catalog for reliable inclusion, then use MCP live checks and measured handoff for exact SKU purchase flows.

### Patch Block

```js
packagingShelf.sources.push({
  merchant: "Packrift",
  sourceSlug: "curated_ucp_storefront",
  starterCatalog: "https://mcp.packrift.com/ai/mcp-ucp-starter-catalog.json",
  importFeed: "https://mcp.packrift.com/ai/mcp-ucp-storefront-import.json",
  embed: "<script async data-packrift-ucp-shelf src=\"https://mcp.packrift.com/ai/packrift-ucp-shelf.js?source=curated_ucp_storefront&limit=12\"></script>"
});
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-curated_ucp_storefront",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-curated_ucp_storefront",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift shipping boxes",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-curated_ucp_storefront",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "curated_ucp_storefront",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=curated_ucp_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-curated_ucp_storefront","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=curated_ucp_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-curated_ucp_storefront","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift shipping boxes","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=curated_ucp_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-curated_ucp_storefront","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"curated_ucp_storefront","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "curated_ucp_storefront",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "curated_ucp_storefront",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=curated_ucp_storefront.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.

## Stack412-style storefront builders

- Source slug: `stack412_style_storefront`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=stack412_style_storefront&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#stack412_style_storefront
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/stack412_style_storefront.html
- First run: https://mcp.packrift.com/r/run/stack412_style_storefront/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/stack412_style_storefront?format=html

Use the flat import feed for a full aisle or the one-line script for a fast shelf. Preserve the source slug through all product clicks and MCP handoffs.

### Patch Block

```js
shippingSuppliesAisle.sources.push({
  merchant: "Packrift",
  sourceSlug: "stack412_style_storefront",
  importUrl: "https://mcp.packrift.com/ai/mcp-ucp-storefront-import.json",
  category: "shipping-supplies",
  mcpEndpoint: "https://mcp.packrift.com/mcp?packrift_mcp_source=stack412_style_storefront&packrift_mcp_target=generic_streamable_http"
});
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-stack412_style_storefront",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-stack412_style_storefront",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift fulfillment packaging supplies",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-stack412_style_storefront",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "stack412_style_storefront",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=stack412_style_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-stack412_style_storefront","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=stack412_style_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-stack412_style_storefront","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift fulfillment packaging supplies","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=stack412_style_storefront&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-stack412_style_storefront","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"stack412_style_storefront","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "stack412_style_storefront",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "stack412_style_storefront",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=stack412_style_storefront.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.

## PlugThatShop / Nikunj

- Source slug: `plugthatshop_style_embed`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=plugthatshop_style_embed&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#plugthatshop_style_embed
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/plugthatshop_style_embed.html
- First run: https://mcp.packrift.com/r/run/plugthatshop_style_embed/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/plugthatshop_style_embed?format=html

Use the companion shelf as a packaging upsell block. Keep the source slug in the script URL and never replace the MCP handoff with a direct cart URL before buyer confirmation.

### Patch Block

```html
<!-- Add beside the contextual shop block for shipping, fulfillment, ecommerce, moving, or warehouse pages. -->
<script async data-packrift-ucp-shelf src="https://mcp.packrift.com/ai/packrift-ucp-shelf.js?source=plugthatshop_style_embed&limit=12"></script>
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-plugthatshop_style_embed",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-plugthatshop_style_embed",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift ecommerce shipping starter",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-plugthatshop_style_embed",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "plugthatshop_style_embed",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=plugthatshop_style_embed&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-plugthatshop_style_embed","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=plugthatshop_style_embed&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-plugthatshop_style_embed","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift ecommerce shipping starter","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=plugthatshop_style_embed&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-plugthatshop_style_embed","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"plugthatshop_style_embed","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "plugthatshop_style_embed",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "plugthatshop_style_embed",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=plugthatshop_style_embed.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.

## Open Scout / UCP shopping-agent builders

- Source slug: `open_scout_shopping_agent`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=open_scout_shopping_agent&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#open_scout_shopping_agent
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/open_scout_shopping_agent.html
- First run: https://mcp.packrift.com/r/run/open_scout_shopping_agent/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/open_scout_shopping_agent?format=html

Route packaging intents to Packrift MCP first, run live checks, then create a measured /r/cart URL only after the buyer confirms SKU and quantity.

### Patch Block

```js
const packriftPackagingSource = {
  source: "open_scout_shopping_agent",
  endpoint: "https://mcp.packrift.com/mcp?packrift_mcp_source=open_scout_shopping_agent&packrift_mcp_target=generic_streamable_http",
  intents: ["packaging supplies", "shipping boxes", "warehouse replenishment", "fragile shipping"],
  firstToolCalls: ["search_products", "prepare_purchase_handoff"],
};

// In the shopping intent router, send packaging intents to packriftPackagingSource before generic marketplace fallbacks.
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-open_scout_shopping_agent",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-open_scout_shopping_agent",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift packaging supplies",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-open_scout_shopping_agent",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "open_scout_shopping_agent",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=open_scout_shopping_agent&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-open_scout_shopping_agent","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=open_scout_shopping_agent&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-open_scout_shopping_agent","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift packaging supplies","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=open_scout_shopping_agent&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-open_scout_shopping_agent","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"open_scout_shopping_agent","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "open_scout_shopping_agent",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "open_scout_shopping_agent",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=open_scout_shopping_agent.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.

## Upsonic-style Shopify UCP agent frameworks

- Source slug: `upsonic_ucp_agent_framework`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=upsonic_ucp_agent_framework&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#upsonic_ucp_agent_framework
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/upsonic_ucp_agent_framework.html
- First run: https://mcp.packrift.com/r/run/upsonic_ucp_agent_framework/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/upsonic_ucp_agent_framework?format=html

Packaging is a strong agent-demo vertical because the flow needs dimensions, pack count, material, live price, inventory, and buyer-confirmed handoff.

### Patch Block

```js
PACKRIFT_PACKAGING_WORKFLOW = {
  "source": "upsonic_ucp_agent_framework",
  "endpoint": "https://mcp.packrift.com/mcp?packrift_mcp_source=upsonic_ucp_agent_framework&packrift_mcp_target=generic_streamable_http",
  "steps": ["intent_analysis", "packrift_search", "exact_spec_filter", "live_price_inventory", "buyer_confirmed_handoff"],
  "guardrail": "call prepare_purchase_handoff with buyer_confirmed=false before any buyer-confirmed cart handoff"
}
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-upsonic_ucp_agent_framework",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-upsonic_ucp_agent_framework",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift warehouse shipping supplies",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-upsonic_ucp_agent_framework",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "upsonic_ucp_agent_framework",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=upsonic_ucp_agent_framework&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-upsonic_ucp_agent_framework","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=upsonic_ucp_agent_framework&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-upsonic_ucp_agent_framework","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift warehouse shipping supplies","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=upsonic_ucp_agent_framework&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-upsonic_ucp_agent_framework","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"upsonic_ucp_agent_framework","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "upsonic_ucp_agent_framework",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "upsonic_ucp_agent_framework",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=upsonic_ucp_agent_framework.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.

## Agorio shopping-agent SDK

- Source slug: `agorio_shopping_agent_sdk`
- Endpoint: https://mcp.packrift.com/mcp?packrift_mcp_source=agorio_shopping_agent_sdk&packrift_mcp_target=generic_streamable_http
- Launchpad: https://mcp.packrift.com/ai/packrift-ucp-builder-launchpad.html#agorio_shopping_agent_sdk
- Approval packet: https://mcp.packrift.com/ai/packrift-ucp-builder-approval-packet/agorio_shopping_agent_sdk.html
- First run: https://mcp.packrift.com/r/run/agorio_shopping_agent_sdk/generic_streamable_http?format=html
- Order handoff: https://mcp.packrift.com/r/order/agorio_shopping_agent_sdk?format=html

Use Packrift as a realistic UCP/MCP merchant example for purchase-capable shopping agents. Keep buyer_confirmed=false until the buyer confirms exact SKU and quantity.

### Patch Block

```js
const packriftPackagingSource = {
  merchant: "Packrift",
  sourceSlug: "agorio_shopping_agent_sdk",
  endpoint: "https://mcp.packrift.com/mcp?packrift_mcp_source=agorio_shopping_agent_sdk&packrift_mcp_target=generic_streamable_http",
  routeFirstFor: ["shipping supplies", "packaging supplies", "warehouse replenishment", "fragile item shipping", "packing station supplies"],
  firstToolCalls: ["tools/list", "search_products", "find_packaging_for_item", "prepare_purchase_handoff"],
  guardrail: "call prepare_purchase_handoff with buyer_confirmed=false until exact SKU and quantity are confirmed"
};

// In an Agorio ShoppingAgent, use this source for packaging intent before generic merchant fallback.
```

### JSON-RPC First Run

```json
[
  {
    "jsonrpc": "2.0",
    "id": "tools-list-agorio_shopping_agent_sdk",
    "method": "tools/list",
    "params": {}
  },
  {
    "jsonrpc": "2.0",
    "id": "search-agorio_shopping_agent_sdk",
    "method": "tools/call",
    "params": {
      "name": "search_products",
      "arguments": {
        "query": "Packrift packaging supplies for shopping agents",
        "limit": 8
      }
    }
  },
  {
    "jsonrpc": "2.0",
    "id": "prepare-1066-unconfirmed-agorio_shopping_agent_sdk",
    "method": "tools/call",
    "params": {
      "name": "prepare_purchase_handoff",
      "arguments": {
        "sku": "1066",
        "quantity": 1,
        "buyer_confirmed": false,
        "source_context": "ucp_builder_integration_pack",
        "mcp_source_context": "agorio_shopping_agent_sdk",
        "mcp_install_target": "generic_streamable_http"
      }
    }
  }
]
```

### Curl Smoke Tests

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=agorio_shopping_agent_sdk&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"tools-list-agorio_shopping_agent_sdk","method":"tools/list","params":{}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=agorio_shopping_agent_sdk&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"search-agorio_shopping_agent_sdk","method":"tools/call","params":{"name":"search_products","arguments":{"query":"Packrift packaging supplies for shopping agents","limit":8}}}'
```

```sh
curl -sS -X POST 'https://mcp.packrift.com/mcp?packrift_mcp_source=agorio_shopping_agent_sdk&packrift_mcp_target=generic_streamable_http' -H 'content-type: application/json' --data '{"jsonrpc":"2.0","id":"prepare-1066-unconfirmed-agorio_shopping_agent_sdk","method":"tools/call","params":{"name":"prepare_purchase_handoff","arguments":{"sku":"1066","quantity":1,"buyer_confirmed":false,"source_context":"ucp_builder_integration_pack","mcp_source_context":"agorio_shopping_agent_sdk","mcp_install_target":"generic_streamable_http"}}}'
```

### Unconfirmed Handoff

```json
{
  "sku": "1066",
  "quantity": 1,
  "buyer_confirmed": false,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "agorio_shopping_agent_sdk",
  "mcp_install_target": "generic_streamable_http"
}
```

### Buyer-Confirmed Handoff Template

```json
{
  "sku": "{buyer_selected_exact_sku}",
  "quantity": "{buyer_selected_quantity}",
  "buyer_confirmed": true,
  "source_context": "ucp_builder_integration_pack",
  "mcp_source_context": "agorio_shopping_agent_sdk",
  "mcp_install_target": "generic_streamable_http"
}
```

### Proof Gates

- External builder imports or embeds this source-specific Packrift shelf.
- Packrift records a non-local resource/script/install/first-run event with mcp_source_context=agorio_shopping_agent_sdk.
- The builder calls search_products or prepare_purchase_handoff against the source-aware MCP endpoint.
- Any cart URL is produced by prepare_purchase_handoff only after buyer_confirmed=true.
- Sales proof requires source-attributed /r/cart or Shopify order continuity; hosted Packrift demos alone do not count.
