# Packrift MCP Adoption Kit

Release: PACKRIFT-MCP-ADOPTION-KIT-R11
Generated: 2026-05-20T23:16:25.615Z
Canonical endpoint: https://mcp.packrift.com/mcp

## Purpose

Help developers, agents, marketplaces, and AI-commerce workflows install Packrift MCP, run a useful first test, and understand when to use exact-spec product search, live price and inventory, no-match recovery, and cart handoff.

## Install

```json
{
  "mcpServers": {
    "packrift": {
      "type": "http",
      "url": "https://mcp.packrift.com/mcp"
    }
  }
}
```

Stdio bridge for hosts without remote HTTP support:

```json
{
  "mcpServers": {
    "packrift": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.packrift.com/mcp"
      ]
    }
  }
}
```

Stdio command: `npx -y mcp-remote https://mcp.packrift.com/mcp`

Claude Code: `claude mcp add --transport http packrift https://mcp.packrift.com/mcp`

Codex: `codex mcp add packrift --url https://mcp.packrift.com/mcp`

Start page: https://mcp.packrift.com/start

Reviewer activation runner: https://mcp.packrift.com/r/activate/generic?format=html

Glama connector: https://glama.ai/mcp/connectors/io.github.Packrift/packrift-mcp

Install matrix: https://mcp.packrift.com/ai/mcp-install-matrix.json

Activation wave: https://mcp.packrift.com/ai/mcp-activation-wave.html

External activation brief: https://mcp.packrift.com/ai/mcp-external-activation-brief.html
Selected task feed JSONL: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.jsonl
Selected task feed CSV: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.csv
Guarded selected-runner: https://mcp.packrift.com/ai/mcp-external-activation-brief-runner.sh

## Developer Share Pack

Copy one source-specific row into a directory, marketplace, partner handoff, or agent-host review so installs and first useful runs preserve attribution.

Use these links to drive real MCP host usage through the existing hosted endpoint. Do not count generated resource fetches, sitemap crawls, or Packrift self-checks as completed source activation.

Selected external task JSONL: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.jsonl
Selected external task CSV: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.csv
Selected external runner: https://mcp.packrift.com/ai/mcp-external-activation-brief-runner.sh

Use the selected task feed only for real external MCP host or reviewer runs. Packrift self-runs, crawlers, and resource fetches are not adoption proof.

