{"_id":"@ajackus/shopify-mcp-server","_rev":"3-65f9d2fa5f43a879b0b281b62a2b3370","name":"@ajackus/shopify-mcp-server","dist-tags":{"latest":"1.1.0"},"versions":{"0.1.0":{"name":"@ajackus/shopify-mcp-server","version":"0.1.0","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol"],"author":{"name":"Ajackus"},"license":"MIT","_id":"@ajackus/shopify-mcp-server@0.1.0","maintainers":[{"name":"ajackus","email":"developer@ajackus.com"}],"homepage":"https://github.com/ajackus/shopify-mcp-server#readme","bugs":{"url":"https://github.com/ajackus/shopify-mcp-server/issues"},"bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"ca298424fb4f35d25f597024c02baafe4970af93","tarball":"https://registry.npmjs.org/@ajackus/shopify-mcp-server/-/shopify-mcp-server-0.1.0.tgz","fileCount":15,"integrity":"sha512-zWKOHebUEjqCYhTuF+YTkOSFWcy6Np/IJk5VnwgnNiVmMyNEpHpdyJvcdf50i/nRnckk2wg7zNN+jDltc5OuxQ==","signatures":[{"sig":"MEYCIQDGZQBklVGl2yfTSobRELzaVp5xv9vIsTXWapusMabuYwIhAKNhXugxIudAPHtcLOHDJhXTgkNzC45JIaekiMiW8ns/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78375},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"6cfc6ef6e93fb879ab9fc5bb1910f848106da37c","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajackus","actor":{"name":"ajackus","type":"user","email":"developer@ajackus.com"},"email":"developer@ajackus.com"},"repository":{"url":"git+https://github.com/ajackus/shopify-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Model Context Protocol server for Shopify API integration - use with Claude Desktop","directories":{},"_nodeVersion":"20.19.2","dependencies":{"zod":"^3.25.76","dotenv":"^17.2.0","@shopify/shopify-api":"^11.13.0","@modelcontextprotocol/sdk":"^1.15.1"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.8.3","@types/node":"^24.0.13"},"_npmOperationalInternal":{"tmp":"tmp/shopify-mcp-server_0.1.0_1752181117350_0.549623466885466","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ajackus/shopify-mcp-server","version":"1.0.0","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol"],"author":{"name":"Ajackus"},"license":"MIT","_id":"@ajackus/shopify-mcp-server@1.0.0","maintainers":[{"name":"ajackus","email":"developer@ajackus.com"}],"homepage":"https://github.com/ajackus/shopify-mcp-server#readme","bugs":{"url":"https://github.com/ajackus/shopify-mcp-server/issues"},"bin":{"shopify-mcp-server":"build/index.js"},"dist":{"shasum":"17c43d19ab234a1d15453a7dafc93ee0e09925b3","tarball":"https://registry.npmjs.org/@ajackus/shopify-mcp-server/-/shopify-mcp-server-1.0.0.tgz","fileCount":15,"integrity":"sha512-2gEH3tFhk5nziaRkr854xnw8meh67E4YFGpSySVXNCbg7h4UigId4FKSo6qGLFvSiUGilcF/1biNSdyZtDd5dw==","signatures":[{"sig":"MEYCIQDjCoWLcjh6EKwPtElsV0o9Y64O2VVUNrGVDV3jKetHHwIhALsS54oG7vQRyrJ9e/JqJZcguEYrfq6j/iF8BuJ296rs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":212732},"main":"./build/index.js","type":"module","types":"./build/index.d.ts","engines":{"node":">=18.0.0"},"gitHead":"33eeecd0bc78dd99102ec30a2adb281391fce7bc","scripts":{"dev":"tsc --watch","build":"tsc && chmod +x build/index.js","start":"node build/index.js","prepublishOnly":"npm run build"},"_npmUser":{"name":"ajackus","actor":{"name":"ajackus","type":"user","email":"developer@ajackus.com"},"email":"developer@ajackus.com"},"repository":{"url":"git+https://github.com/ajackus/shopify-mcp-server.git","type":"git"},"_npmVersion":"10.8.2","description":"Complete Model Context Protocol server for Shopify Admin API - 70+ tools for store management, analytics, and automation","directories":{},"_nodeVersion":"20.19.2","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":"^11.13.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-server_1.0.0_1752183228308_0.2032123095697287","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ajackus/shopify-mcp-server","version":"1.1.0","description":"Complete Model Context Protocol server for Shopify Admin API - 70+ tools for store management, analytics, and automation","type":"module","main":"./build/index.js","bin":{"shopify-mcp-server":"build/index.js"},"scripts":{"build":"tsc && chmod +x build/index.js","dev":"tsc --watch","start":"node build/index.js","prepublishOnly":"npm run build"},"keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol"],"author":{"name":"Ajackus"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/ajackus/shopify-mcp-server.git"},"bugs":{"url":"https://github.com/ajackus/shopify-mcp-server/issues"},"homepage":"https://github.com/ajackus/shopify-mcp-server#readme","engines":{"node":">=18.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.15.1","@shopify/shopify-api":"^11.13.0","dotenv":"^17.2.0","express":"^4.18.2","raw-body":"^2.5.2","content-type":"^1.0.5","zod":"^3.25.76"},"devDependencies":{"@types/express":"^4.17.21","@types/node":"^24.0.13","typescript":"^5.8.3"},"_id":"@ajackus/shopify-mcp-server@1.1.0","gitHead":"dc5f7b8c32617219e52e273bc647dd38814fa580","types":"./build/index.d.ts","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-RxVqLvZZcEXRlekpyQf3fHcczuzQCZFLbtreW0QHI7VrfTUH5FzLj8Ee9kFKDPgVC1WuW5MJT+JqrY3ckteUjQ==","shasum":"c2e1bacaa24994419e03682f534e11771330e43c","tarball":"https://registry.npmjs.org/@ajackus/shopify-mcp-server/-/shopify-mcp-server-1.1.0.tgz","fileCount":15,"unpackedSize":215728,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD5tD4E3Sbp+zGcmvUUdjInuANQLfnKv/EIjXB4q6qzuwIgKftwi28/oSsV5B4UT62PB8tpa9HN1XOD602wUba9SnM="}]},"_npmUser":{"name":"ajackus","email":"developer@ajackus.com"},"directories":{},"maintainers":[{"name":"ajackus","email":"developer@ajackus.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shopify-mcp-server_1.1.0_1752184274645_0.933814461792605"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-10T20:58:36.675Z","modified":"2025-07-10T21:51:14.979Z","0.1.0":"2025-07-10T20:58:37.526Z","1.0.0":"2025-07-10T21:33:48.496Z","1.1.0":"2025-07-10T21:51:14.815Z"},"bugs":{"url":"https://github.com/ajackus/shopify-mcp-server/issues"},"author":{"name":"Ajackus"},"license":"MIT","homepage":"https://github.com/ajackus/shopify-mcp-server#readme","keywords":["mcp","shopify","api","claude","ai","llm","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/ajackus/shopify-mcp-server.git"},"description":"Complete Model Context Protocol server for Shopify Admin API - 70+ tools for store management, analytics, and automation","maintainers":[{"name":"ajackus","email":"developer@ajackus.com"}],"readme":"# Shopify MCP Server\n\nA Model Context Protocol (MCP) server that enables Claude Desktop to interact with Shopify stores. Access products, orders, customers, inventory, and more through a secure API connection.\n\n## Quick Start\n\n### Installation\n\nYou can run this server directly using npx:\n\n```bash\nnpx @ajackus/shopify-mcp-server\n```\n\nOr install globally:\n\n```bash\nnpm install -g @ajackus/shopify-mcp-server\n```\n\n### Configuration\n\n#### 1. Create a Custom App in Shopify\n\n1. **Access App Development:**\n   - Log in to your Shopify admin panel\n   - Navigate to Settings → Apps and sales channels\n   - Click \"Develop apps\" (you may need to enable custom app development first)\n\n2. **Create the App:**\n   - Click \"Create an app\"\n   - Give your app a name (e.g., \"MCP Server Integration\")\n   - Select the app developer (usually yourself)\n\n3. **Configure API Scopes:**\n   - Click on \"Configure Admin API scopes\"\n   - Select the scopes based on your needs:\n     - **Minimum recommended**: Products (read/write), Orders (read), Customers (read), Inventory (read/write)\n     - **For analytics**: Add Analytics (read), Reports (read)\n     - **For marketing**: Add Discounts (read/write), Marketing events (read/write)\n     - **For content**: Add Online Store pages (read/write), Themes (read)\n   - Save your configuration\n\n4. **Install the App:**\n   - After configuring scopes, click \"Install app\"\n   - Confirm the installation\n\n5. **Get Your Access Token:**\n   - Once installed, go to \"API credentials\" tab\n   - Under \"Admin API access token\", click \"Reveal token once\"\n   - **Important**: Copy this token immediately - you can only see it once!\n   - Keep your access token secure and never commit it to version control\n\n#### 2. Configure Claude Desktop\n\n   Edit 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   Add the Shopify server configuration:\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"shopify\": {\n         \"command\": \"npx\",\n         \"args\": [\"@ajackus/shopify-mcp-server\"],\n         \"env\": {\n           \"SHOPIFY_STORE_DOMAIN\": \"your-store.myshopify.com\",\n           \"SHOPIFY_ACCESS_TOKEN\": \"shpat_your_access_token_here\",\n           \"SHOPIFY_LOG_LEVEL\": \"warning\"\n         }\n       }\n     }\n   }\n   ```\n\n3. **Restart Claude Desktop** to apply the changes\n\n## Features\n\nThis MCP server provides comprehensive access to the Shopify Admin API with 70+ tools covering all major store operations.\n\n### Core Commerce Tools\n\n#### Products & Inventory\n- **Products**: List, get, create, update products with full variant support\n- **Inventory**: Track levels, adjust quantities, get forecasting data\n- **Collections**: Browse and manage product collections\n- **Metafields**: Set custom data on any resource\n- **Metaobjects**: Create and manage custom data structures (GraphQL exclusive)\n\n#### Orders & Fulfillment\n- **Orders**: List and retrieve order details\n- **Draft Orders**: Create and manage draft orders\n- **Fulfillment**: Create fulfillments, manage fulfillment orders\n- **Shipping**: Get shipping zones, rates, and carrier services\n\n#### Customers & B2B\n- **Customers**: List, retrieve, and analyze customer data\n- **Companies**: Manage B2B companies and contacts\n- **Customer Analytics**: Behavior tracking, lifetime value, retention metrics\n\n### Financial Tools\n- **Transactions**: View order transactions and payment details\n- **Refunds**: Process full or partial refunds\n- **Gift Cards**: Create and manage gift cards\n- **Financial Reports**: Revenue, expenses, profit summaries\n\n### Marketing & Content\n- **Discounts**: Create discount codes and automatic discounts\n- **Price Rules**: Manage complex pricing strategies\n- **Pages & Blogs**: Create and manage content pages and blog articles\n- **URL Redirects**: Set up URL redirects for SEO\n- **Marketing Reports**: Campaign performance and ROI tracking\n\n### Analytics & Reporting\n\n#### Sales Analytics\n- **Sales Reports**: Comprehensive sales data with customizable granularity\n- **Product Analytics**: Best sellers, conversion rates, performance metrics\n- **Financial Summary**: Revenue, taxes, shipping, refunds breakdown\n- **Custom Reports**: Build reports with specific metrics and dimensions\n\n#### Customer Analytics\n- **Customer Reports**: New vs returning, average order value, lifetime value\n- **Abandonment Reports**: Cart and checkout abandonment analytics\n- **Retention Metrics**: Churn rate, retention rate analysis\n\n#### Traffic & Conversion\n- **Traffic Reports**: Sessions, visitors, bounce rate, page views\n- **Conversion Funnel**: Track customer journey from visit to purchase\n- **Marketing Attribution**: Channel performance and ROI\n\n### Store Configuration\n- **Themes**: List installed themes\n- **Webhooks**: Create and manage webhook subscriptions\n- **Markets**: Configure international markets and currencies\n- **Locations**: Manage store and warehouse locations\n- **Abandoned Checkouts**: Track and analyze abandoned carts\n\n### Example Commands\n\nAsk Claude to:\n- \"Generate a sales report for last month\"\n- \"Show me which products have less than 10 units in stock\"\n- \"Create a 20% discount code for VIP customers\"\n- \"Get customer retention metrics for Q4\"\n- \"List abandoned checkouts from the past week\"\n- \"Show conversion funnel analytics for Black Friday\"\n- \"Create a blog post about our new product launch\"\n- \"Set up a webhook for new orders\"\n- \"Generate a custom report on product performance by category\"\n\n## API Scopes Required\n\nFor full functionality, configure your Shopify app with these scopes:\n\n### Essential Scopes\n- `read_products`, `write_products` - Product management\n- `read_orders` - Order viewing\n- `read_customers` - Customer data access\n- `read_inventory`, `write_inventory` - Inventory management\n\n### Extended Scopes (for complete feature set)\n- `read_draft_orders`, `write_draft_orders` - Draft order management\n- `read_fulfillments`, `write_fulfillments` - Fulfillment processing\n- `read_shipping` - Shipping configuration\n- `read_analytics` - Analytics and reporting\n- `read_marketing_events`, `write_marketing_events` - Marketing tools\n- `read_discounts`, `write_discounts` - Discount management\n- `read_price_rules`, `write_price_rules` - Pricing strategies\n- `read_reports` - Advanced reporting\n- `read_themes` - Theme management\n- `read_content`, `write_content` - Pages and blog management\n- `read_metaobjects`, `write_metaobjects` - Custom data structures\n- `read_gift_cards`, `write_gift_cards` - Gift card management\n\n### Scope Management Strategy\n\n**Important**: You don't need to grant all scopes! The MCP server adapts to available permissions:\n\n1. **Start with minimal scopes** - Only grant what you currently need\n2. **Add scopes as needed** - If a tool returns \"authorization error\", add the required scope\n3. **Security first** - Never grant write scopes unless you need to modify data\n4. **Limit by access token** - The safest way to restrict functionality is by limiting scopes at the Shopify app level\n\nExample scenarios:\n- **Read-only analytics**: Only grant read scopes for products, orders, customers, and reports\n- **Inventory management**: Add inventory write scope only\n- **Full e-commerce**: Grant all relevant scopes for complete functionality\n\nThe server will work with whatever scopes you provide - tools requiring missing scopes will simply return authorization errors without affecting other functionality.\n\n## Configuration Options\n\n### Environment Variables\n\n- `SHOPIFY_STORE_DOMAIN` (required) - Your Shopify store domain\n- `SHOPIFY_ACCESS_TOKEN` (required) - Your Admin API access token\n- `SHOPIFY_API_VERSION` (optional) - API version (defaults to latest)\n- `SHOPIFY_LOG_LEVEL` (optional) - Logging level: `error`, `warning`, `info`, `debug` (defaults to `warning`)\n- `TRANSPORT_MODE` (optional) - Transport mode: `stdio` (default) or `sse`\n- `PORT` (optional) - HTTP port for SSE mode (defaults to 3000)\n\n### Logging\n\nThe server uses proper logging to stderr to avoid interfering with the MCP protocol:\n- **Error**: Critical errors that prevent operation\n- **Warning**: Important notices (default level)\n- **Info**: General operational information\n- **Debug**: Detailed debugging information including HTTP requests\n\nSet `SHOPIFY_LOG_LEVEL=debug` to see all API requests and responses.\n\n## Local Development\n\nIf you want to run from source:\n\n```bash\ngit clone https://github.com/ajackus/shopify-mcp-server.git\ncd shopify-mcp-server\nnpm install\nnpm run build\n```\n\nThen update your Claude config to use the local build:\n\n```json\n{\n  \"mcpServers\": {\n    \"shopify\": {\n      \"command\": \"node\",\n      \"args\": [\"/path/to/shopify-mcp-server/build/index.js\"],\n      \"env\": {\n        \"SHOPIFY_STORE_DOMAIN\": \"your-store.myshopify.com\",\n        \"SHOPIFY_ACCESS_TOKEN\": \"shpat_your_access_token_here\"\n      }\n    }\n  }\n}\n```\n\n## Troubleshooting\n\nIf the server doesn't appear in Claude:\n\n1. Check that your credentials are correct\n2. Ensure Claude Desktop is fully restarted\n3. Look for errors in the MCP logs\n4. Try running the server manually to test:\n   ```bash\n   SHOPIFY_STORE_DOMAIN=your-store.myshopify.com \\\n   SHOPIFY_ACCESS_TOKEN=shpat_your_token \\\n   npx @ajackus/shopify-mcp-server\n   ```\n\n## Security\n\n- Never share or commit your access tokens\n- Use environment variables for credentials\n- Create separate apps with minimal scopes for different use cases\n- Regularly rotate your access tokens\n\n## SSE Mode (HTTP Transport)\n\nThe server supports SSE (Server-Sent Events) transport for HTTP-based access, enabling deployment to cloud platforms.\n\n### Local SSE Testing\n\n```bash\n# Install dependencies\nnpm install\n\n# Build the project\nnpm run build\n\n# Run in SSE mode\nTRANSPORT_MODE=sse \\\nSHOPIFY_STORE_DOMAIN=your-store.myshopify.com \\\nSHOPIFY_ACCESS_TOKEN=shpat_your_token \\\nSHOPIFY_LOG_LEVEL=warning \\\nPORT=3000 \\\nnode build/index.js\n```\n\nThe server will start on `http://localhost:3000` with:\n- SSE endpoint: `GET /sse`\n- Messages endpoint: `POST /messages?sessionId={id}`\n- Health check: `GET /health`\n\n### Deploy to Render.com\n\n1. **Fork or push this repository to GitHub**\n\n2. **Connect to Render:**\n   - Go to [render.com](https://render.com)\n   - Click \"New +\" → \"Web Service\"\n   - Connect your GitHub repository\n   - Render will auto-detect the `render.yaml` configuration\n\n3. **Set Environment Variables:**\n   - `SHOPIFY_STORE_DOMAIN`: Your store domain\n   - `SHOPIFY_ACCESS_TOKEN`: Your API access token\n   - Other variables are pre-configured in `render.yaml`\n\n4. **Deploy:**\n   - Click \"Create Web Service\"\n   - Your server will be available at `https://your-app.onrender.com`\n\n5. **Configure Claude Desktop for SSE:**\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"shopify-remote\": {\n         \"transport\": {\n           \"type\": \"sse\",\n           \"url\": \"https://your-app.onrender.com/sse\"\n         }\n       }\n     }\n   }\n   ```\n\n### Docker Deployment\n\nBuild and run with Docker:\n\n```bash\n# Build image\ndocker build -t shopify-mcp-server .\n\n# Run container\ndocker run -p 3000:3000 \\\n  -e SHOPIFY_STORE_DOMAIN=your-store.myshopify.com \\\n  -e SHOPIFY_ACCESS_TOKEN=shpat_your_token \\\n  -e SHOPIFY_LOG_LEVEL=warning \\\n  shopify-mcp-server\n```\n\n## License\n\nMIT\n\n## Contributing\n\nIssues and pull requests are welcome at: https://github.com/ajackus/shopify-mcp-server","readmeFilename":"README.md"}