You trust Cursor to refactor code because you read the diff before it lands. Your Shopify catalog never gets that courtesy. Most ways to bulk-edit products push straight to the live storefront, so the rewrite you want, lead every description with the material, fix the SEO titles, tidy the tags, reaches customers before you can check a word.
Scratch brings the catalog down as a folder of product files. Cursor rewrites them on your laptop; you review each change as a diff; Scratch publishes only what you approve. Prices, variants, and inventory stay locked the entire time, so the one pass you cannot afford to get wrong is the one pass that cannot happen.
How it works
- Scratch pulls your catalog into files. Every product comes down as one JSON file in Shopify's GraphQL Admin shape, in a folder on your laptop.
- Cursor edits the products. Open the folder in Cursor. Cmd+K one product to dial in the prompt, then turn on Agent mode for the catalog. Rewrite every description to under 160 words and lead with the material. Cursor works the files, never the live store.
- You review every diff and publish. Scratch puts each changed field next to the original, word by word. Approve what ships, and Scratch writes only those products back through the Admin API, one at a time.
What people use it for
The catalog work that stalls because the Shopify admin is one product per screen:
- Bring every description to one length and one voice.
- Backfill the SEO title and meta description across the catalog.
- Open each description with the material, fit, or benefit instead of filler.
- Tidy vendor, type, and tags so collections and filters behave.
- Refresh the blog and pages to match a new brand voice.
Cmd+K 50 products to feel the loop, then let Agent mode take the thousands.
Why not an MCP server?
A Shopify MCP server or app wires Cursor straight to your live catalog. One overzealous Agent-mode pass ships to every product at once, and you spend the afternoon undoing it by hand.
Scratch gives Cursor the same full read and write access against a local copy instead. The publish step is lifted out and handed to you. Cursor can change anything; only you can ship it. On a storefront that is taking orders, that gap is the whole point.
What Cursor edits in Shopify
- Product titles, descriptions (HTML), and handles
- Vendor, type, and tags
- Product SEO title and meta description
- Articles, blogs, and pages
Prices, variants, inventory, and metafields are locked at the connector. Cursor cannot write them back even if it tries, and length and taxonomy validators catch problems before a diff reaches you. The full list lives on Scratch for Shopify.
Questions people ask
Is this an MCP server or a Shopify app?
Neither. An MCP or an app hands Cursor the publish button. Scratch keeps it. Cursor gets the same access, and publishing is a separate step you approve, one product at a time.
Can it touch my prices or inventory?
No. Prices, variants, inventory, and metafields are locked at the connector. They cannot be written back, even by mistake.
Can I roll a change back after it ships?
Yes. Scratch keeps the original beside the rewrite, so every published product reverts per row. You decide which version stays.
How is this different from a CSV import or a bulk-edit app?
A CSV import and a bulk-edit app both write straight to the live catalog with no word-level diff and no per-product approval, and a find-and-replace does only what you spelled out. Cursor handles the products a rule cannot, and Scratch still holds every change for review before it ships.
Can it handle thousands of products?
Yes, that is the use case. Cmd+K 50 products to feel the flow, then let Agent mode take the catalog.
Do I need to be technical?
If you run Cursor already, you are set. If you would rather not work in an editor, the Claude desktop app runs the same Scratch loop with a more familiar surface.
See it on your own catalog
The fastest way to trust it is to watch it run on your products. See it run on your Shopify catalog →, or download Scratch free and take the first pass yourself.