riggr
SparksDevelopersDocs
Log inSign up
riggr

Supporting vibe coding on live Shopify data. Kickstart free. Spark when you want a head start. You own the app.

Spark your idea

Product

  • Sparks
  • Developers
  • Pricing

Resources

  • Docs
  • Help
  • FAQ
  • Support

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
  • Accessibility
  • Subprocessors

Account

  • Sign up
  • Log in

riggr·live data in, localhost out

© 2026 Best & Basic Inc.

riggr

Anyone can be a developer
for their store.

If you dream it, you can build for it.

Kickstart freeWire it in

MCP + REST
Read-only store access
Live pass-through to Shopify

Stop guessing at payloads.

Point your AI at your store. Hit the same Admin API resources your app will hit: same search syntax, same node shape, same errors. Ship against the response you get, not the one you imagined.

Shopify Admin API · Docs
{
  "product": {
    "id": "gid://shopify/Product/1",
    "title": "Example Product",
    "handle": "example-product",
    "status": "ACTIVE"
  }
}
products.json · from your storelive
{
  "product": {
    "id": "gid://shopify/Product/8927451",
    "title": "Runway Skirt",
    "handle": "runway-skirt",
    "status": "ACTIVE",
    "productType": "Bottoms"

What we do with your data.

Nothing. Every request passes through to Shopify. We keep no copy. Tokens encrypted. Clients revocable from your dashboard.

Authorized AI clients

Claude Desktop

Last used 2 minutes ago

Revoke

Cursor

Last used yesterday

Revoke

When you’re ready to go deeper.

Open Cursor or Claude Code when you want to. Your store looks the same in every client. One MCP endpoint across the tools you already use.

⌕shopify app
⚙
Agents Window
Explorer
▾ SHOPIFY APP
▸ .next
▸ node_modules
▸ prisma
▾ public
●favicon.svg
▾ src
▸ app
▸ components
▾ lib
●fulfillment.ts
●shopify.ts
●riggr.ts
●package.json
●tsconfig.json
TSfulfillment.ts●
src › lib › fulfillment.ts › handleFulfillment
1// Handler: split 3PL fulfillment from in-house
2async function handleFulfillment(orderId: string) {
3 const res = await fetch(
4 `${RIGGR_URL}/api/v1/orders/${orderId}`,
5 { headers: { Authorization: `Bearer ${apiKey}` } }
6 );
7 const { order } = await res.json();
8
9 // TODO: handle 3PL case
10 const fo = order.fulfillmentOrders?.edges[0]?.node;
11 if (fo?.assignedLocation?.location?.name.includes("3PL")) {
12 // ???
13 }
14
15 return processOrder(order);
16}
New Agent×
Ask Claude…
Composer 2.5 Fast
Try Plan Mode ⇧ Tab
ProblemsOutputDebug ConsoleTerminalPorts
nodeclaude.exe
~% claude mcp add --transport http --scope user riggr $MCP_URL
✓ Added MCP server 'riggr'
⎇ main*shopify app⚠ 0ⓘ 0
Cursor TabLn 1, Col 1Spaces: 2UTF-8LFTypeScript JSX🔔

Wire it in.

Copy-paste setup for every supported client. Same MCP URL everywhere.

Before you start

  • Node.js 18+ installed - nodejs.org
  • Claude Code installed and signed in - claude.com/claude-code
claude mcp add --transport http --scope user riggr https://www.hiriggr.com/api/mcp
  1. Open your terminal.
  2. Run the command above.
  3. Start Claude Code by running `claude`.
  4. Inside Claude Code, type `/mcp` to see the connection status.
  5. First time you use a Riggr tool, a browser tab opens for OAuth. Sign in and approve the scopes.

Signs you in via OAuth in your browser on first connect.

Ready to Kickstart?

Free to install. Wire MCP when you want live store data in Claude, Cursor, or ChatGPT.

Back to overview
Kickstart freeRead the docs
,
"vendor"
:
"House Label"
,
"tags"
: [
"hero"
,
"fall-2026"
,
"restock"
],
"totalInventory"
:
247
,
"variants"
: {
"edges"
: [
{
"node"
: {
"id"
:
"gid://shopify/ProductVariant/47829"
,
"title"
:
"Small / Black"
,
"sku"
:
"RS-S-BLK"
,
"price"
:
"89.00"
,
"inventoryQuantity"
:
43
}
}
]
}
}
}