| Source | Target | Start | Config | Install | First-run shell | Activation runner | Packet |
| --- | --- | --- | --- | --- | --- | --- | --- |
| generic | generic_streamable_http | https://mcp.packrift.com/r/start/generic | https://mcp.packrift.com/r/config/generic?utm_source=generic&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/generic/generic_streamable_http?utm_source=generic&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/generic/generic_streamable_http?utm_source=generic&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/generic?format=html | https://mcp.packrift.com/ai/mcp-source-activation/generic.json |
| cline_mcp_marketplace | cline | https://mcp.packrift.com/r/start/cline_mcp_marketplace | https://mcp.packrift.com/r/config/cline_mcp_marketplace?utm_source=cline_mcp_marketplace&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/cline_mcp_marketplace/generic_streamable_http?utm_source=cline_mcp_marketplace&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/cline_mcp_marketplace/cline?utm_source=cline_mcp_marketplace&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=cline&format=sh | https://mcp.packrift.com/r/activate/cline_mcp_marketplace?format=html | https://mcp.packrift.com/ai/mcp-source-activation/cline_mcp_marketplace.json |
| glama_connector | generic_streamable_http | https://mcp.packrift.com/r/start/glama_connector | https://mcp.packrift.com/r/config/glama_connector?utm_source=glama_connector&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/glama_connector/generic_streamable_http?utm_source=glama_connector&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/glama_connector/generic_streamable_http?utm_source=glama_connector&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/glama_connector?format=html | https://mcp.packrift.com/ai/mcp-source-activation/glama_connector.json |
| mcp_marketplace_io | generic_streamable_http | https://mcp.packrift.com/r/start/mcp_marketplace_io | https://mcp.packrift.com/r/config/mcp_marketplace_io?utm_source=mcp_marketplace_io&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/mcp_marketplace_io/generic_streamable_http?utm_source=mcp_marketplace_io&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/mcp_marketplace_io/generic_streamable_http?utm_source=mcp_marketplace_io&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/mcp_marketplace_io?format=html | https://mcp.packrift.com/ai/mcp-source-activation/mcp_marketplace_io.json |
| official_registry | generic_streamable_http | https://mcp.packrift.com/r/start/official_registry | https://mcp.packrift.com/r/config/official_registry?utm_source=official_registry&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/official_registry/generic_streamable_http?utm_source=official_registry&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/official_registry/generic_streamable_http?utm_source=official_registry&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/official_registry?format=html | https://mcp.packrift.com/ai/mcp-source-activation/official_registry.json |
| mcpcentral | generic_streamable_http | https://mcp.packrift.com/r/start/mcpcentral | https://mcp.packrift.com/r/config/mcpcentral?utm_source=mcpcentral&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/mcpcentral/generic_streamable_http?utm_source=mcpcentral&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/mcpcentral/generic_streamable_http?utm_source=mcpcentral&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/mcpcentral?format=html | https://mcp.packrift.com/ai/mcp-source-activation/mcpcentral.json |
| mcp_so | generic_streamable_http | https://mcp.packrift.com/r/start/mcp_so | https://mcp.packrift.com/r/config/mcp_so?utm_source=mcp_so&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/mcp_so/generic_streamable_http?utm_source=mcp_so&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/mcp_so/generic_streamable_http?utm_source=mcp_so&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/mcp_so?format=html | https://mcp.packrift.com/ai/mcp-source-activation/mcp_so.json |
| browse_sh | generic_streamable_http | https://mcp.packrift.com/r/start/browse_sh | https://mcp.packrift.com/r/config/browse_sh?utm_source=browse_sh&utm_medium=adoption_kit_config&utm_campaign=packrift_mcp_activation&utm_content=developer_share_pack | https://mcp.packrift.com/r/install/browse_sh/generic_streamable_http?utm_source=browse_sh&utm_medium=install_action&utm_campaign=packrift_mcp_install&utm_content=generic_streamable_http | https://mcp.packrift.com/r/run/browse_sh/generic_streamable_http?utm_source=browse_sh&utm_medium=first_run_action&utm_campaign=packrift_mcp_activation&utm_content=generic_streamable_http&format=sh | https://mcp.packrift.com/r/activate/browse_sh?format=html | https://mcp.packrift.com/ai/mcp-source-activation/browse_sh.json |

## First Five Minutes

### 1. List available tools

Confirm the endpoint is reachable and exposes the current Packrift commerce surface.

```json
{
  "jsonrpc": "2.0",
  "id": "tools",
  "method": "tools/list"
}
```

### 2. List prompts

Find native exact-spec, reorder, cart candidate, no-match, and procurement-spec workflows.

```json
{
  "jsonrpc": "2.0",
  "id": "prompts",
  "method": "prompts/list"
}
```

### 3. Use one-call exact-SKU prep

For known SKUs, confirm product, live price, and inventory in one call while withholding cart URL until buyer_confirmed is true.

```json
{
  "jsonrpc": "2.0",
  "id": "prepare-1066",
  "method": "tools/call",
  "params": {
    "name": "prepare_purchase_handoff",
    "arguments": {
      "sku": "1066",
      "quantity": 1,
      "buyer_confirmed": false,
      "source_context": "adoption_kit_demo"
    }
  }
}
```

### 4. Get a ready exact-SKU cart candidate

Start with a conversion-proven SKU that already has safe create_cart_url arguments.

```json
{
  "jsonrpc": "2.0",
  "id": "candidate-1066",
  "method": "tools/call",
  "params": {
    "name": "get_cart_handoff_candidates",
    "arguments": {
      "sku": "1066",
      "limit": 1
    }
  }
}
```

### 5. Confirm live price

Do not show price-dependent handoff until live pricing is checked.

