AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Shopify Mcp Pro

mcp-den-indance-shopify-mcp-pro · by den-indance

Working Shopify MCP server for agent fixed analytics (ShopifyQL), auto-refresh auth, Shopify API 2026-04. Drop-in replacement for broken Shopify MCP packages.

No reviews yet
0 installs
44 views
0.0% view→install

Install

$ agentstack add mcp-den-indance-shopify-mcp-pro

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-den-indance-shopify-mcp-pro)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Shopify Mcp Pro? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Shopify MCP Pro

[](https://www.npmjs.com/package/@den.dance/shopify-mcp-pro) [](https://smithery.ai/servers/den-indance/shopify-mcp-pro)

The working Shopify MCP server. Connect Claude to your Shopify store — products, orders, customers, inventory, analytics and more.

Most 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.

Built by Denis Maleev.


Why this one

| What's fixed | Detail | |---|---| | Analytics tools were stubs | getSalesReport, getConversionReport, getTrafficReport now powered by ShopifyQL — real data | | Auth that actually works | Uses Client ID + Secret from Shopify Dev Dashboard, tokens refresh automatically — no silent expiry | | Deprecated API fields | getInventoryLevels, listAbandonedCheckouts updated to Shopify 2026-04 field schema | | Runtime crashes | getShippingZones no longer crashes on stores with no delivery profiles | | New: runShopifyQL | Run any ShopifyQL query directly — same data as Admin → Analytics | | Shopify Admin API | 2026-04 (current GA) + @shopify/shopify-api v13 |


Quick Start

npx @den.dance/shopify-mcp-pro

Setup

1. Create a Custom App in Shopify

  1. Go to your Shopify Admin → Settings → Apps and sales channels
  2. Click Develop apps (enable custom app development if prompted)
  3. Click Create an app, give it a name (e.g. "Claude MCP")
  4. Go to Configure Admin API scopes and select scopes you need (see list below)
  5. Click Install app
  6. Go to API credentials tab — you'll see Client ID and Client secret

> Note: Shopify no longer shows a static access token by default. This server uses OAuth with Client ID + Secret.

2. Configure Claude Desktop

Edit your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "shopify": {
      "command": "npx",
      "args": ["@den.dance/shopify-mcp-pro"],
      "env": {
        "SHOPIFY_STORE_DOMAIN": "your-store.myshopify.com",
        "SHOPIFY_CLIENT_ID": "your-client-id",
        "SHOPIFY_CLIENT_SECRET": "your-client-secret",
        "SHOPIFY_API_VERSION": "2026-04",
        "SHOPIFY_LOG_LEVEL": "WARNING"
      }
    }
  }
}

Restart Claude Desktop after saving.

Configure Claude Code

claude mcp add shopify -e SHOPIFY_STORE_DOMAIN=your-store.myshopify.com \
  -e SHOPIFY_CLIENT_ID=your-client-id \
  -e SHOPIFY_CLIENT_SECRET=your-client-secret \
  -- npx @den.dance/shopify-mcp-pro

Environment Variables

| Variable | Required | Description | |---|---|---| | SHOPIFY_STORE_DOMAIN | Yes | e.g. my-store.myshopify.com | | SHOPIFY_CLIENT_ID | Yes | From Shopify Dev Dashboard | | SHOPIFY_CLIENT_SECRET | Yes | From Shopify Dev Dashboard | | SHOPIFY_API_VERSION | No | Defaults to 2026-04 | | SHOPIFY_LOG_LEVEL | No | error, warning, info, debug (default: warning) | | TRANSPORT_MODE | No | stdio (default) or sse | | PORT | No | HTTP port for SSE mode (default: 3000) |


API Scopes

Minimum recommended

  • read_products, write_products
  • read_orders
  • read_customers
  • read_inventory, write_inventory

For analytics

  • read_analytics
  • read_reports

Full feature set

  • read_draft_orders, write_draft_orders
  • read_fulfillments, write_fulfillments
  • read_shipping
  • read_marketing_events, write_marketing_events
  • read_discounts, write_discounts
  • read_price_rules, write_price_rules
  • read_themes
  • read_content, write_content
  • read_metaobjects, write_metaobjects
  • read_gift_cards, write_gift_cards

You don't need all scopes — the server works with whatever you grant. Tools requiring missing scopes return auth errors without affecting others.


Tools

Products & Inventory

  • listProducts — list with filters, pagination, sort
  • getProduct — get by ID (includes inventory item IDs)
  • createProduct, updateProduct
  • getInventoryLevels — current stock across locations
  • adjustInventory — adjust quantities
  • listCollections
  • setMetafield
  • listMetaobjectDefinitions, createMetaobject, listMetaobjects

Orders & Fulfillment

  • listOrders, getOrder
  • createDraftOrder, listDraftOrders
  • createFulfillment, listFulfillmentOrders
  • getShippingZones
  • createRefund
  • listTransactions

Customers & B2B

  • listCustomers, getCustomer
  • getCustomerAnalytics
  • createCompany, listCompanies

Financial

  • getFinancialSummary
  • createGiftCard, listGiftCards

Marketing & Content

  • createDiscountCode, listDiscounts
  • listPriceRules
  • createPage, listPages
  • createArticle, listBlogs
  • createRedirect
  • createWebhook, listWebhooks

Analytics & Reporting

  • getSalesReport — revenue, orders, AOV (ShopifyQL)
  • getProductAnalytics — top products by sales (ShopifyQL)
  • getConversionReport — product conversion funnel (ShopifyQL)
  • getTrafficReport — sales by referrer source (ShopifyQL)
  • getAbandonmentReport — cart abandonment by date range
  • listAbandonedCheckouts
  • getMarketingReport
  • getCustomerAnalytics
  • runShopifyQL — run any ShopifyQL query directly

Store Config

  • getShopInfo
  • listThemes
  • listLocations
  • listMarkets
  • getInventoryReport
  • getCustomReport

ShopifyQL

runShopifyQL lets you run raw ShopifyQL queries — Shopify's native SQL-like analytics language:

FROM sales SHOW total_sales, gross_sales, total_orders SINCE '2026-01-01' UNTIL '2026-05-19'
FROM products SHOW total_sales BY product_title ORDER BY total_sales DESC LIMIT 10
FROM sessions SHOW sessions BY referrer_source

Requires read_reports scope + Level 2 customer data access in your Shopify app settings.


Example prompts for Claude

  • "Show sales for last month broken down by product"
  • "Which products have less than 10 units in stock?"
  • "Create a 20% discount code valid until end of month"
  • "List abandoned checkouts from the past week"
  • "Run a ShopifyQL query: FROM sales SHOW total_orders SINCE -30d"
  • "Get customer lifetime value metrics"
  • "Show top 10 products by revenue this year"

SSE Mode

For HTTP-based access or cloud deployment:

TRANSPORT_MODE=sse \
SHOPIFY_STORE_DOMAIN=your-store.myshopify.com \
SHOPIFY_CLIENT_ID=your-client-id \
SHOPIFY_CLIENT_SECRET=your-client-secret \
PORT=3000 \
npx @den.dance/shopify-mcp-pro

Endpoints:

  • GET /sse — SSE stream
  • POST /messages?sessionId={id} — send messages
  • GET /health — health check

Configure Claude Desktop for remote SSE:

{
  "mcpServers": {
    "shopify-remote": {
      "transport": {
        "type": "sse",
        "url": "https://your-server.com/sse"
      }
    }
  }
}

Security

  • Never commit credentials to version control
  • Use environment variables for all secrets
  • Create separate apps with minimal scopes for different use cases
  • Regularly rotate your Client Secret

License

MIT

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.