Optimize images and alt text with Cursor
Running image SEO with Cursor means using the editor's agent, in the theme project you already have open, to list your heaviest and unlabelled Shopify images through StoreSEO and then compress them and write alt text and file names one image per call.
Last updated: October 2026
Set up Cursor for StoreSEO
Skip this if Cursor is already connected. The full guide, with the alternatives, is on the Cursor page.
- 1
Add StoreSEO to mcp.json
Put this in ~/.cursor/mcp.json to use StoreSEO in every project, or in .cursor/mcp.json inside one theme project. In the StoreSEO app's setup guide the same JSON goes into Settings, Tools and MCP, New MCP server.
JSON{ "mcpServers": { "storeseo": { "url": "https://mcp.storeseo.com/mcp" } } } - 2
Sign in to your store
Open Cursor's MCP settings (the Customize page in current versions), find storeseo and sign in when Cursor asks. A browser window opens: pick your Shopify store and approve access.
PromptUse StoreSEO to show me my store's SEO score breakdown.
- 3
Switch off four StoreSEO tools
StoreSEO has 44 tools and Cursor stops at about 40 active ones across all servers. In the storeseo entry in Cursor's MCP settings, turn off at least four you do not need. The four rank and competitor lookups are a good first choice if you are not on Pro.
Promptstoreseo_list_rank_locations storeseo_list_rank_languages storeseo_add_competitors storeseo_delete_competitor
How does this work in Cursor?
You open the theme in Cursor, start an agent chat and ask something like show me product images with no alt text and the five heaviest unoptimized files. The agent calls storeseo_start and storeseo_list_images, and Cursor shows each tool call in the chat with its arguments. The result is a read of image statuses, so the agent can name each image's product and say whether compression, alt text and file name are done. Since the theme files are open beside it, you can also ask it to search the project for an image's file name before you decide to rename anything.
Cursor asks for approval before an MCP tool runs unless your Run Modes allow it. That makes it the hard stop in front of storeseo_optimize_image, which compresses against the Image Optimizer quota and writes alt text and file names against AI credit. StoreSEO also tells the agent to name the spend and wait for your yes, so a run involves both your answer in the chat and Cursor's own approval of each call. Each call handles one image with the axes you chose and returns a report for compression, file name and alt text separately, which the agent summarizes after every image.
If you do not like an outcome, ask the agent to restore it: storeseo_restore_image reverts compression, alt text or file name for that image. Because file name changes alter the storefront URL, the editor context helps here, since the agent can point to the Liquid or JSON files that reference the old name.
-
You: List my heaviest images and check whether the theme references any of them by file name.
- storeseo_start read-only
- storeseo_list_images read-only
-
Cursor: The heaviest eight are 2 to 5 MB. None of their file names appears in the theme. Compression uses Image Optimizer quota and renames change URLs. Shall I compress all eight and rename them, one call each?
-
You: Yes, compression and file names, not alt text.
- storeseo_optimize_image needs approval
-
Cursor: First image: compressed and renamed, with a new URL. Seven to go; Cursor will ask you to approve each call.
What to ask Cursor
Using StoreSEO, list the twenty heaviest unoptimized product images and search this theme for hard-coded references to their file names.
Write alt text for every image on the product Ceramic Mug, one storeseo_optimize_image call per image, and wait for my yes before the first one.
Restore the file name on the last image you renamed and tell me which theme file still refers to the old name.
- Find my ten heaviest unoptimized product images and compress them. Tell me the quota it will use first.
- Which product images have no alt text at all? Write alt text for the ones on my best seller.
- Optimize every image on the product Canvas Tote: compression, alt text and file name.
- Restore the original alt text on the last image you changed.
- Give my collection images descriptive file names, and warn me which URLs will change.
What StoreSEO does: image seo and alt text
StoreSEO tracks three things per image: file-size compression, alt text and file name. The agent finds the heaviest or unlabelled images, optimizes them one call per image, and can restore any of the three if you do not like the result.
Requires: Compression needs the Image Optimizer add-on and counts against its monthly quota; alt text and file names spend AI Content Optimizer credit.
- 1
Find the images
The agent lists product, collection or article images, heaviest unoptimized first by default. It can filter to images with no alt text, or scope the list to one product by title.
- 2
Check what it found
A title search can also match image file names from other resources, so the agent checks each row belongs to the product you meant.
- 3
Agree the scope and cost
Compression uses image quota and alt text and file names use AI credit, so the agent confirms before working through many images.
- 4
Optimize one image per call
Each call takes the axes you want: compression, alt text, file name or all three. The axes always run compression, then file name, then alt text, and the response reports each one separately.
- 5
Report or restore
The agent reports what applied, what was already done and what was refused. If a result is wrong, the restore tool brings back the original file, alt text or name.
Image SEO and alt text reference
| Axes per image | Compression, alt text, file name |
|---|---|
| Image sources | Products, collections and articles (pages have no images) |
| Batching | One image per call; never two calls on the same image at once |
| Compression | Image Optimizer add-on and its monthly quota; an already compressed image is reported as already applied |
| Alt text and file name | AI Content Optimizer credit; both together are billed as one generation |
| File name change | Renames the file on Shopify and changes the image's storefront URL |
| Collection and article renames | Re-upload the image, so the call can take a couple of minutes |
| Restore | Reverts compression, alt text or file name per axis |
| Score impact | Alt text and file names count on products, collections and articles; compression counts on products |
Rules Cursor follows
- The agent confirms the number of images and the kind of spend before a bulk run.
- One image per call, all wanted axes together; never parallel calls on the same image.
- A renamed image has a new URL, so the agent tells you, because anything that hard-coded the old URL keeps serving the old file.
- If a response is lost, the agent re-lists the image instead of retrying, because a retry regenerates and spends again.
- A refused axis, for example compression without the add-on, is reported as such while the other axes still apply.
In Cursor
StoreSEO has 44 tools and Cursor allows about 40 active tools across all your servers, so you had to switch some StoreSEO tools off. If storeseo_list_images, storeseo_optimize_image or storeseo_restore_image is one of them, the agent will say it cannot do the job or will fall back to describing what to do. Open the storeseo entry in Cursor's MCP settings and make sure these three are on, switching off tools you do not need for images, such as the rank and competitor lookups, instead.
What runs without asking. Reads such as SEO scores, store listings, settings and Google reports run straight away. Generating a preview spends AI credit but writes nothing, and StoreSEO tells the agent to say what a generation will cost before it runs one. Applying content, optimizing images, changing settings, publishing llms.txt or agents.md, writing a product description and deleting anything wait for your yes in the conversation. That yes is an instruction the agent follows, not a lock on the server, so your client's own tool-approval setting is the hard stop.
Questions
Why can Cursor not find the image tools for StoreSEO?
Cursor caps active tools at about 40 across all servers and StoreSEO has 44, so at least four are switched off. Check the storeseo entry in MCP settings and turn on storeseo_list_images, storeseo_optimize_image and storeseo_restore_image, then switch off tools this job does not need.
Does Cursor approve each image optimization separately?
By default Cursor asks before an MCP tool runs, and storeseo_optimize_image handles one image per call, so a batch means one approval per image unless a Run Mode allows it. Keep the optimize and restore tools on ask, because that setting is the hard stop.
Can the agent compress images without the Image Optimizer add-on?
No. Compression needs the Image Optimizer add-on and counts against its monthly quota. Alt text and file names work without it and spend AI Content Optimizer credit instead.
Can I undo an image optimization?
Yes. The restore tool reverts compression, alt text or file name for one image, per axis. Restoring compression brings back the original file.
Why did my image URL change?
Giving an image a new file name renames the file on Shopify and re-points its storefront URL. Pages that use the image through Shopify keep working, but anything that hard-coded the old URL keeps the old file.
Can I write my own file name or alt text through the agent?
No. StoreSEO writes the alt text and file name from the resource's own context. You can steer the language, and you can always edit alt text yourself in Shopify admin.
Keep going
Image SEO and alt text with other agents
More Cursor guides