```json
{
  "jsonrpc": "2.0",
  "id": "price-1066",
  "method": "tools/call",
  "params": {
    "name": "get_pricing",
    "arguments": {
      "variant_ids": [
        "53472879935856"
      ],
      "quantity": 1
    }
  }
}
```

### 6. Confirm live inventory

Do not show a cart or checkout path for an unavailable exact SKU.

```json
{
  "jsonrpc": "2.0",
  "id": "inventory-1066",
  "method": "tools/call",
  "params": {
    "name": "check_inventory",
    "arguments": {
      "variant_ids": [
        "53472879935856"
      ]
    }
  }
}
```

### 7. Create measured cart handoff only after confirmation

Return an MCP cart landing URL with attribution and exact SKU continuity.

```json
{
  "jsonrpc": "2.0",
  "id": "cart-1066",
  "method": "tools/call",
  "params": {
    "name": "create_cart_url",
    "arguments": {
      "sku": "1066",
      "quantity": 1,
      "selected_sku": "1066",
      "selected_handle": "10x6x6-ect-32-kraft-long-corrugated-boxes-25-bundle",
      "match_type": "adoption_kit_demo",
      "source_context": "exact_spec_ai_agent",
      "journey_id": "mcp_1066_53472879935856",
      "result_set_id": "mcp_adoption_kit",
      "utm_term": "1066"
    }
  }
}
```

## Developer Examples

### List tools with curl

Confirm the hosted Packrift MCP endpoint is reachable before wiring an agent.

```sh
curl -sS https://mcp.packrift.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":"tools","method":"tools/list"}'
```

### Fetch a measured cart candidate with curl

Get one AI-approved SKU candidate whose cart handoff starts with the MCP measured landing URL.

```sh
curl -sS https://mcp.packrift.com/mcp \
  -H 'content-type: application/json' \
  -H 'accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":"candidate-1066","method":"tools/call","params":{"name":"get_cart_handoff_candidates","arguments":{"sku":"1066","limit":1}}}'
```

### Run the first useful flow in JavaScript

Use fetch to call tools/list, get a cart candidate, and inspect live-check requirements.

```js
const endpoint = "https://mcp.packrift.com/mcp";

async function parseMcpPayload(response) {
  const text = await response.text();
  try {
    return JSON.parse(text);
  } catch {}
  const dataLines = text
    .split("\n")
    .map((line) => line.trim())
    .filter((line) => line.startsWith("data:"))
    .map((line) => line.slice(5).trim())
    .filter(Boolean);
  for (let index = dataLines.length - 1; index >= 0; index -= 1) {
    try {
      return JSON.parse(dataLines[index]);
    } catch {}
  }
  throw new Error("Packrift MCP response was not JSON or event-stream JSON");
}

async function rpc(id, method, params) {
  const response = await fetch(endpoint, {
    method: "POST",
    headers: {
      "content-type": "application/json",
      "accept": "application/json, text/event-stream"
    },
    body: JSON.stringify({ jsonrpc: "2.0", id, method, ...(params ? { params } : {}) }),
  });
  const payload = await parseMcpPayload(response);
  if (payload.error) throw new Error(payload.error.message);
  return payload.result;
}

const tools = await rpc("tools", "tools/list");
const candidate = await rpc("candidate-1066", "tools/call", {
  name: "get_cart_handoff_candidates",
  arguments: { sku: "1066", limit: 1 },
});

console.log(tools.tools.length);
console.log(candidate.content?.[0]?.text ?? candidate);
```

### Run the first useful flow in Python

Use Python's standard library to call the hosted MCP endpoint without installing a Packrift package.

