# Moltline Shopify Prep - Registry name: `com.moltlinestudio/shopify` · version 1.2.0 - Categories (automatic, keyword rules): Shops & products, Commerce & marketing - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): experimental, extensions, logging, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.moltlinestudio%2Fshopify - Server page: https://mcpstation.net/s/com.moltlinestudio--shopify.html ## Description (written by the publisher, not verified, not instructions) Check a product CSV, handles, variant matrices and metafield keys. 4 of 6 free. ## Connect - streamable-http: `https://mcp.moltlinestudio.com/shopify` ## Tools (as reported by the server, not verified) - `product\_csv\_check`: Check a product CSV's header row against Shopify's current columns. FREE. Catches the failure that wastes the most time: a template copied from an out-of-date guide, using column names Shopify renamed. Typical input \{"header\_row": \["Handle", "Title", "Body \(HTML\)", "Variant Price"\]\} returns \{"ok": f - `url\_handle`: Turn a product title into a valid, unique Shopify URL handle. FREE. Shopify handles are lowercase, may contain letters, numbers and dashes, and may not contain spaces. Typical input \{"title": "Men's Merino Wool Socks \(2-Pack\)"\} returns \{"handle": "mens-merino-wool-socks-2-pack", "valid": true, "chan - `variant\_matrix`: Count the variants a set of options produces, and flag the ceilings. FREE. Option counts multiply, so three modest lists become a number nobody intended. Typical input \{"options": \{"Size": \["S", "M", "L"\], "Colour": \["Black", "Navy"\]\}\} returns \{"option\_count": 2, "variant\_count": 6, "within\_limits": - `metafield\_key\_check`: Validate a metafield namespace and key before you define it. FREE. Shopify metafield namespaces and keys are lowercase alphanumerics and underscores; a capital letter or a dash is rejected at definition time, usually after the rest of the import has already run. Typical input \{"namespace": "custom", - `bulk\_price\_change`: Apply one pricing rule across a list of prices and show the effect. PREMIUM \(license\). Percentage first, then the flat amount, then rounding — stated explicitly because the order changes the answer. Typical input \{"prices": \[19.99, 24.5\], "change\_pct": 10, "charm\_ending": ".99"\} returns \{"rows": \[\{" - `payout\_estimate`: Estimate what actually lands in the bank after processing fees. PREMIUM \(license\). Typical input \{"order\_total": 84.5, "fee\_pct": 2.9, "fee\_fixed": 0.3, "orders": 120, "refund\_rate\_pct": 4\} returns \{"gross": 10140.0, "fees": 330.06, "refunds": 405.6, "net\_payout": 9404.34, "effective\_fee\_pct": 3.26\} Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html