{"_id":"@den.dance/shopify-mcp-pro","_rev":"6-c09554de90803509bdb72fb7e780b35d","name":"@den.dance/shopify-mcp-pro","dist-tags":{"latest":"2.0.5"},"versions":{"2.0.0":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.0","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"url":"https://den.dance/","name":"Denis Maleev"},"license":"MIT","_id":"@den.dance/shopify-mcp-pro@2.0.0","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"homepage":"https://den.dance/","bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"a959212da4746f780bcb26fe1e7abe71a63195c0","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.0.tgz","fileCount":15,"integrity":"sha512-33KtGMCQRAlPc3V1giJ4ucY2KOafvqaiIDDg2f++PbBdrg1mngMKZxdGn95XB5QN3Syk+3Ck9DRMucoInCqu9g==","signatures":[{"sig":"MEYCIQDJafml1TNzp6JY7c6AxmFNLH5NhHx9NiJPrhsmfyLLxQIhAImaCXClV2c7yeK5vZ2yYc/6/Mv4x4vmDiYE/BMXtjIf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218056},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f477759554fe0c0a08355b5f2d7b02313d1c9c53","scripts":{"start":"node build/index.js"},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"_npmVersion":"10.9.4","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","directories":{},"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","@shopify/shopify-api":"^13.0.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-pro_2.0.0_1779306520404_0.25353697295324307","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.1","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"url":"https://den.dance/","name":"Denis Maleev"},"license":"MIT","_id":"@den.dance/shopify-mcp-pro@2.0.1","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"homepage":"https://den.dance/","bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"3772d55c1e8c7f791cdbd241c361019acfe8430d","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.1.tgz","fileCount":15,"integrity":"sha512-tQeCXAnAfkZ70PfGOi8A3c2YSPOO2JJ32QPlVIvi7wOFaRq6Q1P9NRQcz/ksloD45hvPGM0U3DVcX1VViMe59Q==","signatures":[{"sig":"MEUCIHJs2wPxtbn1t34wYB1SAXf5CdRIeFI6bU4sqVybX7ZzAiEAiR23ciEbjdEP8n7YnAm6mPAOFvyCstCmzGXcGtUTXWE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":217907},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"f477759554fe0c0a08355b5f2d7b02313d1c9c53","scripts":{"start":"node build/index.js"},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"_npmVersion":"10.9.4","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","directories":{},"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","@shopify/shopify-api":"^13.0.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-pro_2.0.1_1779306860387_0.7604320073837822","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.2","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"url":"https://den.dance/","name":"Denis Maleev"},"license":"MIT","_id":"@den.dance/shopify-mcp-pro@2.0.2","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"homepage":"https://den.dance/","bugs":{"url":"https://github.com/den-indance/shopify-mcp-pro/issues"},"bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"eccc4902540f49e2893656b354eee70f887125c8","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.2.tgz","fileCount":15,"integrity":"sha512-ben21FAxHMcZRwexFOFerwobvKXSb5xB478I9VHqpwv0fZB2TDVmAUZl715kEPgtt1o7RjyJz++xOhcRHJLPcA==","signatures":[{"sig":"MEUCIHjWgZptsVZhPRWFXKSMJMD728bhN2PaIsjmkXfsLjE9AiEA7dntau5atAM5f6UNuRvF2Z9at/kdlRcsQMpkoDKC/EU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218115},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"8a902bb17662a904c6fa8176c2ca664cc6a76fe2","scripts":{"start":"node build/index.js"},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"repository":{"url":"git+https://github.com/den-indance/shopify-mcp-pro.git","type":"git"},"_npmVersion":"10.9.4","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","directories":{},"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","@shopify/shopify-api":"^13.0.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-pro_2.0.2_1779308627650_0.1985607353859158","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.3","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"url":"https://den.dance/","name":"Denys Malieiev"},"license":"MIT","_id":"@den.dance/shopify-mcp-pro@2.0.3","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"homepage":"https://den.dance/","bugs":{"url":"https://github.com/den-indance/shopify-mcp-pro/issues"},"bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"3d4cfe67c4c50cb4fb961cef97e58271bd9bf25d","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.3.tgz","fileCount":15,"integrity":"sha512-ADAsFlCxUBWfQbv2fsHEashl8/oPOKKaxPNB45N0mzwpMf0uvUTDsTXLEVLRZ+U0wNKptHh5QDHtd2qX7qu2+Q==","signatures":[{"sig":"MEYCIQDV6d9A+RkRwWUTaxC8ZQwgyuqmsbbduG+Lqv3aSCd8FAIhAJvLlav7MrI+SfE1+KYD973GgJ39R6du60zZMnsikPHf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218203},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"a9e02e2ab7a752b9da5b88aeba496f89b5d39e19","scripts":{"start":"node build/index.js"},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"repository":{"url":"git+https://github.com/den-indance/shopify-mcp-pro.git","type":"git"},"_npmVersion":"10.9.4","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","directories":{},"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","@shopify/shopify-api":"^13.0.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-pro_2.0.3_1779313928283_0.12686084121624996","host":"s3://npm-registry-packages-npm-production"}},"2.0.4":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.4","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"url":"https://den.dance/","name":"Denys Malieiev"},"license":"MIT","_id":"@den.dance/shopify-mcp-pro@2.0.4","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"homepage":"https://den.dance/","bugs":{"url":"https://github.com/den-indance/shopify-mcp-pro/issues"},"bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"f93cff3b6781dbe129574976932cc134be584421","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.4.tgz","fileCount":15,"integrity":"sha512-Xc+/88D4pxGnCGqhJ3E6FC/GQxmgGKSjbloDXi1vKba7KyHScJ39gYjBCrgbjQBI83/N9ujPEKpA5OPNjQ2ZAw==","signatures":[{"sig":"MEYCIQCDtDU37apfvHgV8SV0zvt8BsL99/w7lxyyks2VI9OuMgIhAKiTo+auG6DYrU96bEBE9IAhsIINcCApZ7dzUm0W/Bl6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218253},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"bae6442302dc7a8e284f45aabf07006dad4f2bbd","mcpName":"io.github.den-indance/shopify-mcp-pro","scripts":{"start":"node build/index.js"},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"repository":{"url":"git+https://github.com/den-indance/shopify-mcp-pro.git","type":"git"},"_npmVersion":"10.9.4","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","directories":{},"_nodeVersion":"22.21.0","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","@shopify/shopify-api":"^13.0.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13","@types/express":"^4.17.21"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-pro_2.0.4_1779315068279_0.7381676435722042","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@den.dance/shopify-mcp-pro","version":"2.0.5","description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","type":"module","main":"./build/index.js","bin":{"shopify-mcp-server":"build/index.js"},"scripts":{"start":"node build/index.js","test":"vitest run"},"keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"author":{"name":"Denys Malieiev","url":"https://den.dance/"},"license":"MIT","homepage":"https://den.dance/","engines":{"node":">=18.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.15.1","@shopify/shopify-api":"^13.0.0","content-type":"^1.0.5","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","zod":"^3.25.76"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^24.0.13","typescript":"^5.8.3","vitest":"^2.1.8"},"repository":{"type":"git","url":"git+https://github.com/den-indance/shopify-mcp-pro.git"},"bugs":{"url":"https://github.com/den-indance/shopify-mcp-pro/issues"},"mcpName":"io.github.den-indance/shopify-mcp-pro","_id":"@den.dance/shopify-mcp-pro@2.0.5","gitHead":"d3d45b834ef8fc96aa174a59eec3eee4f473d816","types":"./build/index.d.ts","_nodeVersion":"22.21.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-4GVX2v0jVOcyQsUr0NzG3NwaGJVNCUW4dsrToUHN3HqbIhJaFB98srdHUybr13ZMc3E39/87gbPZqAZkMe+HGg==","shasum":"2bbfc5bfba69a5586d2bb09d4d9aec819f1cac0c","tarball":"https://registry.npmjs.org/@den.dance/shopify-mcp-pro/-/shopify-mcp-pro-2.0.5.tgz","fileCount":15,"unpackedSize":218910,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDvANiCWADkUs4QCO53J65/IVTJf9qdG1DGiNjw/Rb6bAIhAKiIZDrgxBcaWpyjqPoereQcD/h+MB5ejBzKBeplGTIO"}]},"_npmUser":{"name":"den.dance","email":"denismaleev95@gmail.com"},"directories":{},"maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shopify-mcp-pro_2.0.5_1779433507422_0.5526842786343025"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-20T19:48:40.220Z","modified":"2026-05-22T07:05:07.690Z","2.0.0":"2026-05-20T19:48:40.551Z","2.0.1":"2026-05-20T19:54:20.528Z","2.0.2":"2026-05-20T20:23:47.794Z","2.0.3":"2026-05-20T21:52:08.431Z","2.0.4":"2026-05-20T22:11:08.443Z","2.0.5":"2026-05-22T07:05:07.592Z"},"bugs":{"url":"https://github.com/den-indance/shopify-mcp-pro/issues"},"author":{"name":"Denys Malieiev","url":"https://den.dance/"},"license":"MIT","homepage":"https://den.dance/","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol","shopify-admin","shopifyql"],"repository":{"type":"git","url":"git+https://github.com/den-indance/shopify-mcp-pro.git"},"description":"The working Shopify MCP server — fixed analytics, auto-refresh auth, ShopifyQL support, Shopify API 2026-04","maintainers":[{"name":"den.dance","email":"denismaleev95@gmail.com"}],"readme":"# Shopify MCP Pro\n\n[![npm](https://img.shields.io/npm/v/@den.dance/shopify-mcp-pro)](https://www.npmjs.com/package/@den.dance/shopify-mcp-pro)\n[![smithery badge](https://smithery.ai/badge/den-indance/shopify-mcp-pro)](https://smithery.ai/servers/den-indance/shopify-mcp-pro)\n\nThe working Shopify MCP server. Connect Claude to your Shopify store — products, orders, customers, inventory, analytics and more.\n\nMost Shopify MCP packages have broken analytics (stubs that return wrong data), use deprecated API fields that crash at runtime, and require a static token that expires silently. This one doesn't.\n\nBuilt by [Denis Maleev](https://den.dance/).\n\n---\n\n## Why this one\n\n| What's fixed | Detail |\n|---|---|\n| Analytics tools were stubs | `getSalesReport`, `getConversionReport`, `getTrafficReport` now powered by ShopifyQL — real data |\n| Auth that actually works | Uses Client ID + Secret from Shopify Dev Dashboard, tokens refresh automatically — no silent expiry |\n| Deprecated API fields | `getInventoryLevels`, `listAbandonedCheckouts` updated to Shopify 2026-04 field schema |\n| Runtime crashes | `getShippingZones` no longer crashes on stores with no delivery profiles |\n| New: `runShopifyQL` | Run any ShopifyQL query directly — same data as Admin → Analytics |\n| Shopify Admin API | `2026-04` (current GA) + `@shopify/shopify-api` v13 |\n\n---\n\n## Quick Start\n\n```bash\nnpx @den.dance/shopify-mcp-pro\n```\n\n---\n\n## Setup\n\n### 1. Create a Custom App in Shopify\n\n1. Go to your Shopify Admin → **Settings → Apps and sales channels**\n2. Click **Develop apps** (enable custom app development if prompted)\n3. Click **Create an app**, give it a name (e.g. \"Claude MCP\")\n4. Go to **Configure Admin API scopes** and select scopes you need (see list below)\n5. Click **Install app**\n6. Go to **API credentials** tab — you'll see **Client ID** and **Client secret**\n\n> Note: Shopify no longer shows a static access token by default. This server uses OAuth with Client ID + Secret.\n\n### 2. Configure Claude Desktop\n\nEdit your Claude Desktop config file:\n- **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- **Linux**: `~/.config/Claude/claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"shopify\": {\n      \"command\": \"npx\",\n      \"args\": [\"@den.dance/shopify-mcp-pro\"],\n      \"env\": {\n        \"SHOPIFY_STORE_DOMAIN\": \"your-store.myshopify.com\",\n        \"SHOPIFY_CLIENT_ID\": \"your-client-id\",\n        \"SHOPIFY_CLIENT_SECRET\": \"your-client-secret\",\n        \"SHOPIFY_API_VERSION\": \"2026-04\",\n        \"SHOPIFY_LOG_LEVEL\": \"WARNING\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop after saving.\n\n### Configure Claude Code\n\n```bash\nclaude mcp add shopify -e SHOPIFY_STORE_DOMAIN=your-store.myshopify.com \\\n  -e SHOPIFY_CLIENT_ID=your-client-id \\\n  -e SHOPIFY_CLIENT_SECRET=your-client-secret \\\n  -- npx @den.dance/shopify-mcp-pro\n```\n\n---\n\n## Environment Variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `SHOPIFY_STORE_DOMAIN` | Yes | e.g. `my-store.myshopify.com` |\n| `SHOPIFY_CLIENT_ID` | Yes | From Shopify Dev Dashboard |\n| `SHOPIFY_CLIENT_SECRET` | Yes | From Shopify Dev Dashboard |\n| `SHOPIFY_API_VERSION` | No | Defaults to `2026-04` |\n| `SHOPIFY_LOG_LEVEL` | No | `error`, `warning`, `info`, `debug` (default: `warning`) |\n| `TRANSPORT_MODE` | No | `stdio` (default) or `sse` |\n| `PORT` | No | HTTP port for SSE mode (default: `3000`) |\n\n---\n\n## API Scopes\n\n### Minimum recommended\n- `read_products`, `write_products`\n- `read_orders`\n- `read_customers`\n- `read_inventory`, `write_inventory`\n\n### For analytics\n- `read_analytics`\n- `read_reports`\n\n### Full feature set\n- `read_draft_orders`, `write_draft_orders`\n- `read_fulfillments`, `write_fulfillments`\n- `read_shipping`\n- `read_marketing_events`, `write_marketing_events`\n- `read_discounts`, `write_discounts`\n- `read_price_rules`, `write_price_rules`\n- `read_themes`\n- `read_content`, `write_content`\n- `read_metaobjects`, `write_metaobjects`\n- `read_gift_cards`, `write_gift_cards`\n\nYou don't need all scopes — the server works with whatever you grant. Tools requiring missing scopes return auth errors without affecting others.\n\n---\n\n## Tools\n\n### Products & Inventory\n- `listProducts` — list with filters, pagination, sort\n- `getProduct` — get by ID (includes inventory item IDs)\n- `createProduct`, `updateProduct`\n- `getInventoryLevels` — current stock across locations\n- `adjustInventory` — adjust quantities\n- `listCollections`\n- `setMetafield`\n- `listMetaobjectDefinitions`, `createMetaobject`, `listMetaobjects`\n\n### Orders & Fulfillment\n- `listOrders`, `getOrder`\n- `createDraftOrder`, `listDraftOrders`\n- `createFulfillment`, `listFulfillmentOrders`\n- `getShippingZones`\n- `createRefund`\n- `listTransactions`\n\n### Customers & B2B\n- `listCustomers`, `getCustomer`\n- `getCustomerAnalytics`\n- `createCompany`, `listCompanies`\n\n### Financial\n- `getFinancialSummary`\n- `createGiftCard`, `listGiftCards`\n\n### Marketing & Content\n- `createDiscountCode`, `listDiscounts`\n- `listPriceRules`\n- `createPage`, `listPages`\n- `createArticle`, `listBlogs`\n- `createRedirect`\n- `createWebhook`, `listWebhooks`\n\n### Analytics & Reporting\n- `getSalesReport` — revenue, orders, AOV (ShopifyQL)\n- `getProductAnalytics` — top products by sales (ShopifyQL)\n- `getConversionReport` — product conversion funnel (ShopifyQL)\n- `getTrafficReport` — sales by referrer source (ShopifyQL)\n- `getAbandonmentReport` — cart abandonment by date range\n- `listAbandonedCheckouts`\n- `getMarketingReport`\n- `getCustomerAnalytics`\n- `runShopifyQL` — run any ShopifyQL query directly\n\n### Store Config\n- `getShopInfo`\n- `listThemes`\n- `listLocations`\n- `listMarkets`\n- `getInventoryReport`\n- `getCustomReport`\n\n---\n\n## ShopifyQL\n\n`runShopifyQL` lets you run raw ShopifyQL queries — Shopify's native SQL-like analytics language:\n\n```\nFROM sales SHOW total_sales, gross_sales, total_orders SINCE '2026-01-01' UNTIL '2026-05-19'\nFROM products SHOW total_sales BY product_title ORDER BY total_sales DESC LIMIT 10\nFROM sessions SHOW sessions BY referrer_source\n```\n\nRequires `read_reports` scope + Level 2 customer data access in your Shopify app settings.\n\n---\n\n## Example prompts for Claude\n\n- \"Show sales for last month broken down by product\"\n- \"Which products have less than 10 units in stock?\"\n- \"Create a 20% discount code valid until end of month\"\n- \"List abandoned checkouts from the past week\"\n- \"Run a ShopifyQL query: FROM sales SHOW total_orders SINCE -30d\"\n- \"Get customer lifetime value metrics\"\n- \"Show top 10 products by revenue this year\"\n\n---\n\n## SSE Mode\n\nFor HTTP-based access or cloud deployment:\n\n```bash\nTRANSPORT_MODE=sse \\\nSHOPIFY_STORE_DOMAIN=your-store.myshopify.com \\\nSHOPIFY_CLIENT_ID=your-client-id \\\nSHOPIFY_CLIENT_SECRET=your-client-secret \\\nPORT=3000 \\\nnpx @den.dance/shopify-mcp-pro\n```\n\nEndpoints:\n- `GET /sse` — SSE stream\n- `POST /messages?sessionId={id}` — send messages\n- `GET /health` — health check\n\nConfigure Claude Desktop for remote SSE:\n\n```json\n{\n  \"mcpServers\": {\n    \"shopify-remote\": {\n      \"transport\": {\n        \"type\": \"sse\",\n        \"url\": \"https://your-server.com/sse\"\n      }\n    }\n  }\n}\n```\n\n---\n\n## Security\n\n- Never commit credentials to version control\n- Use environment variables for all secrets\n- Create separate apps with minimal scopes for different use cases\n- Regularly rotate your Client Secret\n\n---\n\n## License\n\nMIT","readmeFilename":"README.md"}