```python
import json
import urllib.request

ENDPOINT = "https://mcp.packrift.com/mcp"

def parse_mcp_payload(raw):
    text = raw.decode("utf-8")
    try:
        return json.loads(text)
    except json.JSONDecodeError:
        pass
    data_lines = [
        line[len("data:"):].strip()
        for line in text.splitlines()
        if line.strip().startswith("data:")
    ]
    for line in reversed(data_lines):
        try:
            return json.loads(line)
        except json.JSONDecodeError:
            continue
    raise RuntimeError("Packrift MCP response was not JSON or event-stream JSON")

def rpc(id, method, params=None):
    body = {"jsonrpc": "2.0", "id": id, "method": method}
    if params:
        body["params"] = params
    request = urllib.request.Request(
        ENDPOINT,
        data=json.dumps(body).encode("utf-8"),
        headers={
            "content-type": "application/json",
            "accept": "application/json, text/event-stream",
            "user-agent": "Packrift-MCP-Example/1.0",
        },
        method="POST",
    )
    with urllib.request.urlopen(request, timeout=20) as response:
        payload = parse_mcp_payload(response.read())
    if payload.get("error"):
        raise RuntimeError(payload["error"]["message"])
    return payload["result"]

print(len(rpc("tools", "tools/list")["tools"]))
print(rpc("candidate-1066", "tools/call", {
    "name": "get_cart_handoff_candidates",
    "arguments": {"sku": "1066", "limit": 1},
}))
```

## Expected First Flow Outcomes

- tools/list returns at least 15 tools, including prepare_purchase_handoff for one-call exact-SKU live confirmation and guarded cart handoff.
- prepare_purchase_handoff with buyer_confirmed=false returns live confirmation and cart null.
- get_cart_handoff_candidates returns AI_APPROVE SKU 1066 when requested exactly.
- Cart candidates expose an MCP measured landing URL under https://mcp.packrift.com/r/cart/ before the final Shopify cart URL.
- Agents must call get_product, get_pricing, and check_inventory before presenting create_cart_url output to a buyer.
- Directory reviewers can use https://mcp.packrift.com/r/activate/generic?format=html to run the real MCP sequence in a browser.
- Developers and reviewers can use developer_share_pack.shareable_source_links to preserve source attribution from start/config/install through first useful run and activation proof.
- External agent hosts can use developer_share_pack.external_activation_selected_tasks_jsonl or .csv to pick the current contact-ready source runs that close the material tool-call gap.
- Stdio-only hosts can use npx mcp-remote as a thin bridge to the hosted endpoint; this is not a Packrift CLI.

## Useful Workflows

| Workflow | Prompt | Best tools |
| --- | --- | --- |
| Exact SKU reorder | Reorder Packrift SKU 1066. Confirm product, live price, inventory, and then prepare a cart handoff for quantity 1. | `prepare_purchase_handoff`, `get_cart_handoff_candidates`, `get_product`, `get_pricing`, `check_inventory`, `create_cart_url` |
| Find packaging for an item | Find packaging for a 9 x 4 x 3 inch item that weighs 2 lb and needs ecommerce shipping protection. | `find_packaging_for_item`, `pack_calculator`, `compare_alternatives`, `get_pricing`, `check_inventory` |
| Procurement-safe no-match | The buyer asked for 10 x 6 x 8 ECT-32 kraft boxes. If Packrift has no exact AI-approved match, explain no exact match and route to quote recovery. | `search_products`, `explain_no_exact_match`, `get_bulk_quote_link` |
| Copy a procurement line item | Create a procurement-ready line item for Packrift SKU LL251WR with exact SKU, product URL, case count, price check, and reorder path. | `get_product`, `get_pricing`, `check_inventory`, `get_reorder_link` |

## Demo SKUs

| SKU | Product | Variant ID | Use case |
| --- | --- | --- | --- |
| 1066 | 10x6x6 ECT-32 Kraft Long Corrugated Boxes - 25 Bundle | 53472879935856 | Exact corrugated box reorder and cart handoff. |
| MFL1295 | 12 1/8 x 9 1/4 x 5 White Corrugated Literature Mailer - Self-Seal, 50 Pack | 53472994427248 | Exact literature mailer lookup for ecommerce fulfillment. |
| LL251WR | 2 5/8 x 1 Weather-Resistant Polyester Laser Labels - 3000/Case | 53475925492080 | Exact label spec lookup with live price and stock confirmation. |

## Rules

- Use https://mcp.packrift.com/mcp as the canonical endpoint.
- Do not build or promote a duplicate Packrift CLI; use only thin wrappers around the hosted MCP endpoint when needed.
- Use the mcp-remote bridge only for hosts that cannot connect to remote HTTP directly.
- Use only AI_APPROVE exact matches for purchase handoff.
- Confirm live price, inventory, shipping, and cart eligibility before presenting cart or checkout actions.
- Use the reviewer activation browser runner when a marketplace, directory, or agent host needs to turn proof interest into a real create_cart_url call.
- Use the eval pack when a host or directory needs acceptance-test cases with expected assertions.
- Use the source activation queue to prioritize the next external source that needs a real MCP run, measured cart landing, or order.
- Use the activation wave when the material tool-call gate is open; it packages the next source-aware real host runs without creating a duplicate CLI or buyer surface.
- Use the selected external activation task feed when a reviewer or automation platform needs the smallest contact-ready source set; count only real external MCP host runs.
- If any required spec differs, return no exact match and route to bulk quote recovery.

## Proof URLs

- health: https://mcp.packrift.com/health
- mcp_start: https://mcp.packrift.com/ai/mcp-start.json
- manifest: https://mcp.packrift.com/manifest
- server_card: https://mcp.packrift.com/.well-known/mcp/server-card.json
- all_agent_capture: https://mcp.packrift.com/ai/all-agent-capture.json
- install_matrix: https://mcp.packrift.com/ai/mcp-install-matrix.json
- usage_snapshot: https://mcp.packrift.com/ai/mcp-usage-snapshot.json
- source_activation_queue: https://mcp.packrift.com/ai/mcp-source-activation-queue.json
- buyer_use_cases: https://mcp.packrift.com/ai/mcp-buyer-use-cases.json
- cart_activation: https://mcp.packrift.com/ai/mcp-cart-activation.json
- first_run_proof: https://mcp.packrift.com/ai/mcp-first-run-proof.json
- reviewer_activation: https://mcp.packrift.com/ai/mcp-reviewer-activation.json
- reviewer_activation_runner_generic: https://mcp.packrift.com/r/activate/generic?format=html
- workflow_gallery: https://mcp.packrift.com/ai/mcp-workflow-gallery.json
- eval_pack: https://mcp.packrift.com/ai/mcp-eval-pack.json
- browser_agent_bridge: https://mcp.packrift.com/ai/browser-agent-bridge.json
- root_skill_md: https://mcp.packrift.com/SKILL.md
- directory_refresh: https://mcp.packrift.com/ai/mcp-directory-refresh.json
- directory_submit_actions: https://mcp.packrift.com/ai/mcp-directory-submit-actions.json
- agent_capture_outreach: https://mcp.packrift.com/ai/agent-capture-outreach.json
- agent_host_rollout: https://mcp.packrift.com/ai/mcp-agent-host-rollout.json
- agent_host_rollout_tasks_jsonl: https://mcp.packrift.com/ai/mcp-agent-host-rollout-tasks.jsonl
- agent_host_rollout_tasks_csv: https://mcp.packrift.com/ai/mcp-agent-host-rollout-tasks.csv
- activation_wave: https://mcp.packrift.com/ai/mcp-activation-wave.json
- activation_wave_html: https://mcp.packrift.com/ai/mcp-activation-wave.html
- external_activation_brief: https://mcp.packrift.com/ai/mcp-external-activation-brief.json
- external_activation_brief_html: https://mcp.packrift.com/ai/mcp-external-activation-brief.html
- external_activation_selected_tasks_jsonl: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.jsonl
- external_activation_selected_tasks_csv: https://mcp.packrift.com/ai/mcp-external-activation-brief-tasks.csv
- external_activation_selected_runner_shell: https://mcp.packrift.com/ai/mcp-external-activation-brief-runner.sh
- cart_handoff_candidates: https://mcp.packrift.com/ai/mcp-cart-handoff-candidates.json
- measured_handoffs: https://mcp.packrift.com/ai/measured-handoffs.json
- product_corpus: https://mcp.packrift.com/ai/packrift-ai-approved-products.jsonl
- llms_txt: https://mcp.packrift.com/llms.txt
- llms_full: https://mcp.packrift.com/llms-full.txt

Machine-readable version: https://mcp.packrift.com/ai/mcp-adoption-kit.json
