Shopify MCP · Governed AI access 577 tools · 123 Free · 454 Pro
TOOL EXPLORER

Know what your AI can call.

577 operations: 123 Free and 454 Pro, generated from the product manifest.

CAPABILITY REFERENCE

Find the operation you need.

Tier is plan access. Risk describes the operation; a Free tool can perform a recovery write. Your token, store scopes and tool requirements still apply.

shopify.seo.article_auditTechnical + duplicate-content SEO audit scoped to article resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.auditAggregate Pro SEO audit: technical, duplicate content, internal links, and crawlability, in one call.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, resources, menuLinks
Output fields
findings, counts

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.autopilot_statusReports the progress/checkpoint/ledger operation id of the last shopify.seo.bulk_optimize run for a given planId.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
planId
Output fields
status

Limitations

  • Only tracks the most recent bulk_optimize run per planId; earlier runs are overwritten.
Link to this tool · Permission profiles
shopify.seo.bulk_optimizeValidates (seo-pro's validateProposals) and applies SEO title/description across many resources in one call via BulkRunner (sequential at/below the bulk threshold, Shopify Bulk Operations above it). Records ONE ledger operation with a Change per resource so rollback restores every resource.pro · bulk
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products, write_content
Input fields
planId, items, dryRun, approvalToken, resume
Output fields
dryRun, diffs, succeeded, failed, mode

Limitations

  • Every item's mutation document is grouped by resource type; the Shopify Bulk Operations path is used per type-group once the WHOLE call exceeds the bulk threshold.
Link to this tool · Permission profiles
shopify.seo.canonical_auditChecks layout/theme.liquid for a canonical <link> tag and flags a hardcoded (non-Liquid-driven) href as a likely duplicate-content risk.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, cannot see the rendered canonical URL at runtime.
Link to this tool · Permission profiles
shopify.seo.collection_auditTechnical + duplicate-content SEO audit scoped to collection resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.content_gapFinds collections without descriptions, products without descriptions, and standard page intents (about/contact/shipping/returns/faq) missing entirely.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.crawlabilityChecks storefront password protection, presence of a custom robots.txt.liquid, and noindex directives in templates.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.duplicate_contentFlags resources that share an identical (or near-identical) description.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.heading_auditFlags files with more than one literal <h1> (static heuristic; conditional branches may mean only one renders).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, not a rendered-DOM audit. Every finding is a hint, verify at runtime.
Link to this tool · Permission profiles
shopify.seo.image_alt_auditFinds <img> tags with no alt attribute or an empty alt in sections/snippets/blocks.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, not a rendered-DOM audit. Every finding is a hint, verify at runtime.
Link to this tool · Permission profiles
shopify.seo.indexability_basicChecks for a noindex robots meta tag in the layout and whether the storefront is password-protected (which blocks all indexing).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, passwordProtected

Limitations

  • Static-source heuristic; robots.txt and Shopify-level search-engine-visibility settings are not inspected.
Link to this tool · Permission profiles
shopify.seo.keyword_mapDeterministic token-frequency clustering across supplied resource titles/descriptions. ESTABLISHED_BEST_PRACTICE grouping aid, not a ranking or search-volume prediction.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
clusters

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.keyword_researchDeterministic term-frequency keyword clustering + cannibalisation warnings across products/collections/pages/articles (ESTABLISHED_BEST_PRACTICE. No real search-volume data). The connected model should refine terms with its own knowledge before use.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products, read_content
Input fields
scope, limit
Output fields
research

Limitations

  • No real search-volume, competition, or ranking data, purely term-frequency clustering over the store's own content.
Link to this tool · Permission profiles
shopify.seo.metadata_auditChecks layout/theme.liquid for <title>, meta description, canonical, robots, and Open Graph title.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, not a rendered-DOM audit. Every finding is a hint, verify at runtime.
Link to this tool · Permission profiles
shopify.seo.optimize_articleValidates and applies an SEO title/description for one article (length/stuffing/duplicate checks via seo-pro's validateProposals). description may be refreshed only when explicitly provided.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
read_content, write_content
Input fields
id, seoTitle, seoDescription, description, dryRun
Output fields
updated, diff
Link to this tool · Permission profiles
shopify.seo.optimize_collectionValidates and applies an SEO title/description for one collection (length/stuffing/duplicate checks via seo-pro's validateProposals). description may be refreshed only when explicitly provided.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
read_products, write_products
Input fields
id, seoTitle, seoDescription, description, dryRun
Output fields
updated, diff
Link to this tool · Permission profiles
shopify.seo.optimize_pageValidates and applies an SEO title/description for one page (length/stuffing/duplicate checks via seo-pro's validateProposals). description may be refreshed only when explicitly provided.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
read_content, write_content
Input fields
id, seoTitle, seoDescription, description, dryRun
Output fields
updated, diff
Link to this tool · Permission profiles
shopify.seo.optimize_productValidates and applies an SEO title/description for one product (length/stuffing/duplicate checks via seo-pro's validateProposals). description may be refreshed only when explicitly provided.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
read_products, write_products
Input fields
id, seoTitle, seoDescription, description, dryRun
Output fields
updated, diff
Link to this tool · Permission profiles
shopify.seo.optimize_storeBuilds a whole-store SEO optimization plan (one PlanItem per product/collection/page/article, plus schema/alt-text/title-template sub-plans) and stores it for shopify.seo.bulk_optimize. All proposed copy is source:"deterministic_default", the connected model must rewrite it before applying.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products, read_content
Input fields
scope, brandSuffix, includeSchema, includeAlt, includeRedirects, maxItems
Output fields
planId, plan, summary, nextActions

Limitations

  • proposed.seoTitle/seoDescription are deterministic placeholders, not final copy, the client model must rewrite them before shopify.seo.bulk_optimize is called for real.
Link to this tool · Permission profiles
shopify.seo.page_auditTechnical + duplicate-content SEO audit scoped to page resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.product_auditTechnical + duplicate-content SEO audit scoped to product resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.redirect_bulkApplies a list of proposed redirects via the Admin API. Supports dryRun; requires an approval token above the shop's bulk threshold.pro · bulk
Approval
none
Dry-run
Not supported
Recovery declaration
inverse_operation
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
redirects, dryRun, approvalToken
Output fields
applied, errors
Link to this tool · Permission profiles
shopify.seo.redirect_planDetects handle changes between a before/after resource list and proposes 301 redirects.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
before, after
Output fields
redirects

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.redirects_basicCounts URL redirects via the Admin API when available; otherwise returns NOT_SUPPORTED as a warning (redirects are store-level, not theme-derivable).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
count

Limitations

  • Requires Admin API access; redirects are a store-level resource, not derivable from theme source.
Link to this tool · Permission profiles
shopify.seo.regression_blockersFilters a list of regressions down to unapproved CRITICAL/HIGH release blockers.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
regressions, approvedKeys
Output fields
blockers

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.regression_compareCompares two stored SEO baseline snapshots (or a baseline against freshly-built current data) and reports regressions.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
baselineId, againstBaselineId, currentResources, currentRenderedPages
Output fields
regressions
Link to this tool · Permission profiles
shopify.seo.regression_explainExplains a list of regressions in plain language, grouped by severity.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
regressions
Output fields
explanation

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.regression_snapshotBuilds and stores an SeoBaseline snapshot (via ctx.snapshots, kind 'seo_baseline') from theme source, supplied resources, and/or rendered page HTML.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, label, resources, renderedPages
Output fields
snapshotId, pageCount

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.schema_applyWrites snippets/cp-seo-schema.liquid (Organization + Product + BreadcrumbList JSON-LD) to the working theme and inserts a render tag before </head> in layout/theme.liquid if absent. Idempotent, safe to call more than once.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, dryRun
Output fields
themeId, snippetWritten, layoutPatched, themeCheckOffenses

Limitations

  • Layout detection looks for the literal string "cp-seo-schema" in layout/theme.liquid to decide whether the render tag is already present.
Link to this tool · Permission profiles
shopify.seo.schema_basicFinds JSON-LD <script type="application/ld+json"> blocks and flags ones without a literal @type, or theme-wide absence of structured data.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, not a rendered-DOM audit. Every finding is a hint, verify at runtime.
Link to this tool · Permission profiles
shopify.seo.scorecardRuns the store's SEO audits (metadata, headings, canonical, indexability, internal links, schema, image alt, redirects, technical, duplicate content, product/collection/page audits) and returns a per-category score (0-100) with the evidence and top actions behind each number, instead of one meaningless global score.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
themeId, audits
Output fields
overall, categories, auditsRun, auditsFailed

Limitations

  • Static analysis of theme + catalog; live crawl signals (404s in the wild, rankings) are out of scope.
  • international is scored only when Markets tools land (Phase 5).
Link to this tool · Permission profiles
shopify.seo.site_architectureReports product/collection counts, average products per collection, and products with zero collection coverage.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources, productCollectionMap
Output fields
report

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.summaryCombined SEO audit: metadata, headings, schema, and image alt findings in one call.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, counts

Limitations

  • Static-source heuristic, not a rendered-DOM audit.
Link to this tool · Permission profiles
shopify.seo.technical_auditTechnical SEO audit: canonical/hreflang/pagination presence in the theme, plus duplicate titles, missing/thin/long descriptions, long titles, and handle quality across supplied resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, resources
Output fields
findings

Limitations

  • Resource metadata is supplied by the caller; this tool does not call the Shopify Admin API itself.
Link to this tool · Permission profiles
shopify.seo.title_template_fixChecks layout/theme.liquid's <title> for the page_title + shop.name pattern and, if missing, patches it to the standard Dawn pattern on the working theme.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, dryRun
Output fields
themeId, compliant, patched

Limitations

  • Only patches a literal <title>...</title> tag in layout/theme.liquid; custom layouts with a different structure are left alone (compliant:false, patched:false).
Link to this tool · Permission profiles
shopify.theme.architectureExtracts a theme's static architecture: layouts, templates, sections, blocks, snippets, assets, config, locales, warnings.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, architecture

Limitations

  • Static analysis only, cannot see what Liquid actually renders at runtime.
Link to this tool · Permission profiles
shopify.theme.assetsLists a theme's asset files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.blocksLists a theme's standalone block files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.configSummarizes config/settings_schema.json: setting groups and their setting ids/types.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, groups
Link to this tool · Permission profiles
shopify.theme.currentReturns the store's live theme and the current working (unpublished ShopManager) theme, if any.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
live, working
Link to this tool · Permission profiles
shopify.theme.dependenciesShows what a given theme file references and what references it, via the theme dependency graph.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
key, referencesOf, referencedBy

Limitations

  • Static reference resolution only; dynamic {% render section_name %} with a variable is not resolved.
Link to this tool · Permission profiles
shopify.theme.file.diffDiffs one file's content between two themes, or between a theme and a snapshot.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
key, themeId, compareThemeId, compareSnapshotId
Output fields
key, diff, identical

Limitations

  • Binary files are compared by presence only, not diffed byte-for-byte.
Link to this tool · Permission profiles
shopify.theme.file.readReads one theme file's contents, with secrets redacted. Binary files return metadata only.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
key, content, contentBase64, masked, exists

Limitations

  • Binary files larger than 512KB return metadata only, not content.
Link to this tool · Permission profiles
shopify.theme.file.searchSearches a theme's files by text/regex query, optionally scoped to directories.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, query, regex, dirs, maxResults, contextLines, caseSensitive
Output fields
matches

Limitations

  • Static text/regex search only; results are capped by maxResults (default 100).
Link to this tool · Permission profiles
shopify.theme.find_referenceFinds where a symbol (settings id, section/snippet name, CSS class, or JS id) is referenced across the theme.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, symbol
Output fields
matches

Limitations

  • Best-effort pattern matching, not a real Liquid/CSS/JS parser resolving scope.
Link to this tool · Permission profiles
shopify.theme.inspectCombined theme overview: ThemeRef metadata, file counts by role, and an architecture summary.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
theme, counts, architectureSummary
Link to this tool · Permission profiles
shopify.theme.list_remoteLists all themes on the store (id, name, role, processing state).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
themes
Link to this tool · Permission profiles
shopify.theme.localesLists a theme's locale (translation) files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.previewReturns a preview URL for a theme (defaults to the working theme).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, previewUrl
Link to this tool · Permission profiles
shopify.theme.searchText/regex search over a theme's files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, query, regex, dirs, maxResults
Output fields
matches

Limitations

  • Static text/regex search only.
Link to this tool · Permission profiles
shopify.theme.sectionsLists a theme's section files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.settingsCurrent config/settings_data.json values, plus the app blocks/embeds referenced within it.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, current, appReferences
Link to this tool · Permission profiles
shopify.theme.snippetsLists a theme's snippet files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.templatesLists a theme's JSON + Liquid template files.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
themeId, files
Link to this tool · Permission profiles
shopify.theme.capabilitiesTheme-related capabilities only (theme.read/write/engine).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
capabilities
Link to this tool · Permission profiles
shopify.theme.delete_remotePermanently deletes a theme. Requires confirm:true. Refuses to delete the live theme. Snapshots the theme first.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, confirm
Output fields
deletedThemeId, snapshotId

Limitations

  • Deletion is permanent; use the returned snapshotId to restore files into a new theme.
Link to this tool · Permission profiles
shopify.theme.diffDiffs two themes' files (added/removed/changed), or a theme against its own live counterpart when only fromThemeId is given.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
fromThemeId, toThemeId
Output fields
fromThemeId, toThemeId, summary

Limitations

  • Binary files are summarized by size, not diffed byte-for-byte.
Link to this tool · Permission profiles
shopify.theme.downloadDownloads a theme as a portable bundle: every file with text content (or base64 for binaries), plus a manifest of keys and checksums. Use it for off-Shopify backups, diffing across stores, or feeding shopify.theme.upload_bundle. Large binary assets can be excluded to stay under the 8 MB response cap.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
themeId, includeBinary, keys, prefix
Output fields
themeId, fileCount, bytes, truncated, files

Limitations

  • Binary assets are skipped unless includeBinary:true; the bundle is capped at 8 MB and reports truncated:true beyond it.
Link to this tool · Permission profiles
shopify.theme.duplicateDuplicates a theme (defaults to the live theme) into a new unpublished theme.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
sourceThemeId, name
Output fields
theme
Link to this tool · Permission profiles
shopify.theme.file.createCreates a new theme file. Fails with VERSION_CONFLICT if the key already exists, unless options.overwrite is set.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key, content, contentBase64, dryRun, allowLiveWrite, options
Output fields
themeId, key, written
Link to this tool · Permission profiles
shopify.theme.file.deleteDeletes one theme file. Writes resolve to the working theme unless a non-live themeId is given.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key, dryRun, allowLiveWrite
Output fields
themeId, key, deleted
Link to this tool · Permission profiles
shopify.theme.file.renameRenames (moves) a theme file: reads the old key, writes it under the new key, then deletes the old key, as one operation.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, fromKey, toKey, dryRun, allowLiveWrite
Output fields
themeId, fromKey, toKey, renamed

Limitations

  • Not atomic against Shopify: if the delete step fails after the write, the file exists at both keys.
Link to this tool · Permission profiles
shopify.theme.file.restoreRestores one theme file's content from a snapshot or a prior operation's before-image.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key, snapshotId, operationId, dryRun, allowLiveWrite
Output fields
themeId, key, restored
Link to this tool · Permission profiles
shopify.theme.file.updateWrites one theme file. Writes resolve to the working theme unless a non-live themeId is given. Supports dryRun (returns the diff without writing) and structural merge for config/settings_data.json and templates/*.json.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key, content, contentBase64, patch, mode, dryRun, allowLiveWrite
Output fields
themeId, key, written, diff, fingerprintBefore, fingerprintAfter

Limitations

  • Merge mode is only meaningful for config/settings_data.json and templates/*.json; other files must use content/contentBase64.
Link to this tool · Permission profiles
shopify.theme.files.applyApplies multiple file writes/deletes to a theme in one operation (the old 'push_unpublished' path). Snapshots the target theme first; supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, files, dryRun, allowLiveWrite
Output fields
themeId, written, deleted, errors, snapshotId

Limitations

  • Not transactional against Shopify; partial failures are reported per-file in `errors`.
Link to this tool · Permission profiles
shopify.theme.install_from_urlCreates a new unpublished theme from a remote theme zip URL. Requires confirm:true. Polls until Shopify finishes processing the upload (max 60s).pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
src, name, confirm
Output fields
theme, processingTimedOut

Limitations

  • Polling has a 60s cap; a theme that is still processing after that is returned with processingTimedOut:true rather than failing.
Link to this tool · Permission profiles
shopify.theme.publishPublishes a theme, making it the store's live theme. Requires confirm:true. Snapshots the previous live theme first.pro · publish
Approval
approval_token
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, confirm
Output fields
theme, previousLiveThemeId, snapshotId

Limitations

  • Snapshotting large themes may take a moment.
Link to this tool · Permission profiles
shopify.theme.redesignSequences plan -> build -> Theme Check -> preservation gate for one or more page types in a single call. Fails closed (QUALITY_GATE_FAILED, nothing written) if a critical app integration would be lost. Never publishes; publishing always requires a separate approval.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId, pages, themeId, dryRun
Output fields
stages, gates, previewUrl, diffRef, publishRequiresApproval

Limitations

  • Synchronous in 0.x with the tool's own timeout; a task-mode variant for large multi-page redesigns is planned for a later release.
  • Never publishes, publishing is always a separate, explicit step.
Link to this tool · Permission profiles
shopify.theme.upload_bundleCreates a new unpublished theme from a bundle (as produced by shopify.theme.download or hand-assembled): duplicates the live theme as the base, then writes every bundle file over it, optionally deleting base files not present in the bundle. Theme Check runs on the result. The live theme is never touched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_themes
Input fields
name, files, sourceThemeId, replaceAll, dryRun
Output fields
theme, written, deleted, themeCheckErrors, created

Limitations

  • Shopify has no direct zip upload via the Admin API; the base is a duplicate of the source theme, so a complete bundle should set replaceAll:true to drop base files that the bundle does not contain.
Link to this tool · Permission profiles
shopify.theme.validate_structureStructural validation: missing layout, non-JSON templates (legacy .liquid templates), template section/block limits, and orphan references.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source structural checks; not a runtime render validation.
Link to this tool · Permission profiles
shopify.theme.working.ensureEnsures a ShopManager working theme exists (returns the current one, or duplicates the live theme).pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
theme
Link to this tool · Permission profiles
shopify.theme.working.statusReports the current working theme (if any) and the live theme, without creating one.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
live, working
Link to this tool · Permission profiles
shopify.hydrogen.agent_storefront.statusProbes the store's buyer-facing Storefront MCP endpoint (https://<shop>/api/mcp: catalog search, product lookup, policies/FAQ, cart) and reports reachability and exposed tools. This is Shopify's shopper-facing agent surface, separate from this merchant MCP; it never exposes admin capabilities. Enabling/disabling is a Shopify admin setting (Online Store → Preferences / channel settings), so enable/disable return instructions, not a mutation.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
storeDomain
Output fields
endpoint, reachable, status, tools, instructions

Limitations

  • Availability is controlled by Shopify per store/plan; the probe reports what the endpoint answers today.
Link to this tool · Permission profiles
shopify.hydrogen.analytics.auditAudits analytics: Analytics.Provider / standard events present, third-party pixels gated by consent.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.analytics.setupGenerates the Shopify analytics wiring (Analytics.Provider with shop + consent, page/product/collection/search/cart events) so the store's admin dashboards and Live View see the headless storefront, respecting Customer Privacy consent.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, flavour, framework
Output fields
files

Limitations

  • Files are returned for the client to write/merge; 'patch' files describe the change to make in an existing file.
Link to this tool · Permission profiles
shopify.hydrogen.cache.auditAudits caching: customer/cart data never cached, catalog queries declare a strategy (CacheLong/CacheShort/CacheCustom), no cache on cart.get().pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.cache.configureReturns the recommended cache strategy per query type for the detected architecture (catalog CacheLong, product/collection CacheShort, search CacheShort, cart/customer CacheNone, custom stale-while-revalidate for menus) as a patch list against the workspace's storefront.query calls.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
recommendations
Link to this tool · Permission profiles
shopify.hydrogen.cart.auditAudits the cart implementation: handler present, setCartId after mutations, checkout handoff, optimistic UI, cart never cached.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.cart.createGenerates the cart route (add/update/remove lines, discount codes, buyer identity, attributes, note, setCartId cookie, redirect handling, checkout URL) and a cart drawer component for the detected architecture.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, flavour, framework
Output fields
files

Limitations

  • Files are returned for the client to write/merge; 'patch' files describe the change to make in an existing file.
Link to this tool · Permission profiles
shopify.hydrogen.connect_storeStores the PUBLIC Storefront API token (and API version) for this shop so the server can run Storefront API queries, verify the connection and smoke-test a Hydrogen storefront. Public tokens are safe to store; private tokens are refused. Get the token from the Hydrogen sales channel (Storefront settings) or `shopify hydrogen env pull`.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
publicToken, apiVersion, storeDomain, clear
Output fields
stored, apiVersion, verified
Link to this tool · Permission profiles
shopify.hydrogen.customer_account.auditAudits customer-account wiring: client configured, handleAuthStatus before customer queries, private token never in client code, secrets never hard-coded.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.customer_account.setupGenerates Customer Account API wiring: account layout with handleAuthStatus, orders list with pagination, login / logout / authorize routes. Requires PUBLIC_CUSTOMER_ACCOUNT_API_CLIENT_ID and the Customer Account API enabled in the Hydrogen channel (documented in the files).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, flavour, framework
Output fields
files

Limitations

  • Files are returned for the client to write/merge; 'patch' files describe the change to make in an existing file.
Link to this tool · Permission profiles
shopify.hydrogen.deployment.deployProduces the deployment plan for the target (preview by default; production requires confirm:true): preconditions, exact commands, env, preview mechanics and rollback path. The hosted server cannot run the developer's CLI (Oxygen/Vercel/Wrangler need their own auth), so this returns MANUAL_ACTION_REQUIRED with the commands rather than pretending to deploy.pro · publish
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, target, environment, confirm
Output fields
executed, status, plan

Limitations

  • Never deploys by itself.
Link to this tool · Permission profiles
shopify.hydrogen.deployment.inspectInspects the deployment setup (Oxygen / Vercel / Cloudflare Workers / Node / Deno) from the workspace: config files, CI workflows, target support for the detected Hydrogen flavour, preconditions, and the exact deploy/preview/rollback commands.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, target
Output fields
target, configFiles, ciDetected, plan

Limitations

  • Deployment status/history lives in the host (Oxygen admin, Vercel dashboard); the server has no API access to it.
Link to this tool · Permission profiles
shopify.hydrogen.detectDetects what the workspace is: stable Hydrogen (React Router 7), legacy Remix Hydrogen, the Hydrogen SDK developer preview, or none; the framework (React Router, Next.js, SvelteKit, Nuxt, SolidStart, Astro), runtime target (Oxygen, Vercel, Cloudflare Workers, Node, Deno), Storefront API version, env variable presence (names only, never values), configured features (customer accounts, Markets, analytics, cart, caching, Shop Pay, predictive search, sitemap), routes, installed agent skills and bindings, each with evidence. Pass the repo snapshot: package.json, lockfile name, config files, env NAMES, and the route file list.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
detection, adapter

Limitations

  • Detection is static: it reads files, it does not run the project.
Link to this tool · Permission profiles
shopify.hydrogen.healthRuns the adapter's health checks (framework/version, required env, Storefront API version, cart, analytics, sitemap, redirect catch-all, private-token placement …) and a full static audit; returns per-area scores and findings labelled DATA_SUPPORTED or HEURISTIC.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, areas
Output fields
checks, scores, findings
Link to this tool · Permission profiles
shopify.hydrogen.images.auditAudits images: raw <img> for Shopify CDN images, <Image> without sizes, eager loading below the fold.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.images.optimizeReturns concrete rewrites for image usage: raw <img src=cdn.shopify.com> → <Image data sizes>, missing sizes attributes, loading/priority hints for hero vs grid images, and CDN transform parameters.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
rewrites
Link to this tool · Permission profiles
shopify.hydrogen.markets.auditAudits Markets readiness: @inContext with country/language variables, locale-from-request present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.markets.setupGenerates Markets/localization wiring: locale-from-request (subfolder or domain), i18n passed into the Hydrogen context so every query is @inContext(country, language), and where to add a country/language selector.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, flavour, framework
Output fields
files

Limitations

  • Files are returned for the client to write/merge; 'patch' files describe the change to make in an existing file.
Link to this tool · Permission profiles
shopify.hydrogen.predictive_search.auditAudits search routes (search page, predictive search API) and their presence for the detected framework.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.routes.createGenerates a complete Shopify resource route for the detected architecture and framework: product page (variants, option links, encoded availability, pricing, compare-at, media, SEO meta, analytics, cart lines), collection page (filters, sorting, pagination, market-aware), collections index, search, predictive search API, cart (all CartForm actions with setCartId), account + orders (Customer Account API), sitemap, robots, catch-all with Shopify URL redirects. Returns the file for the client to write. Pass kinds or use routes.list's missing set.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, kind, kinds, flavour, framework
Output fields
files

Limitations

  • Stable adapter emits React Router 7 files; other frameworks receive framework-agnostic loaders (SDK preview) plus the matching skill to consult.
Link to this tool · Permission profiles
shopify.hydrogen.routes.listLists the workspace's routes, maps them to Shopify resource routes (product, collection, collections, search, predictive search, cart, account, orders, sitemap, robots, catch-all for URL redirects) and reports which required routes are missing with the exact file to create for the detected framework.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
present, missing, extra
Link to this tool · Permission profiles
shopify.hydrogen.seo.auditAudits headless SEO: sitemap and robots routes, meta exports on product/collection routes, JSON-LD, redirect catch-all.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.setupProduces the setup plan for a new or existing project: exact official commands (`npm create @shopify/hydrogen@latest` for stable, `npx @shopify/hydrogen@preview setup` for the SDK preview, framework scaffolds for Next.js/SvelteKit/Nuxt/SolidStart/Astro), the .env.example template (names only), and the files to add. Choose flavour explicitly or let detection decide.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, flavour, framework, runtime
Output fields
flavour, steps, files

Limitations

  • The server cannot run the commands; apply the plan in the repo.
Link to this tool · Permission profiles
shopify.hydrogen.shop_pay.auditAudits Shop Pay presence on product and cart surfaces.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
findings, scores

Limitations

  • Static analysis of the snapshot; findings are labelled DATA_SUPPORTED or HEURISTIC.
Link to this tool · Permission profiles
shopify.hydrogen.shop_pay.setupReturns the Shop Pay button integration for the product page and cart (ShopPayButton with variantIds/quantities and storeDomain) for the detected architecture.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
files
Link to this tool · Permission profiles
shopify.hydrogen.skills.listLists the Hydrogen agent skills installed in the workspace (name, folder, frontmatter, size) and the skills the installed Hydrogen version is expected to ship (developer preview: hydrogen-setup, hydrogen-storefront-client, hydrogen-request-handlers, hydrogen-routing, hydrogen-cart-ui, hydrogen-cart-drawer, hydrogen-collection-browser, hydrogen-predictive-search, hydrogen-variant-form, hydrogen-image, hydrogen-money, hydrogen-shop-pay, hydrogen-markets, hydrogen-customer-account, hydrogen-analytics, hydrogen-oxygen, hydrogen-smoke-test).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace, name
Output fields
installed, expected

Limitations

  • Skills are read from the snapshot; include the skills folder files (SKILL.md) for frontmatter and size.
Link to this tool · Permission profiles
shopify.hydrogen.skills.validateCompares installed skills with the set the installed Hydrogen package ships (missing, unexpected, missing SKILL.md, version mismatches) and returns the official sync command. We never copy skill text ourselves: syncing is `npx @shopify/hydrogen@preview setup`, which keeps skills aligned with the installed version.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
workspace
Output fields
installed, missing, unexpected, withoutSkillFile, versionMismatch, syncCommand
Link to this tool · Permission profiles
shopify.hydrogen.smoke_testSmoke-tests a running Hydrogen storefront (preview or production URL): home, a real product, a real collection (handles pulled from the connected store), search, predictive search, cart, account login redirect, sitemap, robots, a redirect/404 path; checks status, latency, <title>, JSON-LD on PDP, cart form, no framework error page. Optionally exercises the cart end to end via the Storefront API (cartCreate + cartLinesAdd) and reports the checkout URL shape.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
baseUrl, productHandle, collectionHandle, cartApi, paths
Output fields
passed, failed, pages, cart

Limitations

  • HTTP-level checks; visual QA uses shopify.visual.capture_page on the same URLs.
Link to this tool · Permission profiles
shopify.hydrogen.storefront.queryExecutes a Storefront API query against the store with the stored PUBLIC token (or one passed inline) and returns data, errors and cost. Mutations are limited to cart mutations (cartCreate/cartLines*/cartDiscountCodesUpdate…) so an agent can exercise the cart end to end; customer mutations are refused.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
query, variables, publicToken, apiVersion, country, language
Output fields
data, errors, status, cost
Link to this tool · Permission profiles
shopify.hydrogen.storefront.schemaReturns the Storefront API root query/mutation fields this server validates against, plus the canonical query fragments Hydrogen uses (product with encoded variant availability, collection with filters/pagination, predictive search, cart), and the introspection query to fetch the full schema for the stored API version.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
introspect
Output fields
apiVersion, queryFields, mutationFields, fragments, introspection

Limitations

  • introspect:true needs a stored token and returns type names only (full SDL is large).
Link to this tool · Permission profiles
shopify.hydrogen.storefront.validate_queryValidates a Storefront API document before it ships: balanced braces, known root fields (query and mutation), connections with first/last (≤ 250), @inContext usage for Markets-aware fields, legacy customerAccessToken patterns, declared variables.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
query
Output fields
valid, operation, rootFields, errors, warnings, variables

Limitations

  • Structural checks only; field-level validation happens on the Storefront API (use storefront.query).
Link to this tool · Permission profiles
shopify.hydrogen.verify_connectionVerifies the stored Storefront API connection with canned queries (shop, first product, first collection, localization) and reports latency, API cost and any errors.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
ok, apiVersion, results
Link to this tool · Permission profiles
shopify.design.anti_generic_auditDeterministically scans the live theme for the master anti-generic pattern list (generic centered heroes, repeated 3-card rows, glassmorphism, pill overuse, fake stats, generic AI wording, weak product prominence, and more). Not an aesthetic/AI originality score, the connected client model interprets the signal.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, manifestId
Output fields
findings, countsBySeverity

Limitations

  • Deterministic pattern detection only. No visual/AI judgement of aesthetic quality.
Link to this tool · Permission profiles
shopify.design.art_directionBuilds a structured art-direction brief from the design manifest, catalog facts, and the deterministically chosen layout grammar per page type. Returns rationale/rules for the connected client model to execute creatively, ShopManager AI never writes marketing copy itself.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId, references, catalogFacts
Output fields
manifestUsed, perPageType, paletteRules, typePairing, densityNote, imageryDirection

Limitations

  • `references` are recorded for provenance only; this tool does not fetch or copy them (use shopify.design.reference_analyze for structural facts about a reference URL).
Link to this tool · Permission profiles
shopify.design.auditCompares the active design manifest against the live theme's extracted tokens and reports drift: off-palette colors, unlisted fonts, off-scale spacing, and contrast failures.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Deterministic drift detection only. No visual/AI judgement.
Link to this tool · Permission profiles
shopify.design.brand_directionSummarizes the manifest's brand signals (personality, tone, target customer, market position) into a short direction brief plus any semantic validation issues.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
manifestUsed, brand, issues
Link to this tool · Permission profiles
shopify.design.colorsExtracts just the color tokens (hex/rgb/hsl values and their sources) from theme settings and CSS.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
colors

Limitations

  • Static extraction; does not resolve Liquid-computed color values.
Link to this tool · Permission profiles
shopify.design.compareDeterministically diffs two design manifest versions: color/typography/layout/commerce field differences.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestIdA, manifestIdB
Output fields
differences
Link to this tool · Permission profiles
shopify.design.component_languageDerives a deterministic component-language brief (button/card/form treatment rules) from the manifest's declared components and the theme's extracted radius/shadow tokens.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, manifestId
Output fields
manifestUsed, buttons, cards, radiusNote, shadowNote
Link to this tool · Permission profiles
shopify.design.componentsHeuristically detects button/card/badge/form component class patterns in CSS assets and section liquid.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
components

Limitations

  • Pure regex class-name matching; does not verify the classes actually style a real component.
Link to this tool · Permission profiles
shopify.design.consistency_basicBasic, deterministic design-consistency checks over extracted tokens (grey-tone sprawl, off-scale spacing, too many fonts, oversized palette).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • No visual/AI judgement, purely numeric heuristics on extracted tokens.
Link to this tool · Permission profiles
shopify.design.create_manifestValidates and saves a new design manifest version (hand-authored or externally produced).pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, manifest
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.design.export_markdownRenders a design manifest (the active one by default) as a DESIGN.md document: one heading per area (Brand, Color, Typography, Layout, Components, Media, Motion, Commerce, Responsive) with `- key: value` lines. Save it in the repo, edit it by hand, and import it back with shopify.design.import_markdown.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
manifestId, name, markdown

Limitations

  • Free-form component/responsive objects are rendered as fenced JSON blocks.
Link to this tool · Permission profiles
shopify.design.extract_manifestBuilds a design manifest from the theme's extracted design tokens, settings schema, and section inventory. Saves it as a new 'extracted' version.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
manifest, record

Limitations

  • Deterministic, non-AI extraction, only what is visible in settings/CSS.
Link to this tool · Permission profiles
shopify.design.get_exampleReturns one example direction as a full DESIGN.md document, to read as a worked example before writing this store's own manifest.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id
Output fields
id, title, markdown
Link to this tool · Permission profiles
shopify.design.get_manifestReturns a design manifest by id, or the active manifest when no id is given.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.design.import_markdownParses a DESIGN.md document into a design manifest and saves it as a new version (optionally activating it). Unknown keys are kept as notes, never silently invented. Use this when the merchant drops a DESIGN.md into the project, or after editing an exported one.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
markdown, name, activate, dryRun
Output fields
manifestId, name, manifest, notes, activated, written

Limitations

  • Prose under a heading that is not a `- key: value` line is preserved as notes, not interpreted.
Link to this tool · Permission profiles
shopify.design.inspectCombined design overview: token summary plus basic consistency findings, in one call.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
tokens, findings

Limitations

  • Static extraction from settings/CSS; does not render pages.
Link to this tool · Permission profiles
shopify.design.list_examplesLists the example design directions that ship with ShopManager AI (id, title, one-line summary). They show how a finished direction is argued (palette, type, density, motion and the reasoning) across light/dark grounds and serif/sans pairings. Read one with shopify.design.get_example; never apply one unchanged.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
examples

Limitations

  • Examples are static; they do not know this store.
Link to this tool · Permission profiles
shopify.design.list_manifestsLists all design manifest versions for this shop, most recent first.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
manifests
Link to this tool · Permission profiles
shopify.design.motion_strategyReturns a deterministic motion strategy (hover/transition/reveal rules, reduced-motion handling) from the manifest's motion direction.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
manifestUsed, motion, reducedMotionNote
Link to this tool · Permission profiles
shopify.design.reference_analyzeCaptures a reference URL (desktop 1440 + mobile 390) and returns screenshots plus structural facts (script hosts, horizontal overflow). Source text/imagery are never copied, only structural evidence is returned for the connected client model to draw inspiration from.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url
Output fields
facts

Limitations

  • Never copies source text, imagery, or code, only structural facts (script hosts, overflow) and screenshots are returned.
Link to this tool · Permission profiles
shopify.design.reference_profileFetches a reference website (a brand the merchant admires) and extracts design facts: palette (darkest/lightest neutral, accent), font families and size scale, spacing rhythm, radii, layout width, motion level, hero headlines and CTA wording. Returns a suggested design-manifest patch. Use before shopify.design.create_manifest / the premium build loop.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, maxStylesheets
Output fields
url, page, css, stylesheetsFetched, manifestPatch

Limitations

  • Static analysis of served HTML/CSS; sites that render everything client-side yield fewer facts.
  • Copy is analysed for tone/length only; never reuse a reference site's copy or imagery.
Link to this tool · Permission profiles
shopify.design.responsive_strategyReturns the standard 360/768/1024+ breakpoint strategy, adjusted for any manifest-declared per-breakpoint overrides.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
manifestUsed, breakpoints
Link to this tool · Permission profiles
shopify.design.set_active_manifestMarks a specific manifest version as the active one for this shop.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.design.spacingExtracts spacing (margin/padding/gap) and border-radius values from theme CSS.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
spacing, radii
Link to this tool · Permission profiles
shopify.design.tokensExtracts design tokens (colors, typography, spacing, radii, shadows, breakpoints) from theme settings and CSS.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
See the operation response.

Limitations

  • Static extraction from settings/CSS; does not render pages.
Link to this tool · Permission profiles
shopify.design.typographyExtracts font families, sizes, and line heights from theme settings and CSS.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
typography
Link to this tool · Permission profiles
shopify.design.update_manifestDeep-merges a patch into an existing manifest, saving the result as a new version.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifestId, patch
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.design.validate_manifestValidates a manifest against the schema and runs semantic checks (contrast, font-family sprawl, missing scale).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
manifest
Output fields
valid, schemaIssues, semanticIssues

Limitations

  • Semantic checks are heuristic, not exhaustive design review.
Link to this tool · Permission profiles
shopify.performance.app_impactEstimates per-app script/CSS weight from theme files matching each known app's snippet/asset name patterns, plus observed script hosts.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url, scriptHosts
Output fields
apps

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.assetsReports the top 10 largest theme assets by size and flags large .js/.css assets that heuristically look unminified.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Unminified detection is a line-length heuristic, not an AST-based check.
Link to this tool · Permission profiles
shopify.performance.auditAggregate Pro performance audit: third-party classification, LCP/CLS/INP risk, and Liquid profile, optionally informed by a live capture's metrics.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url, scriptHosts
Output fields
findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.audit_basicCombined basic performance audit: asset sizes, script loading, image lazy-loading, fonts, and theme complexity.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Static-source heuristics only, not a substitute for Lighthouse or real-user metrics.
Link to this tool · Permission profiles
shopify.performance.clsCLS risk heuristics: images missing width/height, @font-face declarations without size-adjust/font-display swap.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.compareBefore/after performance evidence: runs the performance audit on two themes (e.g. live vs working) or two snapshots of the same theme and reports the delta per category (assets, scripts, third-party, images, fonts, CLS/LCP/INP risks) with the concrete findings that appeared or disappeared. Use it to prove 'faster without changing the design'.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
beforeThemeId, afterThemeId, audit
Output fields
before, after, delta, resolved, introduced

Limitations

  • Static audit deltas; field metrics (CWV) need a live measurement source.
Link to this tool · Permission profiles
shopify.performance.fontsCounts @font-face declarations, checks for font preload hints, and lists font families referenced in CSS.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Static-source heuristic; Shopify-hosted fonts loaded via settings are not resolved here.
Link to this tool · Permission profiles
shopify.performance.imagesFinds <img> tags missing width/height (layout shift risk) or loading="lazy" in sections/snippets/blocks.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic; does not know which image is the LCP candidate.
Link to this tool · Permission profiles
shopify.performance.inp_riskINP (interaction latency) risk heuristics: large inline scripts and a high count of addEventListener calls in one block.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.lcpLCP risk heuristics: hero/above-fold images without fetchpriority/eager loading, render-blocking stylesheets in the layout head.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.liquid_profileTheme-level Liquid complexity profile plus nested-loop ({% for %} inside {% for %}) detection.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.planAggregates every Pro performance check (third-party, LCP, CLS, INP, liquid profile) into one prioritized findings list.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url
Output fields
findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.regressionCompares current asset sizes/script counts against a stored performance snapshot and reports growth.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, baselineId
Output fields
findings, before, after

Limitations

  • Static asset sizes and script counts only.
Link to this tool · Permission profiles
shopify.performance.scriptsCounts <script> tags across layout/sections/snippets, lists external script hosts, and flags render-blocking scripts in <head>.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Static-source heuristic; cannot see scripts injected by apps at runtime.
Link to this tool · Permission profiles
shopify.performance.theme_complexityComputes a theme-level Liquid complexity score (lines, tags, nesting depth, loops, parse errors) with a plain-language explanation.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, metrics

Limitations

  • Deliberately simple, explainable weighting, not a research-backed model.
Link to this tool · Permission profiles
shopify.performance.third_partyClassifies external script hosts observed via a live capture (or supplied directly) against known Shopify apps, and flags unclassified hosts.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url, scriptHosts
Output fields
classified, unclassified, findings

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.performance.verifyRe-runs the Pro performance plan and reports whether the given finding categories no longer appear.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url, categories
Output fields
resolved, stillPresent

Limitations

  • Static-source heuristics, optionally informed by a runtime capture; not a substitute for Lighthouse/real-user metrics.
Link to this tool · Permission profiles
shopify.product.getReads a single product: core fields, seo, variants, media count, collections, publications count.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id
Output fields
product
Link to this tool · Permission profiles
shopify.product.archiveArchives (or un-archives) a product: sets status ARCHIVED so it disappears from channels without deleting it. Reversible via rollback (status restored).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, unarchiveTo, dryRun
Output fields
id, status, updated
Link to this tool · Permission profiles
shopify.product.assign_templateAssigns (or clears) a product's templateSuffix, separate from full product.update_basic.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, templateSuffix, dryRun
Output fields
product, updated, diff
Link to this tool · Permission profiles
shopify.product.bulk_updateUpdates basic fields (title, vendor, type, status, tags, template, seo) on many products in one ledger operation, with a before-image per product so rollback restores all of them. Up to 100 items per call; above the shop's bulk threshold an approval token is required.pro · bulk
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
items, dryRun, approvalToken
Output fields
attempted, succeeded, failed, skipped, errors

Limitations

  • Sequential Admin API calls (one per product); use shopify.seo.bulk_optimize for SEO-only changes at scale.
Link to this tool · Permission profiles
shopify.product.collectionsLists the collections a product belongs to.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id
Output fields
collections
Link to this tool · Permission profiles
shopify.product.createCreates a product (title, description, vendor, productType, tags, status, templateSuffix). No variants/price on create; use variant.update afterwards.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
title, descriptionHtml, vendor, productType, tags, status, templateSuffix, dryRun
Output fields
product, created
Link to this tool · Permission profiles
shopify.product.deletePermanently deletes a product and its variants. Destructive; requires confirm:true. Shopify cannot restore a deleted product, so rollback is NOT available: the ledger keeps the product's before-image for manual recreation. Prefer shopify.product.archive.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_products
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted

Limitations

  • Irreversible on Shopify's side; archive instead when in doubt.
Link to this tool · Permission profiles
shopify.product.duplicateDuplicates a product (options, variants, optionally images) as a new product with a new title, DRAFT by default. Rollback deletes the copy.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, newTitle, newStatus, includeImages, dryRun
Output fields
product, created

Limitations

  • Metafields are copied by Shopify; publications are not.
Link to this tool · Permission profiles
shopify.product.media.attachAttaches an existing file (by id) or a new file (by source URL) as media on a product, via productCreateMedia.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_files, write_products
Input fields
productId, fileId, sourceUrl, alt, dryRun
Output fields
media

Limitations

  • productCreateMedia expects a source URL, not a bare file id; when fileId is given this tool looks up its URL first via shopify.media.list-style lookup and re-submits it, so it may re-encode/re-host the asset rather than truly reusing the original file record.
Link to this tool · Permission profiles
shopify.product.metafieldsLists the metafields set on a product.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.product.publicationsLists which sales channels (publications) a product is published to.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id
Output fields
publications
Link to this tool · Permission profiles
shopify.product.publishPublishes a product to a sales channel (defaults to Online Store).pro · publish
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products, write_publications
Input fields
id, publicationName, dryRun
Output fields
published
Link to this tool · Permission profiles
shopify.product.unpublishUnpublishes a product from a sales channel (defaults to Online Store).pro · publish
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products, write_publications
Input fields
id, publicationName, dryRun
Output fields
published
Link to this tool · Permission profiles
shopify.product.update_basicUpdates title/vendor/productType/status/templateSuffix. Never touches price (use variant.update).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, title, vendor, productType, status, templateSuffix, dryRun
Output fields
product, updated, diff

Limitations

  • Does not accept price/compareAtPrice/sku/barcode; use variant.update.
Link to this tool · Permission profiles
shopify.product.update_descriptionUpdates a product's descriptionHtml.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, descriptionHtml, dryRun
Output fields
product, updated, diff
Link to this tool · Permission profiles
shopify.product.update_seoUpdates a product's SEO title/description.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, seo, dryRun
Output fields
product, updated, diff
Link to this tool · Permission profiles
shopify.product.update_tagsReplaces a product's tag list.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, tags, dryRun
Output fields
product, updated, diff
Link to this tool · Permission profiles
shopify.accessibility.alt_textFinds <img> tags with no alt attribute or an empty alt in sections/snippets/blocks.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic.
Link to this tool · Permission profiles
shopify.accessibility.ariaFlags non-standard ARIA roles and icon-only buttons with no aria-label.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.auditAggregate Pro accessibility audit: keyboard, modals, drawers, navigation, ARIA, and motion checks in one call.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, counts

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.audit_basicCombined basic accessibility audit: headings, alt text, form labeling, focus styles, and color contrast.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, counts

Limitations

  • Static-source heuristics only, not a substitute for axe-core or manual testing.
Link to this tool · Permission profiles
shopify.accessibility.contrast_basicComputes WCAG contrast ratio for background/text color pairs found in config/settings_data.json current values; flags pairs below 4.5:1.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, pairs

Limitations

  • Pairs colors by key-name heuristics (e.g. button_background/button_text); does not resolve which pairs are actually rendered together.
Link to this tool · Permission profiles
shopify.accessibility.drawersChecks drawer-shaped markup (cart drawers, nav drawers) for role=dialog, aria-modal, a close control, and a focus-trap marker.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.focus_basicFinds CSS assets and {% style %} blocks that suppress the focus outline (outline: none/0) without a :focus-visible fallback.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static CSS-text heuristic; cannot see computed/cascaded styles.
Link to this tool · Permission profiles
shopify.accessibility.formsFinds <input>/<select>/<textarea> controls with no matching <label for>, aria-label, or aria-labelledby.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Regex-based; does not resolve labels wrapping their control implicitly (<label><input></label>).
Link to this tool · Permission profiles
shopify.accessibility.headingsChecks heading structure: multiple literal <h1> tags in one file, and skipped heading levels.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristic, cannot see which conditional branch renders at runtime.
Link to this tool · Permission profiles
shopify.accessibility.keyboardFinds elements removed from tab order (tabindex=-1) and click-only handlers on non-interactive elements.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.modalsChecks modal-shaped markup for role=dialog, aria-modal, a close control, and a focus-trap marker.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.motionFlags CSS animations/transitions with no prefers-reduced-motion media query.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.navigationChecks header for a <nav> landmark, aria-expanded on menu toggles, and a skip-to-content link anywhere in the theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.plan_fixPlans minimal, additive accessibility patches: a skip-to-content snippet (if missing) and a prefers-reduced-motion CSS asset (if animations exist without one). Never removes or rewrites existing markup.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
writes, description

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.accessibility.verifyRe-runs the Pro accessibility audit and reports whether the given finding categories no longer appear.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, categories
Output fields
resolved, stillPresent

Limitations

  • Static-source heuristics only, not a substitute for axe-core, screen-reader testing, or manual keyboard testing.
Link to this tool · Permission profiles
shopify.conflicts.apply_safe_fixApplies a case's safe fix plan to the working theme: snapshots the working theme, writes the patch, and runs Theme Check. Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId, themeId, dryRun
Output fields
applied, writes, themeCheckOffenses, snapshotId

Limitations

  • Only remove_duplicate/scope_css/defer_script strategies are automated.
Link to this tool · Permission profiles
shopify.conflicts.correlateRe-runs correlation over the theme's static findings with fresh runtime evidence, without persisting a new scan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, consoleErrors, failedRequests, scriptHosts
Output fields
cases
Link to this tool · Permission profiles
shopify.conflicts.css_global_rulesFinds global (unscoped) CSS selectors inside a section's scoped {% style %} block, which can leak style to the rest of the page.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics; cannot see runtime-rendered output or app-injected DOM/CSS.
Link to this tool · Permission profiles
shopify.conflicts.duplicate_schemaFinds duplicate setting ids within a single section/block schema.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics; cannot see runtime-rendered output or app-injected DOM/CSS.
Link to this tool · Permission profiles
shopify.conflicts.duplicate_scriptsFinds the same asset or external <script src> included more than once across layout+sections.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics; cannot see runtime-rendered output or app-injected DOM/CSS.
Link to this tool · Permission profiles
shopify.conflicts.explainReturns a plain-language explanation of one cached conflict case, suitable for surfacing to a merchant.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId
Output fields
explanation
Link to this tool · Permission profiles
shopify.conflicts.inspectReturns full detail for one conflict case from the shop's last scan (run shopify.conflicts.scan first).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId
Output fields
case
Link to this tool · Permission profiles
shopify.conflicts.javascript_errorsStatic-only JavaScript conflict check. No JS execution/eval is performed: this only reports errors captured live via shopify.visual.capture_page when a browser plane is configured.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url
Output fields
findings

Limitations

  • No sandboxed JS execution/eval is available in this environment (no acorn/JS-parser dependency): this tool cannot statically parse script syntax.
  • Without a browser plane and a url, this always returns NOT_SUPPORTED as a warning with an empty findings list.
Link to this tool · Permission profiles
shopify.conflicts.orphan_referencesFinds references to sections/snippets/blocks that do not resolve to an existing file (via the dependency graph).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static-source heuristics; cannot see runtime-rendered output or app-injected DOM/CSS.
Link to this tool · Permission profiles
shopify.conflicts.plan_fixPlans a safe, minimal, reversible patch for one cached conflict case. Only remove_duplicate/scope_css/defer_script strategies produce writes; everything else returns a manual-review plan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId, themeId
Output fields
plan

Limitations

  • Only a subset of fix strategies are automatable; others require manual review.
Link to this tool · Permission profiles
shopify.conflicts.root_causeReturns the likely root cause and owner attribution (theme / app:<handle> / unknown) for one cached conflict case.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId
Output fields
likelyRootCause, owner, confidence
Link to this tool · Permission profiles
shopify.conflicts.scanPro conflict scan: runs every conflict signature detector over the theme, optionally correlating with a live browser capture (home/product/cart), and caches the result as this shop's last scan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url
Output fields
cases, scannedAt

Limitations

  • Static-source heuristics plus optional runtime capture; not a substitute for manual QA on a live store.
Link to this tool · Permission profiles
shopify.conflicts.scan_basicStatic conflict/quality scan: duplicate script includes, duplicate schema setting ids, global CSS leaking out of section-scoped style blocks, orphan file references.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, counts

Limitations

  • Static-source heuristics; cannot see runtime-rendered output or app-injected DOM/CSS.
Link to this tool · Permission profiles
shopify.conflicts.verify_fixRe-scans the theme (and, if a url is given, re-captures) and reports whether a previously-fixed case's signature still reproduces.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
caseId, themeId, url
Output fields
resolved, stillPresent
Link to this tool · Permission profiles
shopify.store.capabilitiesStore-level capabilities only (admin.read/write).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
capabilities
Link to this tool · Permission profiles
shopify.store.job_statusReads back a shopify.store.* job record (stages + result) by jobId.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
jobId
Output fields
job
Link to this tool · Permission profiles
shopify.store.summaryBasic store facts: name, domain, plan, currency, password protection, theme count.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
name, domain, primaryDomainUrl, planDisplayName, currencyCode, passwordProtected, themeCount

Limitations

  • Falls back to theme-only data when Admin API is unavailable.
Link to this tool · Permission profiles
shopify.store.auditRuns theme structure, conflicts, SEO, accessibility, performance, security, and anti-generic audits (Pro variants when entitled), merges every finding into one severity-sorted list, and surfaces the top 10 next actions.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
scope
Output fields
jobId, stages, findings, counts, nextActions

Limitations

  • Uses Free variants of each sub-audit when the corresponding Pro entitlement is not granted.
Link to this tool · Permission profiles
shopify.store.audit_everythingOne call, every audit the product has: theme structure/conflicts/SEO/a11y/perf/security (store.audit), CRO, mobile, merchandising, inventory, translations coverage, tracking doctor, webhook health, checkout, search zero-results and scope gaps. Returns one severity-sorted list with basis (DATA_SUPPORTED / HEURISTIC / EXPERIMENT_RECOMMENDED) and fixClass (AUTO_FIX_SAFE / NEEDS_REVIEW / MANUAL), per-area scores, an action plan grouped by fix class, and the list of areas skipped because a scope or entitlement is missing. Job record via shopify.store.job_status.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, url, areas, maxFindings
Output fields
jobId

Limitations

  • Areas whose scope or entitlement is missing are reported as skipped, never as passing.
Link to this tool · Permission profiles
shopify.store.buildBuilds a brand-new store end to end from a merchant brief: design manifest -> working theme -> snapshot -> every page type (header/home/pdp/plp/cart/search/footer) -> required static pages -> menu, then runs the Theme Check, preservation, and anti-generic quality gates. Never publishes.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
brief, requiredPages, baseThemeUrl, dryRun, __test_hooks
Output fields
jobId, stages, gates, manifestId, workingThemeId, previewUrl, operationIds, publishRequiresApproval

Limitations

  • Synchronous in 0.x; a task-mode variant is planned for a later release.
  • Never publishes, publishing is always a separate, explicit step.
Link to this tool · Permission profiles
shopify.store.configurationStore-level configuration facts relevant to theme/app work (currency, plan, password protection).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
name, domain, primaryDomainUrl, planDisplayName, currencyCode, passwordProtected, themeCount

Limitations

  • Falls back to theme-only data when Admin API is unavailable.
Link to this tool · Permission profiles
shopify.store.health_basicBasic store health signal: reachability of admin and theme engine, and whether the storefront is password protected.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
adminReachable, themeReachable, passwordProtected
Link to this tool · Permission profiles
shopify.store.inspectDeeper store inspection: summary plus store capabilities.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
name, domain, primaryDomainUrl, planDisplayName, currencyCode, passwordProtected, themeCount, capabilities

Limitations

  • Falls back to theme-only data when Admin API is unavailable.
Link to this tool · Permission profiles
shopify.store.migrate_to_hydrogenBuilds a Liquid → Hydrogen migration plan from the live theme and store: every template mapped to a Hydrogen route (with the route generator that produces it), sections → components inventory, theme app blocks/embeds that will NOT run in Hydrogen (each app needs a Storefront API / Hydrogen integration), metafields and metaobjects to keep, markets + locales → i18n, redirects to carry over for SEO parity, tracking → web pixel or Hydrogen Analytics, plus the setup commands from hydrogen.setup and, when a workspace snapshot is supplied, the detection result and generated route files. Phased with effort estimates; nothing is written to the store.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, flavour, framework, workspace
Output fields
jobId

Limitations

  • Areas whose scope or entitlement is missing are reported as skipped, never as passing.
Link to this tool · Permission profiles
shopify.store.optimize_everythingApplies the safe, additive fixes on the WORKING theme and store settings in one run: mobile.fix, accessibility.plan_fix + theme.files.apply, seo.schema_apply, seo.title_template_fix, conflicts.apply_safe_fix for planned cases, webhook uri repairs from webhooks.health, visual.repair when a plan exists, and seo.bulk_optimize only when include lists it (it writes catalog SEO). Runs performance.compare and seo.scorecard before/after as evidence. Default dryRun:true returns the plan; live run needs confirm:true. Every sub-operation is its own ledger entry (rollback per operation). Never publishes.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, dryRun, include, confirm
Output fields
jobId

Limitations

  • Areas whose scope or entitlement is missing are reported as skipped, never as passing.
Link to this tool · Permission profiles
shopify.store.prepare_for_launchLaunch readiness checklist with PASS / WARN / FAIL / SKIP per item and the tool that fixes it: theme (live theme set, no Theme Check errors, working theme not left unpublished), content (home/product/collection/cart/404/search templates, legal + contact + shipping pages, menus with items, no placeholder text), catalog (active products with images, prices, inventory), SEO (homepage title/description, schema, robots + sitemap reachable), commerce (markets active, locales published, discounts not expired, inventory not all zero), tracking (pixel or theme tracking, consent), ops (webhook health, scope gaps, app API version), storefront (password page still on, HTTPS primary domain, pages return 200 with a title). Read-only.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, storeUrl, requiredPages
Output fields
jobId

Limitations

  • Areas whose scope or entitlement is missing are reported as skipped, never as passing.
Link to this tool · Permission profiles
shopify.store.redesignRedesigns an existing store toward a stated goal: baselines (architecture, apps, SEO, visual) -> manifest -> per-page redesign -> Theme Check/visual/accessibility/performance checks -> preservation + SEO regression gates -> diff. Never publishes.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
goal, brandDirection, references, constraints, mustPreserve, targetAudience, seoProtection, pages, dryRun
Output fields
jobId, stages, gates, manifestId, workingThemeId, previewUrl, operationIds, publishRequiresApproval

Limitations

  • Synchronous in 0.x.
  • Never publishes, publishing is always a separate, explicit step.
Link to this tool · Permission profiles
shopify.store.repairDiagnoses a reported symptom by gathering Liquid/Theme-Check/conflict/asset evidence, ranks candidate root causes by keyword overlap + severity, applies only automated safe fixes, and verifies the result.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
symptom, page, url
Output fields
jobId, stages, rootCauses, applied, declined, verification

Limitations

  • Only applies fixes with a known automated safe-fix strategy; everything else is declined for manual review.
Link to this tool · Permission profiles
shopify.block.inspectInspects a section/block/template file: content summary, schema (for liquid), or structure (for JSON templates).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.block.schemaReturns the {% schema %} block (parsed JSON) for a section/block, or the root structure for a template.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.block.createCreates a new section/block/template file (fails if it already exists). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.block.delete_localDeletes a section/block/template file from the working theme.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, dryRun
Output fields
themeId, key, deleted
Link to this tool · Permission profiles
shopify.block.designPlans a premium section/block: returns the scaffold (Liquid + schema) it would generate, without writing anything.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, role, name, manifestId, blocks, settings, appBlocks
Output fields
key, liquid, schema
Link to this tool · Permission profiles
shopify.block.generate_premiumGenerates a complete, Theme-Check-clean premium section/block and writes it to the working theme (unless dryRun). Every user-facing string is a schema setting. No invented copy.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, role, name, manifestId, blocks, settings, appBlocks, themeId, dryRun
Output fields
themeId, key, written, diff, themeCheckErrors, themeCheckWarnings
Link to this tool · Permission profiles
shopify.block.optimizeApplies deterministic hygiene fixes to an existing section/block: lazy-loads images, escapes unescaped setting output, and removes inline styles. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, dryRun
Output fields
themeId, key, written, diff, changesMade
Link to this tool · Permission profiles
shopify.block.redesignRegenerates an existing section/block's markup while preserving its original schema setting ids and any @app block slot.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, role, manifestId, dryRun
Output fields
themeId, key, written, diff, preservedSettingIds
Link to this tool · Permission profiles
shopify.block.referencesWhere this section/block/template is referenced from, and what it references, across the theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
references, referencedBy

Limitations

  • Dynamic references are not resolved.
Link to this tool · Permission profiles
shopify.block.updateUpdates an existing section/block/template file (fails if it does not exist). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.block.validateValidates a section/block/template file: JSON well-formedness and (for liquid) parse + schema errors.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
valid, errors
Link to this tool · Permission profiles
shopify.block.visual_repairApplies a scoped CSS repair patch (from prior shopify.visual.* findings) inside this section/block's own stylesheet block.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, issues, dryRun
Output fields
themeId, key, written, stepsApplied, unresolved

Limitations

  • Only theme-owned issues with a deterministic CSS remedy are applied.
Link to this tool · Permission profiles
shopify.section.inspectInspects a section/block/template file: content summary, schema (for liquid), or structure (for JSON templates).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.section.schemaReturns the {% schema %} block (parsed JSON) for a section/block, or the root structure for a template.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.section.createCreates a new section/block/template file (fails if it already exists). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.section.delete_localDeletes a section/block/template file from the working theme.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, dryRun
Output fields
themeId, key, deleted
Link to this tool · Permission profiles
shopify.section.designPlans a premium section/block: returns the scaffold (Liquid + schema) it would generate, without writing anything.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, role, name, manifestId, blocks, settings, appBlocks
Output fields
key, liquid, schema
Link to this tool · Permission profiles
shopify.section.generate_premiumGenerates a complete, Theme-Check-clean premium section/block and writes it to the working theme (unless dryRun). Every user-facing string is a schema setting. No invented copy.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, role, name, manifestId, blocks, settings, appBlocks, themeId, dryRun
Output fields
themeId, key, written, diff, themeCheckErrors, themeCheckWarnings
Link to this tool · Permission profiles
shopify.section.optimizeApplies deterministic hygiene fixes to an existing section/block: lazy-loads images, escapes unescaped setting output, and removes inline styles. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, dryRun
Output fields
themeId, key, written, diff, changesMade
Link to this tool · Permission profiles
shopify.section.redesignRegenerates an existing section/block's markup while preserving its original schema setting ids and any @app block slot.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, role, manifestId, dryRun
Output fields
themeId, key, written, diff, preservedSettingIds
Link to this tool · Permission profiles
shopify.section.referencesWhere this section/block/template is referenced from, and what it references, across the theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
references, referencedBy

Limitations

  • Dynamic references are not resolved.
Link to this tool · Permission profiles
shopify.section.updateUpdates an existing section/block/template file (fails if it does not exist). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.section.validateValidates a section/block/template file: JSON well-formedness and (for liquid) parse + schema errors.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
valid, errors
Link to this tool · Permission profiles
shopify.section.visual_repairApplies a scoped CSS repair patch (from prior shopify.visual.* findings) inside this section/block's own stylesheet block.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, issues, dryRun
Output fields
themeId, key, written, stepsApplied, unresolved

Limitations

  • Only theme-owned issues with a deterministic CSS remedy are applied.
Link to this tool · Permission profiles
shopify.collection.getReads a collection: description, seo, image, ruleSet (if smart), metafields, and its products.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id, productsFirst
Output fields
collection
Link to this tool · Permission profiles
shopify.collection.add_productsAdds products to a manual collection.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_products
Input fields
id, productIds
Output fields
added
Link to this tool · Permission profiles
shopify.collection.assign_templateAssigns (or clears) a collection's templateSuffix, separate from full collection.update.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, templateSuffix, dryRun
Output fields
collection, updated, diff
Link to this tool · Permission profiles
shopify.collection.createCreates a collection (title, descriptionHtml, and optionally a ruleSet for a smart collection).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
title, descriptionHtml, ruleSet, dryRun
Output fields
collection, created
Link to this tool · Permission profiles
shopify.collection.deleteDeletes a collection (products are not deleted). Destructive; requires confirm:true. Rollback recreates the collection from its before-image (title, description, rules, seo) but manual membership must be re-added.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted

Limitations

  • Storefront URLs to the collection start returning 404; add a redirect.
Link to this tool · Permission profiles
shopify.collection.metafieldsLists the metafields set on a collection.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id
Output fields
metafields
Link to this tool · Permission profiles
shopify.collection.productsLists the products in a collection.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id, productsFirst
Output fields
products
Link to this tool · Permission profiles
shopify.collection.remove_productsRemoves products from a manual collection. Rollback re-adds them.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, productIds, dryRun
Output fields
removed, jobId
Link to this tool · Permission profiles
shopify.collection.reorderMoves products to new positions in a manually-sorted collection (moves: [{ id, newPosition }]). Records the previous order so rollback can restore it.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, moves, dryRun
Output fields
moved, jobId

Limitations

  • Only collections with sort order MANUAL accept moves.
Link to this tool · Permission profiles
shopify.collection.updateUpdates a collection's title/descriptionHtml/ruleSet.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, title, descriptionHtml, ruleSet, dryRun
Output fields
collection, updated, diff
Link to this tool · Permission profiles
shopify.collection.update_seoUpdates a collection's SEO title/description.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, seo, dryRun
Output fields
collection, updated, diff
Link to this tool · Permission profiles
shopify.liquid.inspectFull Liquid inspection: renders, sections, schema, tags, filters, variables, nesting depth.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
See the operation response.

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.parseParses a Liquid file and returns line count and parse errors.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
key, lineCount, errors

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.validateValidates a Liquid file: true if it parses with no errors (including schema JSON errors).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
valid, errors

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.complexityComplexity metrics for this file: lines, tags, nesting depth, loops, renders.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
See the operation response.

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.dependenciesWhat this file references, and what references it, across the whole theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
references, referencedBy

Limitations

  • Dynamic (variable) references are not resolved.
Link to this tool · Permission profiles
shopify.liquid.errorsParse errors only for this file.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
errors

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.filtersLiquid filters used in this file.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
filters

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.objectsLiquid variables/objects referenced in this file.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
variables

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.referencesAll render/section/sections/content_for/asset references from this file.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
See the operation response.

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.tagsLiquid tags used in this file.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
tags

Limitations

  • Static analysis; cannot see conditional runtime behavior.
Link to this tool · Permission profiles
shopify.liquid.unusedSnippets/sections/blocks/assets not reachable from any layout or template.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
unused

Limitations

  • Dynamic references (variables) are conservatively treated as unreachable, so this can over-report.
Link to this tool · Permission profiles
shopify.cro.auditAggregate CRO audit: home, PDP, collection, cart, navigation, trust, and friction checks in one call.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.cartCart checks: visible checkout call-to-action, progress/upsell messaging.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.collectionCollection page checks: sort and filter/facet affordance.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.frictionFlags unusually long forms in theme sections.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.homeChecks that a home page template exists and is well-formed.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.mobileMobile-focused PDP checks (sticky add-to-cart etc.) using a supplied viewportWidth hint.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.navigationNavigation checks: search affordance, menu nesting depth.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.pdpPDP friction/trust checks: sticky add-to-cart on mobile, trust signals near the buy box, shipping/returns info.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.recommendAlias of shopify.cro.audit, sorted by severity (CRITICAL/HIGH first). Never a promise of conversion uplift.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.cro.trustTheme-wide trust/social-proof check (review app markers or review-related markup).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, viewportWidth
Output fields
findings

Limitations

  • Deterministic, rationale-stated friction/trust heuristics. Never a conversion or uplift guarantee.
Link to this tool · Permission profiles
shopify.search.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.search.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.search.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.search.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.search.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.search.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.search.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.search.testRuns real searches for a list of terms and reports result counts, first hits and latency, so search.zero_results.analyze can be confirmed against what shoppers actually get. Uses the Storefront API predictiveSearch when a public token is connected (shopify.hydrogen.connect_store; works while the store is password-protected), otherwise the Online Store /search/suggest.json endpoint.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
terms, storeUrl
Output fields
results, zero, source

Limitations

  • Uses the Online Store predictive search endpoint; Hydrogen storefronts use shopify.hydrogen.storefront.query with predictiveSearch.
Link to this tool · Permission profiles
shopify.search.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.search.zero_results.analyzePredicts zero-result and weak-result searches from the catalog itself: builds the vocabulary shoppers use (collection titles, menu labels, product types, tags) and checks which terms match no product title/tag/type, flags near-duplicates (plural/singular, hyphenation), products with sparse searchable text, and recommends tags/synonym coverage. When a search-terms list is supplied (from Shopify analytics export or a site-search tool), those terms are checked first and become DATA_SUPPORTED.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
terms, maxProducts
Output fields
findings, zeroResultTerms, weakTerms

Limitations

  • Shopify has no API for site-search query logs; pass terms exported from Analytics → Online store searches.
Link to this tool · Permission profiles
shopify.template.inspectInspects a section/block/template file: content summary, schema (for liquid), or structure (for JSON templates).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.template.schemaReturns the {% schema %} block (parsed JSON) for a section/block, or the root structure for a template.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
See the operation response.
Link to this tool · Permission profiles
shopify.template.createCreates a new section/block/template file (fails if it already exists). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.template.delete_localDeletes a section/block/template file from the working theme.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, dryRun
Output fields
themeId, key, deleted
Link to this tool · Permission profiles
shopify.template.generateGenerates a templates/*.json document from a list of section instances (<=25 sections), preserving any app blocks supplied per section.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, name, pageType, grammarId, sections, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.template.optimizeDeterministic template hygiene: dedupes the order array against actual section keys, and warns if the section count is near the 25-section cap.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, name, dryRun
Output fields
themeId, key, written, diff, sectionCount
Link to this tool · Permission profiles
shopify.template.redesignReplaces a template's section arrangement while re-injecting any app blocks the current template held for sections that keep the same id.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, name, sections, dryRun
Output fields
themeId, key, written, diff, preservedAppBlockSections
Link to this tool · Permission profiles
shopify.template.referencesWhere this section/block/template is referenced from, and what it references, across the theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
references, referencedBy

Limitations

  • Dynamic references are not resolved.
Link to this tool · Permission profiles
shopify.template.updateUpdates an existing section/block/template file (fails if it does not exist). Supports dryRun.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name, content, json, dryRun
Output fields
themeId, key, written, diff
Link to this tool · Permission profiles
shopify.template.validateValidates a section/block/template file: JSON well-formedness and (for liquid) parse + schema errors.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, themeId, name
Output fields
valid, errors
Link to this tool · Permission profiles
shopify.visual.auditCaptures a URL (or a page-type target with a default path) across viewports and runs deterministic visual checks (overflow, console/network errors). No aesthetic scoring, evidence for the connected client model.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, target, viewports
Output fields
sessionId, score, breakdown, issues

Limitations

  • Deterministic checks only (overflow, console/network errors). Never an aesthetic/AI score.
Link to this tool · Permission profiles
shopify.visual.capture_matrixCaptures screenshots of a URL across the standard 7-viewport matrix (mobile-s through wide).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, fullPage
Output fields
viewportsCaptured, metrics

Limitations

  • Uses the fixed 7-viewport default matrix: mobile-s, mobile, mobile-l, tablet, laptop, desktop, wide.
Link to this tool · Permission profiles
shopify.visual.capture_pageCaptures screenshots of a single URL across one or more viewports, with basic layout metrics (overflow, console errors, failed requests).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, viewports, fullPage
Output fields
viewportsCaptured, metrics

Limitations

  • 0.1 does not persist screenshots server-side; large images degrade to resource_link placeholders the caller must resolve.
Link to this tool · Permission profiles
shopify.visual.compareCaptures two URLs at the same viewports and returns a metrics diff plus both sets of screenshots.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
urlA, urlB, viewports
Output fields
metricsDiff
Link to this tool · Permission profiles
shopify.visual.issueLooks up a single issue by id from a recent shopify.visual.audit session.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
issueId
Output fields
issue, sessionId
Link to this tool · Permission profiles
shopify.visual.iterateBounded capture -> check -> repair -> recapture loop against a URL/target. Stops when the quality threshold is met, the iteration/time budget is exhausted, or an iteration makes no progress. The quality gate is deterministic-checks-only. Never a hosted-model aesthetic score.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, target, themeId, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • maxIterations is capped at 5. The quality gate is deterministic-checks-only; it does not judge aesthetics.
Link to this tool · Permission profiles
shopify.visual.plan_repairPlans (without writing) the scoped CSS repair for the theme-owned issues in a prior audit session.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, sessionId
Output fields
steps, unresolved
Link to this tool · Permission profiles
shopify.visual.repairApplies the planned scoped CSS repair for theme-owned issues to the working theme (or plans it under dryRun).pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, issues, dryRun
Output fields
themeId, written, filesChanged, unresolved

Limitations

  • Only theme-owned issues with a deterministic CSS remedy are applied.
Link to this tool · Permission profiles
shopify.visual.scoreReturns the score/breakdown of a prior shopify.visual.audit session (or the most recent one for this shop).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
sessionId
Output fields
sessionId, score, breakdown
Link to this tool · Permission profiles
shopify.visual.verifyRe-captures a URL and reports whether the score improved relative to a prior session.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, target, sessionId, viewports
Output fields
sessionId, previousScore, score, improved
Link to this tool · Permission profiles
shopify.media.listLists files in the Files library, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_files
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.media.alt_auditLists a product's media items missing alt text.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
productId
Output fields
missingAlt
Link to this tool · Permission profiles
shopify.media.bulk_altApplies alt text to many files/product media items in one call via BulkRunner (fileUpdate, or productUpdateMedia when productId is given). Records ONE ledger operation with a Change per media item.pro · bulk
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_files, write_products
Input fields
items, dryRun, approvalToken
Output fields
dryRun, succeeded, failed

Limitations

  • Rollback restores alt text only; it does not track which product a file was attached to.
Link to this tool · Permission profiles
shopify.media.deleteDeletes files from Content > Files (images, videos, generic files) by id. Destructive; requires confirm:true. Not reversible on Shopify's side (the bytes are gone), so rollback is not offered; the ledger keeps the ids and alt text.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_files
Input fields
fileIds, confirm, dryRun
Output fields
deletedIds, deleted

Limitations

  • Files referenced by products or theme settings should be detached first.
Link to this tool · Permission profiles
shopify.media.import_urlImports a file into the Files library from a source URL (Shopify fetches it directly; no staged upload needed). Equivalent to shopify.media.upload with only sourceUrl set.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_files
Input fields
filename, sourceUrl, alt, dryRun
Output fields
fileId, url

Limitations

  • Rollback is not supported for media imports; deleting a file is a separate, destructive tool not offered in Free.
Link to this tool · Permission profiles
shopify.media.inspectLists a product's media items with alt text and preview URLs.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
productId
Output fields
media
Link to this tool · Permission profiles
shopify.media.update_altUpdates a file's or a product media item's alt text.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_files, write_products
Input fields
id, alt, productId, dryRun
Output fields
id, alt, updated

Limitations

  • Rollback restores alt text only; it does not track which product a file was attached to.
Link to this tool · Permission profiles
shopify.media.uploadUploads a file into the Files library, from either base64 content (via a staged upload) or a source URL (via fileCreate's originalSource).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_files
Input fields
filename, contentBase64, sourceUrl, alt, contentType, dryRun
Output fields
fileId, url

Limitations

  • Rollback is not supported for media uploads; deleting a file is a separate, destructive tool not offered in Free.
Link to this tool · Permission profiles
shopify.media.usageReports which products reference a given media/file id (best-effort, single-product scope in 0.2).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
productId, mediaId
Output fields
used

Limitations

  • Checks one product at a time; does not search the whole catalog.
Link to this tool · Permission profiles
shopify.cart.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.cart.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.cart.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.cart.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.cart.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.cart.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.cart.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.cart.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.discounts.getReads one discount node (code or automatic).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_discounts
Input fields
id
Output fields
discount
Link to this tool · Permission profiles
shopify.discounts.listLists code and automatic discounts (basic amount-off, buy-X-get-Y, free shipping, app/Functions discounts) with status, schedule, usage, codes and combination rules. Shopify search syntax in `query` (status:active, discount_type:percentage, title:…).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_discounts
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.discounts.activateRe-activates a deactivated/expired discount (code or automatic).pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_discounts
Input fields
id, dryRun
Output fields
id, status
Link to this tool · Permission profiles
shopify.discounts.create_automaticCreates an automatic (no code) percentage or amount-off discount with the same targeting/minimum/schedule options as create_code. Shopify allows a limited number of active automatic discounts.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_discounts
Input fields
title, percentage, amount, appliesOnEachItem, productIds, collectionIds, minimumSubtotal, minimumQuantity, startsAt, endsAt, combinesWith, dryRun
Output fields
discount
Link to this tool · Permission profiles
shopify.discounts.create_codeCreates a code discount: percentage (0–100) or fixed amount off, on all items / specific products / collections, optional minimum subtotal or quantity, schedule, usage limit, once-per-customer, combination rules. Money-affecting: FINANCIAL_IMPACT, refused by the production_safe profile.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_discounts
Input fields
title, percentage, amount, appliesOnEachItem, productIds, collectionIds, minimumSubtotal, minimumQuantity, startsAt, endsAt, combinesWith, dryRun, code, usageLimit, appliesOncePerCustomer
Output fields
discount
Link to this tool · Permission profiles
shopify.discounts.create_free_shippingCreates a free-shipping code discount (all destinations) with optional minimum subtotal, schedule, usage limit and maximum shipping price.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_discounts
Input fields
title, code, minimumSubtotal, startsAt, endsAt, usageLimit, appliesOncePerCustomer, maximumShippingPrice, dryRun
Output fields
discount
Link to this tool · Permission profiles
shopify.discounts.deactivateDeactivates a discount immediately (code or automatic); the discount is kept and can be re-activated.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_discounts
Input fields
id, dryRun
Output fields
id, status
Link to this tool · Permission profiles
shopify.discounts.deleteDeletes a discount permanently (usage history is lost). Prefer deactivate. confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_discounts
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.footer.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.footer.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.footer.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.footer.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.footer.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.footer.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.footer.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.footer.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.header.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.header.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.header.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.header.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.header.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.header.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.header.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.header.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.home.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.home.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.home.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.home.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.home.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.home.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.home.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.home.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.pdp.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.pdp.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.pdp.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.pdp.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.pdp.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.pdp.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.pdp.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.pdp.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.plp.audit_basicFree: a small subset of the anti-generic checklist, plus (for pdp/cart) a check that a purchase form is actually present.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
findings

Limitations

  • Free subset only, see shopify.design.anti_generic_audit (Pro) for the full checklist.
Link to this tool · Permission profiles
shopify.plp.buildGenerates scaffolds for every required role in the chosen grammar, writes the sections and the template/section-group JSON to the working theme, runs Theme Check and a preservation check, and returns the diff.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, sectionsCreated, themeCheckErrors, themeCheckWarnings, preservationMissing, previewUrl

Limitations

  • Builds only the grammar's required role slots; optional roles are left for a follow-up shopify.section.generate_premium call.
Link to this tool · Permission profiles
shopify.plp.inspectFree: returns whether this page type's template/section-group exists and how many sections it has.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
templateKey, exists, sectionCount
Link to this tool · Permission profiles
shopify.plp.optimizeDeterministic hygiene on this page type's template/section-group: dedupes the section order against actual keys. No creative/structural change.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, dryRun
Output fields
themeId, templateKey, written, diff
Link to this tool · Permission profiles
shopify.plp.planChooses a layout grammar for this page type from the design manifest + catalog facts, lists the section role sequence, and surfaces any app integrations that must be preserved.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts
Output fields
grammarId, grammarName, rationale, roles, preservationConstraints
Link to this tool · Permission profiles
shopify.plp.redesignRe-evaluates the grammar for this page type and adds any required role missing from the existing template/section-group, leaving existing sections, settings, and app blocks untouched.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, manifestId, catalogFacts, dryRun
Output fields
themeId, templateKey, written, rolesAdded, diff
Link to this tool · Permission profiles
shopify.plp.structureFree: returns the ordered list of sections for this page type with a best-effort role guess per section.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId
Output fields
sections

Limitations

  • Role guesses are heuristic (derived from the section type name).
Link to this tool · Permission profiles
shopify.plp.visual_iterateAlias for shopify.visual.iterate scoped to this page type's default path.pro · theme_write
Approval
none
Dry-run
Not supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, themeId, url, maxIterations, qualityThreshold, timeBudgetMs
Output fields
iterations, finalScore, stopReason

Limitations

  • Delegates entirely to shopify.visual.iterate.
Link to this tool · Permission profiles
shopify.aeo.answerabilityChecks for FAQ-shaped content and/or FAQPage JSON-LD schema.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.auditAggregate AEO audit: entity clarity, product facts, brand clarity, answerability, and content structure.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, resources
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.brand_clarityChecks for an About page among supplied resources.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
resources
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.content_structureChecks heading outlines in templates/sections for skipped levels.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.entity_clarityChecks for an Organization JSON-LD block (name/logo/sameAs) in the layout head.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.product_factsChecks Product JSON-LD completeness on product templates/sections (brand, sku/gtin, offers, availability).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.aeo.recommendAlias of shopify.aeo.audit, sorted with VERIFIED_TECHNICAL recommendations first, the highest-confidence, most actionable items.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, resources
Output fields
recommendations

Limitations

  • Deterministic structural checks only; labels distinguish documented requirements from best-practice suggestions. Never a ranking or traffic promise.
Link to this tool · Permission profiles
shopify.apps.detect_blocksDetects apps integrated as theme app blocks (shopify://apps/... in templates/section groups).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
apps

Limitations

  • Evidence-based reconstruction, not the merchant's authoritative installed-app list.
Link to this tool · Permission profiles
shopify.apps.detect_embedsDetects apps integrated as theme app embeds (config/settings_data.json blocks).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
apps

Limitations

  • Evidence-based reconstruction, not the merchant's authoritative installed-app list.
Link to this tool · Permission profiles
shopify.apps.detect_scriptsDetects apps installed via legacy ScriptTag API, using the Admin API when available. ScriptTags stop running after 2027-03-01.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
scriptTags

Limitations

  • Requires Admin API access. Legacy ScriptTags are sunsetting; most apps have already migrated to app embeds/blocks.
Link to this tool · Permission profiles
shopify.apps.detect_theme_referencesDetects apps referenced by theme-file fingerprints (known snippet/asset/CSS-class patterns) rather than block/embed integration.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
apps

Limitations

  • Evidence-based reconstruction, not the merchant's authoritative installed-app list.
Link to this tool · Permission profiles
shopify.apps.list_detectedLists all apps detected across every evidence type (blocks, embeds, theme references) in one call. Equivalent to shopify.apps.scan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
apps

Limitations

  • Evidence-based reconstruction, never authoritative.
Link to this tool · Permission profiles
shopify.apps.preservation_manifest_basicWhere each detected app is integrated (per template/section-group), and a basic preservation manifest for theme-write operations.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
integrationMap, preservationManifest

Limitations

  • Non-AI: importance is a static category lookup, not judged per-store.
Link to this tool · Permission profiles
shopify.apps.scanReconstructs installed apps from theme evidence: app blocks, app embeds, and known-app file/CSS fingerprints. Confidence-scored, never authoritative.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
apps

Limitations

  • Evidence-based reconstruction, not the merchant's authoritative installed-app list, an app can be installed without theme footprint, or theme footprint can outlive uninstall.
Link to this tool · Permission profiles
shopify.metafields.definitionsLists metafield definitions for an owner type, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
ownerType, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.metafields.listLists the metafields set on a specific owner (product, collection, page, article, etc.), paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
ownerId, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.metafields.bulk_previewPreviews a batch metafieldsSet call (up to 25 entries) without writing: validates namespaces and returns the before-image for each owner/key.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
metafields
Output fields
preview, rejected

Limitations

  • Read-only: does not call metafieldsSet.
Link to this tool · Permission profiles
shopify.metafields.definition_createCreates a metafield definition (namespace/key/type/owner) so values are validated, editable in admin and exposable to the storefront. Types are validated against Shopify's supported list before the call; list types use the 'list.' prefix.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, namespace, key, type, ownerType, description, pin, storefrontAccess, validations, dryRun
Output fields
definition, created

Limitations

  • The owner resource's write scope is required (e.g. write_products for PRODUCT).
Link to this tool · Permission profiles
shopify.metafields.definition_updateUpdates a metafield definition's name, description, pin, storefront access or validations (type and key cannot change).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
namespace, key, ownerType, name, description, pin, storefrontAccess, validations, dryRun
Output fields
definition, updated
Link to this tool · Permission profiles
shopify.metafields.deleteDeletes metafields by owner/namespace/key. Refuses app-owned ($app:...) namespaces. Destructive; requires confirm:true.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
metafields, confirm, dryRun
Output fields
deleted
Link to this tool · Permission profiles
shopify.metafields.setSets up to 25 metafields in one call. Refuses app-owned ($app:...) namespaces.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
metafields, dryRun
Output fields
metafields, updated

Limitations

  • At most 25 metafields per call (Shopify's metafieldsSet limit).
Link to this tool · Permission profiles
shopify.auth.connectReturns an admin URL to complete or extend the store's connection to ShopManager AI. Never accepts secrets as input.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
adminUrl

Limitations

  • Never accepts or returns credentials; the user completes the flow in the browser.
Link to this tool · Permission profiles
shopify.auth.disconnectDisconnecting is only available from the Shopify admin UI, not through MCP.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
See the operation response.

Limitations

  • Never supported through MCP by design.
Link to this tool · Permission profiles
shopify.auth.doctorActionable checklist of what's wrong with this credential's setup and what to do about it.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
issues
Link to this tool · Permission profiles
shopify.auth.permissionsReturns the full set of Shopify scopes and store capabilities available to this credential.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
scopesGranted, capabilities, policy
Link to this tool · Permission profiles
shopify.auth.statusReports what kinds of access this credential has (admin, theme write) and the scopes granted, without ever revealing secrets.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
kind, profile, scopesGranted, themeWriteAvailable, adminAvailable

Limitations

  • Never returns tokens or secrets.
Link to this tool · Permission profiles
shopify.auth.validateProbes the theme engine (list themes) and admin API (shop query) to confirm the credential actually works.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
themeProbeOk, adminProbeOk, errors
Link to this tool · Permission profiles
commerce.diagnosticsAggregates health, capabilities, and entitlement state into a single diagnostics report.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
healthy, checks, capabilities, entitlementState
Link to this tool · Permission profiles
commerce.diagnostics.apiAdmin API health for this shop: reachable, API version in use vs the app's configured version, granted access scopes (from currentAppInstallation), throttle status from the last call, active app subscriptions. MANUAL findings for version drift.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
reachable, apiVersion, installation, findings
Link to this tool · Permission profiles
commerce.diagnostics.extensionsWhat this app has deployed on the store: web pixel (and settings), Shopify Functions with what they are attached to (discount/transform/validation via the admin), checkout profiles, plus recommendations (no pixel → scaffold, no functions → what would help).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
pixel, functions, checkoutProfiles, findings
Link to this tool · Permission profiles
commerce.diagnostics.permissionsScope gap analysis: compares the scopes granted to this install (credential + currentAppInstallation) with the app's configured scope list and with every registered tool's requiredShopifyScopes, and lists which tool families are blocked and by which scope. AUTO_FIX_SAFE = reconnect with the configured scope set.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
granted, configured, missingFromInstall, blockedFamilies, findings
Link to this tool · Permission profiles
commerce.diagnostics.trackingAlias of shopify.tracking.audit inside the diagnostics family (theme trackers, duplicates, consent, script tags, pixel).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
detected, scriptTags, pixel, findings, themeFiles
Link to this tool · Permission profiles
commerce.diagnostics.webhooksAlias of shopify.webhooks.health inside the diagnostics family.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
subscriptions, expected, receipts, findings, score
Link to this tool · Permission profiles
shopify.draft_orders.completeCompletes a draft order into a real order, marked paid (or paymentPending:true for pay-later). Creates a financial record: confirm:true required; refused by the production_safe profile.pro · commerce_sensitive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_draft_orders
Input fields
id, paymentPending, confirm
Output fields
orderId
Link to this tool · Permission profiles
shopify.draft_orders.createCreates a draft order (variant lines or custom lines, customer by id or email, note, tags, order-level discount, shipping address). Nothing is charged until draft_orders.complete or the customer pays the invoice.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_draft_orders
Input fields
lineItems, email, customerId, note, tags, appliedDiscount, shippingAddress, useCustomerDefaultAddress, reserveInventoryUntil, dryRun
Output fields
draftOrder
Link to this tool · Permission profiles
shopify.draft_orders.deleteDeletes a draft order. confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_draft_orders
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.draft_orders.listLists draft orders with status, total, customer, invoice URL and the order they became.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_draft_orders
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.draft_orders.send_invoiceEmails the draft order invoice to the customer (optional custom recipient, subject, message). Sends an email: confirm:true required.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_draft_orders
Input fields
id, to, subject, customMessage, confirm
Output fields
invoiceUrl
Link to this tool · Permission profiles
shopify.draft_orders.updateUpdates an open draft order (line items replace the existing ones when given, email, note, tags, discount).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_draft_orders
Input fields
id, lineItems, email, customerId, note, tags, appliedDiscount, dryRun
Output fields
draftOrder
Link to this tool · Permission profiles
shopify.inventory.getInventory per variant per location for one product: available, on_hand, committed (and any other named quantity you ask for), plus the inventoryItemId and tracked flag the write tools need.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_inventory, read_products
Input fields
productId, names
Output fields
productId, title, rows
Link to this tool · Permission profiles
shopify.inventory.activateStarts stocking an inventory item at a location (creates the inventory level, optionally with an initial available quantity).pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_inventory
Input fields
inventoryItemId, locationId, available, dryRun
Output fields
level
Link to this tool · Permission profiles
shopify.inventory.adjustAdjusts inventory by a delta (+/-) per variant + location (available or on_hand) with an audit reason. Prefer shopify.inventory.set when you know the target quantity; use adjust for receipts/shrinkage. Idempotency key attached.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_inventory, read_products
Input fields
productId, name, reason, changes, dryRun
Output fields
changes, groupId
Link to this tool · Permission profiles
shopify.inventory.auditScans active products for inventory risks: sold out at every location, low stock (≤ threshold), untracked variants that show as always available, negative or oversold levels, and variants stocked nowhere. Read-only; returns concrete inventory.set inputs to fix each finding.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_inventory, read_products
Input fields
lowStockThreshold, maxProducts
Output fields
findings, productsScanned
Link to this tool · Permission profiles
shopify.inventory.item_updateUpdates an inventory item: tracked on/off, SKU, unit cost, requires shipping, country of origin, HS code.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_inventory
Input fields
inventoryItemId, tracked, sku, cost, requiresShipping, countryCodeOfOrigin, harmonizedSystemCode, dryRun
Output fields
item
Link to this tool · Permission profiles
shopify.inventory.setSets absolute inventory quantities (available or on_hand) per inventory item + location with compare-and-set: the current quantity is read first and sent as changeFromQuantity (required by Shopify since 2026-07) so a concurrent change is rejected instead of overwritten; it is also the before-image for rollback. Idempotency key attached to every call.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_inventory, read_products
Input fields
productId, name, reason, quantities, ignoreCompareQuantity, dryRun
Output fields
changes, groupId
Link to this tool · Permission profiles
commerce.memory.deletePermanently deletes a memory (and its version history). Use when a memory is wrong, outdated, or the user asks you to forget it. Requires confirm:true.free · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, confirm
Output fields
deleted

Limitations

  • Permanent; no rollback. Prefer updating (commerce.memory.save with id) over delete+recreate when the topic still applies but details changed.
Link to this tool · Permission profiles
commerce.memory.getReturns the full content of a single memory by id or name.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, name
Output fields
memory

Limitations

  • Call after reading the memory index; feedback/project memories typically include **Why:** and **How to apply:** lines you should respect.
Link to this tool · Permission profiles
commerce.memory.listReturns the concise memory index (id, name, description, type, version, updatedAt) for every stored memory, optionally filtered by type.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
type
Output fields
memories, total

Limitations

  • The memory index is also automatically prepended to discover-tools instructions; you typically do not need to call this if you can read it from there.
Link to this tool · Permission profiles
commerce.memory.restoreRestores a memory to a past version (recorded as a new version, a "reroll" rather than a rewind).free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, version
Output fields
memory
Link to this tool · Permission profiles
commerce.memory.saveCreates a new memory or updates an existing one. You have a persistent, database-backed memory system scoped to this store. Build it up over time so future conversations can start with a complete picture of who the user is, how they collaborate with you, what to avoid or repeat, and the context behind the work. If the user explicitly asks you to remember something, save it immediately as whichever type fits best. If they ask you to forget something, call commerce.memory.delete. ## Types of memory - user, Role, goals, responsibilities, knowledge, preferences. Save when you learn details about who the user is. Avoid negative judgments. - feedback, Guidance the user has given about how to approach work. Save from BOTH correction ("no, not that") AND confirmation ("yes exactly", accepting an unusual choice without pushback). Structure: rule, then **Why:** and **How to apply:** lines. - project, Ongoing work, goals, bugs, decisions that aren't derivable from the store or its history. Convert relative dates to absolute dates before saving. - reference, Pointers to where information lives in external systems (a Linear project, a dashboard). - design, A block/section subtree in this store's own design vocabulary: what a pricing tier, hero, or testimonial set on this store is actually made of. Kept per store rather than shipped as a generic template. ## What NOT to save - Theme code, product data, or credentials, read those live from the store; a memory is not a cache and can go stale in a way that misleads instead of helps. - Anything derivable from the live store (current inventory, current theme files, current settings). - Debugging solutions or fix recipes, the fix is in the code; there is no commit history to point to here, so restate the reasoning inline instead of citing one. - Ephemeral task state: in-progress work, current conversation context. ## How to save 1. Check the memory index (either from discover-tools or by calling commerce.memory.list) first, prefer UPDATING (pass id) over creating duplicates. 2. Call commerce.memory.save with name, description (a specific one-line hook. This is how future-you decides relevance), type, and content. 3. Organize memories semantically by topic, not chronologically. 4. If a memory turns out to be wrong or outdated, update or delete it, don't accumulate stale entries.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, name, description, type, content
Output fields
memory

Limitations

  • content is stored as plain text; any HTML markup is stripped.
  • Never store theme code, product data, or credentials in memory.
Link to this tool · Permission profiles
commerce.memory.versionsLists the version history of a memory, newest first (up to the last 50 saves).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id
Output fields
versions

Limitations

  • Only the most recent 50 versions are retained.
Link to this tool · Permission profiles
shopify.page.getReads a page's body, isPublished, templateSuffix, and seo.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
id
Output fields
page
Link to this tool · Permission profiles
shopify.page.createCreates an Online Store page.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
title, body, isPublished, seo, dryRun
Output fields
page, created
Link to this tool · Permission profiles
shopify.page.deleteDeletes an Online Store page. Destructive; requires confirm:true. Rollback recreates it from the before-image (title, body, SEO).pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted
Link to this tool · Permission profiles
shopify.page.redesignRedesigns a single page type. Thin wrapper over shopify.theme.redesign with pages:[target].pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
target, manifestId, themeId, dryRun
Output fields
stages, gates, previewUrl, diffRef, publishRequiresApproval

Limitations

  • Delegates entirely to shopify.theme.redesign.
Link to this tool · Permission profiles
shopify.page.updateUpdates a page's title/body/isPublished/seo.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, title, body, isPublished, seo, dryRun
Output fields
page, updated, diff
Link to this tool · Permission profiles
shopify.page.update_seoUpdates a page's SEO title/description.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, seo, dryRun
Output fields
page, updated, diff
Link to this tool · Permission profiles
shopify.price_lists.listLists price lists: currency, parent adjustment (percentage increase/decrease over base prices), catalog and count of fixed prices.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.price_lists.pricesLists the prices in a price list (fixed and adjusted) per variant.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.price_lists.createCreates a price list in a currency with a percentage adjustment over base prices (e.g. PERCENTAGE_INCREASE 10) and optionally links it to a catalog. Fixed per-variant prices are added with price_lists.set_prices.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
name, currency, adjustmentType, adjustmentValue, catalogId, compareAtMode, dryRun
Output fields
priceList
Link to this tool · Permission profiles
shopify.price_lists.deleteDeletes a price list and all its fixed prices. Destructive; confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_products
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.price_lists.remove_pricesRemoves fixed prices for variants from a price list (they fall back to the adjusted price). Records removed prices for rollback.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
priceListId, variantIds, dryRun
Output fields
deletedVariantIds
Link to this tool · Permission profiles
shopify.price_lists.set_pricesAdds or updates fixed per-variant prices (and optional compare-at) in a price list; the currency must match the list's. Records previous fixed prices for rollback.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
priceListId, prices, dryRun
Output fields
prices
Link to this tool · Permission profiles
shopify.webhooks.listLists this app's webhook subscriptions: topic, delivery uri (HTTPS / Pub/Sub / EventBridge), format, includeFields, filter, API version. Only subscriptions created by this app are visible (Shopify scopes webhooks per app).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
topics, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.webhooks.createSubscribes this app to a topic (orders/create, products/update, inventory_levels/update, …) at an HTTPS uri, Google Pub/Sub topic (pubsub://project:topic) or EventBridge ARN, optionally restricting the payload with includeFields / metafieldNamespaces / filter. Rollback deletes the subscription. Note: the receiving endpoint must verify X-Shopify-Hmac-Sha256.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
topic, uri, format, includeFields, metafieldNamespaces, filter, dryRun
Output fields
subscription
Link to this tool · Permission profiles
shopify.webhooks.deleteDeletes a webhook subscription. The topic/uri are recorded so rollback can re-create it. confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
inverse_operation
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.webhooks.healthChecks the app's webhook wiring: every expected topic (lifecycle + mandatory GDPR) subscribed, uris point at this app over HTTPS, no duplicates, API version consistent, and when each topic was last received by this server. Findings are classified AUTO_FIX_SAFE / NEEDS_REVIEW / MANUAL with the exact tool call to fix them.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
subscriptions, expected, receipts, findings, score
Link to this tool · Permission profiles
shopify.webhooks.testSends a signed sample delivery (X-Shopify-Hmac-Sha256 with the app secret, X-Shopify-Topic, X-Shopify-Shop-Domain, X-Shopify-Webhook-Id) for a topic to THIS app's receiver and reports the HTTP status and latency, proving HMAC verification + dedupe work end to end. Only the app's own URL is targeted; third-party uris are never called.pro · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
topic, payload
Output fields
url, status, ms, body, dedupedOnReplay
Link to this tool · Permission profiles
shopify.webhooks.updateUpdates a webhook subscription's uri, includeFields, metafieldNamespaces or filter. Before-image recorded for rollback.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
id, uri, includeFields, metafieldNamespaces, filter, dryRun
Output fields
subscription
Link to this tool · Permission profiles
shopify.article.getReads a single article's body, isPublished, and seo.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
id
Output fields
article
Link to this tool · Permission profiles
shopify.article.create_draftCreates an article as an unpublished draft. isPublished is always forced to false regardless of input.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
blogId, title, body, tags, dryRun
Output fields
article, created

Limitations

  • Always creates a draft (isPublished:false); use article.update to publish.
Link to this tool · Permission profiles
shopify.article.deleteDeletes a blog article. Destructive; requires confirm:true. Rollback recreates it as a draft from the before-image.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted
Link to this tool · Permission profiles
shopify.article.updateUpdates an article's title/body/isPublished/seo.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, title, body, isPublished, seo, dryRun
Output fields
article, updated, diff
Link to this tool · Permission profiles
shopify.article.update_seoUpdates an article's SEO title/description.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_content
Input fields
id, seo, dryRun
Output fields
article, updated, diff
Link to this tool · Permission profiles
shopify.markets.getReads one market with regions, currency settings, web presences and catalogs.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_markets
Input fields
id
Output fields
market
Link to this tool · Permission profiles
shopify.markets.listLists Shopify Markets: regions (country codes), status, base currency / local currencies, web presences (domain or subfolder, default + alternate locales, root URLs) and linked catalogs.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_markets
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.markets.createCreates a region market (name, handle, ISO country codes, base currency) as DRAFT by default so pricing/domains can be configured before it goes live. Web presences and catalogs are attached afterwards (markets.update / catalogs.create).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_markets
Input fields
name, handle, regions, baseCurrency, localCurrencies, status, dryRun
Output fields
market
Link to this tool · Permission profiles
shopify.markets.deleteDeletes a non-primary market. Destructive: web presences, catalogs links and market-specific translations/prices go with it; confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_markets
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.markets.updateUpdates a market: name, handle, status (ACTIVE/DRAFT), add regions.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_markets
Input fields
id, name, handle, status, addRegions, dryRun
Output fields
market
Link to this tool · Permission profiles
shopify.navigation.getReads a menu's full nested item tree.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_online_store_navigation
Input fields
id
Output fields
menu
Link to this tool · Permission profiles
shopify.navigation.listLists navigation menus (main-menu, footer, etc.), paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_online_store_navigation
Input fields
first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.navigation.createCreates a menu with a full (nested) item tree. Item types follow Shopify's MenuItemType (FRONTPAGE, COLLECTION, PRODUCT, PAGE, BLOG, ARTICLE, HTTP, CATALOG, SEARCH, SHOP_POLICY, CUSTOMER_ACCOUNT_PAGE, METAOBJECT). Rollback deletes the menu.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
title, handle, items, dryRun
Output fields
menu, created

Limitations

  • Max 3 nesting levels (Shopify).
Link to this tool · Permission profiles
shopify.navigation.deleteDeletes a menu. Destructive; requires confirm:true. Default menus (main-menu, footer) cannot be deleted by Shopify. Rollback recreates the menu from its before-image.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted
Link to this tool · Permission profiles
shopify.navigation.updateReplaces a menu's full item tree. Requires confirm:true (menuUpdate has no partial-item mutation, so a mistaken call can wipe the menu). dryRun shows the tree diff without writing.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
id, items, title, confirm, dryRun
Output fields
menu, updated, diff

Limitations

  • menuUpdate replaces the entire tree; there is no way to patch a single item server-side.
Link to this tool · Permission profiles
shopify.orders.cancelCancels an order with a reason, optionally refunding and restocking and notifying the customer. Irreversible and money-moving: confirm:true required; the production_safe profile refuses it. Shopify runs it as a job; poll with shopify.store.job_status.pro · commerce_sensitive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_orders
Input fields
id, reason, refund, restock, notifyCustomer, staffNote, confirm
Output fields
jobId
Link to this tool · Permission profiles
shopify.orders.closeCloses (archives) an order that is fully paid and fulfilled.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_orders
Input fields
id, dryRun
Output fields
order
Link to this tool · Permission profiles
shopify.orders.getReads one order: totals, line items, discount codes, shipping address (city/region only), fulfillment orders with remaining quantities (needed by fulfillment.create), fulfillments with tracking, returns.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_orders, read_merchant_managed_fulfillment_orders
Input fields
id
Output fields
order
Link to this tool · Permission profiles
shopify.orders.listLists orders (newest first) with financial/fulfillment status, total, customer, tags. Shopify search syntax in `query` (status:open, financial_status:paid, fulfillment_status:unfulfilled, created_at:>2026-01-01, tag:…). Without the read_all_orders scope Shopify returns only the last 60 days. Protected customer data.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_orders
Input fields
first, after, query, sortKey, reverse
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.orders.updateUpdates an order's note, tags or contact email (no line-item edits). Before-image recorded; rollback restores note/tags.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_orders
Input fields
id, note, tags, addTags, email, dryRun
Output fields
order
Link to this tool · Permission profiles
commerce.skills.deletePermanently deletes a custom skill. Requires confirm:true.free · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, confirm
Output fields
deleted

Limitations

  • Permanent; no rollback.
Link to this tool · Permission profiles
commerce.skills.enableEnables or disables a skill (hides disabled skills from MCP prompts/list).free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, enabled
Output fields
skill
Link to this tool · Permission profiles
commerce.skills.getReturns one skill's full body by name.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name
Output fields
skill
Link to this tool · Permission profiles
commerce.skills.listLists this shop's skills (built-in file skills plus custom/overridden DB skills), including enabled state.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
skills

Limitations

  • Only reflects DB-stored skills; built-in file skills known to the server are merged in at the MCP layer, not here.
Link to this tool · Permission profiles
commerce.skills.writeCreates or updates a custom skill for this shop (becomes a custom copy if it overrides a built-in name).free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, title, description, tier, body
Output fields
skill

Limitations

  • Body must be plain text/Markdown without YAML frontmatter; frontmatter fields (title/description/tier) are supplied as separate inputs.
Link to this tool · Permission profiles
shopify.translations.getReads the translatable content of one resource (product, collection, page, article, menu, metafield, shop, theme…): keys, source values, digests (needed to register), and the existing translations for a locale (optionally market-scoped).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_translations
Input fields
resourceId, locale, marketId
Output fields
resource
Link to this tool · Permission profiles
shopify.translations.listLists translatable resources of one type (PRODUCT, COLLECTION, PAGE, ARTICLE, BLOG, MENU, ONLINE_STORE_THEME, METAFIELD, METAOBJECT, SHOP, …) with their content digests and, when a locale is given, what is already translated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_translations
Input fields
resourceType, locale, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.translations.auditTranslation coverage per enabled locale for products, collections, pages, articles and menus: which resources have no translation, partial coverage (missing keys) or outdated translations (source changed since). Returns exact register inputs (keys still to translate) so an AI client can fill the gaps.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_translations, read_locales
Input fields
locales, resourceTypes, maxPerType
Output fields
coverage, findings
Link to this tool · Permission profiles
shopify.translations.registerWrites translations for a resource in one locale. Reads the resource first to fetch current digests (so you pass only key/value), refuses unknown keys, records the previous translated values for rollback. Optional marketId scopes the translation to one market.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_translations
Input fields
resourceId, locale, translations, marketId, dryRun
Output fields
translations, skipped
Link to this tool · Permission profiles
shopify.translations.removeRemoves translations for given keys and locales on a resource (the source content stays). Records removed values for rollback.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_translations
Input fields
resourceId, locales, keys, marketIds, dryRun
Output fields
removed
Link to this tool · Permission profiles
shopify.catalogs.listLists catalogs (market, B2B company-location or app catalogs) with status, linked price list, publication and markets.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products, read_markets
Input fields
first, after, query, type
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.catalogs.createCreates a catalog for markets (marketIds) or B2B company locations (companyLocationIds), optionally attaching a price list and a publication. DRAFT by default.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products, write_markets
Input fields
title, status, marketIds, companyLocationIds, priceListId, publicationId, dryRun
Output fields
catalog
Link to this tool · Permission profiles
shopify.catalogs.deleteDeletes a catalog (optionally its price list and publication too). Destructive; confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_products, write_markets
Input fields
id, deleteDependentResources, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.catalogs.updateUpdates a catalog: title, status, markets, price list, publication.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_products, write_markets
Input fields
id, title, status, marketIds, priceListId, publicationId, dryRun
Output fields
catalog
Link to this tool · Permission profiles
commerce.change.applyApplies a mutation through the full pipeline (identical to calling the tool directly) and returns the ledger operation id, changes, evidence and rollback info. Pass approvalToken when change.validate said one is required.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, input, approvalToken
Output fields
tool, operationId, summary, rollback
Link to this tool · Permission profiles
commerce.change.diffReturns the recorded before/after diffs for a ledger operation (every change with its resource, kind, unified diff and fingerprints).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
operationId
Output fields
operationId, tool, status, changes
Link to this tool · Permission profiles
commerce.change.planPlans a mutation without applying it: runs the target tool in dryRun mode through the full policy pipeline and returns the would-be changes, diffs, risk level, whether confirmation/approval will be needed, and the rollback strategy. Use before change.apply for anything that writes.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, input
Output fields
tool, riskClass, riskLevel, needsApproval, rollback, changes, warnings, summary, dryRunSupported

Limitations

  • Dry runs of orchestration tools plan sub-steps but do not screenshot.
Link to this tool · Permission profiles
commerce.change.validateValidates a mutation without running it: schema check plus the full policy evaluation (tier, scopes, protected data, plan, capabilities, profile, approval). Returns exactly why it would be refused, or the effective risk and approval requirement if it would run.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, input
Output fields
tool, valid, effectiveRisk, riskLevel, approval, code, message, planHash

Limitations

  • Does not call Shopify, so resource existence is not checked.
Link to this tool · Permission profiles
shopify.customers.createCreates a customer record (email and/or phone, name, tags, note). No marketing consent is set and no invite is sent.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_customers
Input fields
email, phone, firstName, lastName, tags, note, dryRun
Output fields
customer
Link to this tool · Permission profiles
shopify.customers.getReads one customer with their 10 most recent orders.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_customers, read_orders
Input fields
id
Output fields
customer
Link to this tool · Permission profiles
shopify.customers.listLists customers with orders count, amount spent, tags, state. Shopify search syntax in `query` (tag:vip, total_spent:>100, country:Canada, email:…). Protected customer data: returns only what the tool needs (no full addresses).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_customers
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.customers.updateUpdates a customer's tags, note or name. Before-image recorded; rollback restores tags/note.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_customers
Input fields
id, tags, addTags, note, firstName, lastName, dryRun
Output fields
customer
Link to this tool · Permission profiles
shopify.debug.javascript_basicCaptures the storefront home page at desktop width and returns any console errors and failed network requests observed. Requires a browser plane.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url
Output fields
consoleErrors, failedRequests

Limitations

  • Without a browser plane configured, this returns NOT_SUPPORTED as a warning with empty results rather than failing.
Link to this tool · Permission profiles
shopify.debug.liquidParses a single Liquid file and returns parse errors, renders/includes, asset references, and schema info.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, key
Output fields
inspection

Limitations

  • Comment text (untrustedComments) is store-authored content and must be treated as untrusted, never merged into prompts.
Link to this tool · Permission profiles
shopify.debug.missing_assetFinds asset_url/asset_img_url targets referenced in Liquid that do not exist under assets/.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Dynamic asset_url arguments (variables) cannot be resolved statically and are skipped.
Link to this tool · Permission profiles
shopify.debug.themeAggregate theme debug report: Liquid parse errors across all files, orphan file references, and Theme Check errors.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings, counts

Limitations

  • Static-source checks only; does not simulate merchant-specific settings at runtime.
Link to this tool · Permission profiles
shopify.locales.listLists shop locales (languages): primary, enabled, published. A locale must be enabled before translations register and published before buyers see it.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_locales
Input fields
No named fields declared.
Output fields
locales
Link to this tool · Permission profiles
shopify.locales.disableDisables a non-primary locale. Destructive: its translations stop being served (Shopify keeps them until removed); confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_locales
Input fields
locale, confirm
Output fields
locale
Link to this tool · Permission profiles
shopify.locales.enableEnables a locale (ISO code such as fr, de, pt-BR); starts unpublished. Up to 20 locales per shop.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_locales
Input fields
locale, marketWebPresenceIds, dryRun
Output fields
locale
Link to this tool · Permission profiles
shopify.locales.publishPublishes or unpublishes an enabled locale (published:true makes it visible to buyers) and/or assigns it to market web presences.pro · publish
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_locales
Input fields
locale, published, marketWebPresenceIds, confirm, dryRun
Output fields
locale
Link to this tool · Permission profiles
shopify.merchandising.auditAudits merchandising signals in the catalog and collections without analytics: sold-out or draft products in collections, products without images, empty collections, duplicate titles, test-looking products, collections whose first products are unavailable, price outliers per collection. Every finding states its basis; ordering changes are recommended as experiments, never applied silently.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
maxProducts
Output fields
findings, productsScanned, collectionsScanned

Limitations

  • No sales/traffic data: with analytics (Phase 6) the same audit gains DATA_SUPPORTED conversion facts.
Link to this tool · Permission profiles
shopify.merchandising.optimize_collectionPlans a new order for a manually-sorted collection: in-stock, imaged, active products first (new and best-tagged higher), sold-out and imageless last. Always shows before/after order with reasons; applies only when apply:true, via collectionReorderProducts (rollback: re-run with the recorded previous order).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, apply, dryRun
Output fields
before, after, moves, applied

Limitations

  • Heuristic order; A/B test against the previous order where possible.
Link to this tool · Permission profiles
shopify.merchandising.recommendRecommends products to feature (home page, collection top rows, campaigns) from catalog facts: active, in stock, has image, recency, best/featured tags, price band; excludes test-looking and clearance items. Returns a ranked list with the reasons for each rank and the exact featured-collection settings to apply. No sales data is used, so treat as EXPERIMENT_RECOMMENDED until analytics exist.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
count, collectionId, excludeTags, maxProducts
Output fields
recommended, basis

Limitations

  • Heuristic ranking; with analytics the ranking will weight views→cart conversion.
Link to this tool · Permission profiles
shopify.merchandising.related_productsComputes related products for a product (shared type, vendor, tag overlap, price band; in-stock and imaged preferred) and optionally writes them to a `custom.related_products` list.product_reference metafield so the theme/Hydrogen can render them. Returns the scored candidates with reasons.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
id, count, write, namespace, key, dryRun
Output fields
related, written

Limitations

  • Content-based; Shopify's own productRecommendations (Storefront API) uses purchase data and can be combined.
Link to this tool · Permission profiles
shopify.metaobject.createCreates a metaobject entry of a given type.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_metaobjects
Input fields
type, handle, fields, dryRun
Output fields
metaobject, created
Link to this tool · Permission profiles
shopify.metaobject.deleteDeletes one metaobject entry. Destructive; requires confirm:true. The ledger keeps the entry's before-image (fields) so it can be recreated with shopify.metaobject.create.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_metaobjects
Input fields
id, confirm, dryRun
Output fields
deletedId, deleted

Limitations

  • References from products/metafields to this entry become dangling.
Link to this tool · Permission profiles
shopify.metaobject.updateUpdates a metaobject entry's field values.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_metaobjects
Input fields
id, fields, dryRun
Output fields
metaobject, updated
Link to this tool · Permission profiles
shopify.metaobject.upsertCreates or updates a metaobject entry identified by type+handle.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_metaobjects
Input fields
type, handle, fields, dryRun
Output fields
metaobject, updated
Link to this tool · Permission profiles
shopify.metaobjects.definitionsLists metaobject definitions, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_metaobject_definitions
Input fields
first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.metaobjects.listLists metaobject entries of a given type, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_metaobjects
Input fields
type, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.metaobjects.definition_createCreates a metaobject definition (type, name, fields, capabilities: publishable / translatable / renderable, storefront access) for structured content such as FAQs, testimonials, size guides or lookbook entries.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_metaobject_definitions
Input fields
type, name, description, fieldDefinitions, displayNameKey, storefrontAccess, publishable, translatable, renderable, dryRun
Output fields
definition, created
Link to this tool · Permission profiles
shopify.metaobjects.definition_updateUpdates a metaobject definition: rename, add/update/remove fields, change capabilities or storefront access. Removing a field deletes its values on every entry (destructive; requires confirm:true when fieldDeletes is non-empty).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_metaobject_definitions
Input fields
id, name, description, fieldCreates, fieldUpdates, fieldDeletes, displayNameKey, storefrontAccess, publishable, translatable, renderable, confirm, dryRun
Output fields
definition, updated
Link to this tool · Permission profiles
commerce.operation.approveMints an approval token for a specific tool + input plan hash, so a subsequent call can carry out a publish/critical-risk operation. Only the admin profile may call this.free · commerce_sensitive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, planHash, input
Output fields
token, expiresAt
Link to this tool · Permission profiles
commerce.operation.cancelCancels a running task-mode operation (job), if the job engine is configured.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
jobId
Output fields
job

Limitations

  • 0.1 has no long-running task-mode tools, so this mostly applies to future/Pro tools.
Link to this tool · Permission profiles
commerce.operation.getFetches one operation record from the ledger by id.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
operationId
Output fields
operation
Link to this tool · Permission profiles
commerce.operation.listLists operations for this shop, optionally filtered by tool or status.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, status, limit, cursor
Output fields
items, nextCursor
Link to this tool · Permission profiles
shopify.pixels.getReads this app's web pixel (an app can have exactly one, backed by a web_pixel_extension) and its settings JSON.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_pixels
Input fields
No named fields declared.
Output fields
pixel
Link to this tool · Permission profiles
shopify.pixels.configureCreates or updates this app's web pixel settings (the JSON must match the settings schema in the deployed web_pixel_extension's shopify.extension.toml; Shopify returns INVALID_SETTINGS otherwise). Requires the pixel extension to be deployed first (shopify.pixels.scaffold → shopify app deploy).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_pixels, read_customer_events
Input fields
settings, dryRun
Output fields
pixel, created
Link to this tool · Permission profiles
shopify.pixels.deleteDeletes this app's web pixel (stops event collection). confirm:true required; settings are recorded so rollback can re-create it.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
inverse_operation
Shopify scopes
write_pixels
Input fields
confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.pixels.scaffoldGenerates a web_pixel_extension project (shopify.extension.toml with settings schema + src/index.js subscribing to the chosen standard events and forwarding them to an endpoint or analytics SDK, consent-aware via the customer privacy config). Returns files to write into the app repo plus the deploy plan (shopify app deploy, then shopify.pixels.configure).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, settings, events, endpointUrl, privacy
Output fields
files, plan
Link to this tool · Permission profiles
shopify.redirects.listLists URL redirects, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_online_store_navigation
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.redirects.createCreates a URL redirect (path -> target).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
path, target, dryRun
Output fields
redirect, created
Link to this tool · Permission profiles
shopify.redirects.deleteDeletes a URL redirect. Destructive; requires confirm:true.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
id, confirm, dryRun
Output fields
deleted
Link to this tool · Permission profiles
shopify.redirects.updateUpdates a URL redirect's path/target.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_online_store_navigation
Input fields
id, path, target, dryRun
Output fields
redirect, updated
Link to this tool · Permission profiles
commerce.snapshot.createCreates a point-in-time snapshot of a theme's files (kind:'theme'), for use as a rollback target.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, label
Output fields
snapshotId, fileCount

Limitations

  • The docs/V0_1_IMPLEMENTATION_PLAN.md theme.pull path maps to this tool with kind 'theme'.
Link to this tool · Permission profiles
commerce.snapshot.diffDiffs two theme file sets, where each side is either a snapshot id or a live theme id.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
a, b
Output fields
a, b, summary

Limitations

  • Binary files are summarized by size, not diffed byte-for-byte.
Link to this tool · Permission profiles
commerce.snapshot.getFetches metadata for one snapshot by id.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
snapshotId
Output fields
snapshot
Link to this tool · Permission profiles
commerce.snapshot.listLists snapshots for this shop, optionally filtered by kind.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, limit
Output fields
snapshots
Link to this tool · Permission profiles
shopify.theme_check.inspect_issueRuns Theme Check and returns detail for offenses matching a given check name and/or file.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, check, file
Output fields
offenses
Link to this tool · Permission profiles
shopify.theme_check.list_checksLists the Theme Check check names this environment's @shopify/theme-check-node can run, derived by running it once against the given theme (or a minimal built-in theme skeleton).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
checks

Limitations

  • @shopify/theme-check-node does not export a static check registry in the version this package depends on, so this list is DERIVED empirically: it runs Theme Check once and reports the check names actually observed offending. A theme with zero offenses for a given check will not surface that check's name here. This is a lower bound on the available checks, not a complete registry.
Link to this tool · Permission profiles
shopify.theme_check.runRuns Theme Check, optionally scoped to a subset of file keys and/or filtered by minimum severity.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, keys, severity
Output fields
counts, offenses

Limitations

  • Runs against the theme's current files; does not simulate merchant-specific settings values.
Link to this tool · Permission profiles
shopify.theme_check.summaryRuns Theme Check across a theme's files and returns offense counts by severity, plus the full offense list.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
counts, offenses

Limitations

  • Runs against the theme's current files; does not simulate merchant-specific settings values.
Link to this tool · Permission profiles
shopify.variant.createAdds variants to a product by option values (e.g. Size=M, Colour=Black), with price/compare-at/SKU/barcode. Option names must already exist on the product. Rollback deletes the created variants.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
productId, variants, replaceStandaloneVariant, dryRun
Output fields
variants, created

Limitations

  • Does not create options; use product options first.
Link to this tool · Permission profiles
shopify.variant.deleteDeletes variants from a product. Destructive; requires confirm:true. Rollback recreates the variants from their before-image (option values, price, SKU, barcode); inventory levels are not restored.pro · destructive
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
productId, variantIds, confirm, dryRun
Output fields
deleted

Limitations

  • A product must keep at least one variant.
Link to this tool · Permission profiles
shopify.variant.getReads one variant's price, sku, barcode, and inventory quantity.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
id
Output fields
variant
Link to this tool · Permission profiles
shopify.variant.updateUpdates a variant's price, compareAtPrice, sku, and/or barcode. commerce_sensitive: escalates to the product.price.write policy key.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
inverse_operation
Shopify scopes
write_products
Input fields
productId, id, price, compareAtPrice, sku, barcode, dryRun
Output fields
variant, updated, diff
Link to this tool · Permission profiles
shopify.analytics.queryRuns a ShopifyQL query (FROM sales|products|orders|sessions … SHOW … GROUP BY … SINCE … UNTIL … ORDER BY … LIMIT …) and returns columns + rows. Needs the read_reports scope and Shopify's protected-data approval for customer columns; parse errors are returned verbatim.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_reports
Input fields
query
Output fields
columns, rows, parseErrors
Link to this tool · Permission profiles
shopify.analytics.sales_summarySales by day for the last N days with totals (sales, orders, AOV). Uses ShopifyQL when read_reports is granted; otherwise computes the same numbers from the orders list (read_orders, last 60 days max without read_all_orders) and says which source it used. Returned as DATA_SUPPORTED facts for merchandising/CRO decisions.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_orders
Input fields
days
Output fields
source, rows, totals
Link to this tool · Permission profiles
shopify.analytics.top_productsTop-selling products for the last N days (units + sales). ShopifyQL (FROM products) when read_reports is granted, else aggregated from order line items. DATA_SUPPORTED input for merchandising.recommend / optimize_collection.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_orders
Input fields
days, limit
Output fields
source, rows
Link to this tool · Permission profiles
shopify.blog.getReads a single blog.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
id
Output fields
blog
Link to this tool · Permission profiles
shopify.blog.createCreates a blog (container for articles).pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_content
Input fields
title, handle, commentPolicy, dryRun
Output fields
blog, created

Limitations

  • Shopify exposes no blogDelete in the Admin GraphQL API we target, so rollback is not offered.
Link to this tool · Permission profiles
shopify.blog.updateUpdates a blog's title, handle or comment policy.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
write_content
Input fields
id, title, handle, commentPolicy, dryRun
Output fields
blog, updated
Link to this tool · Permission profiles
shopify.checkout.profilesLists checkout profiles (published + drafts) and whether the new thank-you / order-status pages are active. Requires access to the checkout editor; Shopify is moving this to checkoutAndAccountsConfigurations.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_checkout_branding_settings
Input fields
No named fields declared.
Output fields
profiles
Link to this tool · Permission profiles
shopify.checkout.auditPlan-aware checkout audit: checkout.liquid is gone for everyone (information/shipping/payment since 2024-08-13, thank-you/order-status since 2025-08-28), so it reports what still tries to customise checkout from the theme (checkout scripts, tracking, additional-scripts references), whether the plan allows checkout UI extensions on the information/shipping/payment steps (Plus) versus thank-you/order-status (all plans), the checkout profiles state and which Function-based customisations exist. Findings carry AUTO_FIX_SAFE / NEEDS_REVIEW / MANUAL.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
themeId
Output fields
plan, plus, findings, profiles, functions
Link to this tool · Permission profiles
shopify.checkout.extension.scaffoldGenerates a checkout UI extension (React + Preact-based @shopify/ui-extensions-react/checkout, api_version 2026-07): shopify.extension.toml with targeting + merchant settings, src/Checkout.jsx rendering a block with a merchant-editable text (banner / delivery note / trust message pattern), locales, package.json and the deploy plan. Targets on the checkout steps need Plus; thank-you / order-status work on all plans.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, target, settings, networkAccess
Output fields
files, plan, plusRequired
Link to this tool · Permission profiles
shopify.functions.listLists Shopify Functions deployed by this app (id, title, API type, API version, whether merchants configure it in admin). Function ids are needed by functions.attach.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
apiType
Output fields
functions
Link to this tool · Permission profiles
shopify.functions.attachActivates a deployed function on the store: discount → discountAutomaticAppCreate, cart_transform → cartTransformCreate, validation → validationCreate, delivery/payment customization → *CustomizationCreate. The optional configuration object is stored in the $app:default/function-configuration JSON metafield the scaffolds read. Money/checkout-affecting: FINANCIAL_IMPACT (discount) or CHECKOUT_CRITICAL; confirm:true required.pro · commerce_sensitive
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
write_discounts
Input fields
kind, functionId, title, configuration, startsAt, endsAt, discountClasses, blockOnFailure, confirm, dryRun
Output fields
id, kind
Link to this tool · Permission profiles
shopify.functions.scaffoldGenerates a Shopify Function extension (JavaScript, 2026-07 targets): discount (cart.lines.discounts.generate.run with product/order candidates read from the function-configuration metafield), cart_transform, validation, delivery_customization or payment_customization. Returns shopify.extension.toml, the input GraphQL query, run.js, package.json and the deploy + attach plan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, name, description
Output fields
files, plan
Link to this tool · Permission profiles
shopify.mobile.auditMobile UX audit of the theme: viewport meta and zoom, fixed widths that overflow 390px, sub-14px text, tap-target sizing, sticky/fixed stacking, sticky add-to-cart on PDP, menu drawer, responsive images without sizes; plus, when the browser plane is available, a live 390px capture with horizontal-overflow and console-error metrics. Findings carry basis DATA_SUPPORTED / HEURISTIC / EXPERIMENT_RECOMMENDED.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
themeId, url, live
Output fields
findings, score, live

Limitations

  • Live metrics need the browser plane and (for password-protected stores) the stored storefront password.
Link to this tool · Permission profiles
shopify.mobile.fixApplies the safe mobile fixes on the working theme: adds the viewport meta if missing, removes zoom-disabling viewport flags, appends a mobile safety stylesheet (img/video/table max-width, overflow-wrap, 44px tap targets for theme buttons, 16px inputs) as assets/cp-mobile.css linked from layout/theme.liquid. Layout-changing fixes (fixed widths, sticky ATC) are reported, not applied.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
ledger_before_image
Shopify scopes
write_themes
Input fields
themeId, dryRun
Output fields
applied, skipped, written

Limitations

  • Only additive, low-risk CSS/meta changes; review the mobile.audit findings for the rest.
Link to this tool · Permission profiles
shopify.mobile.previewCaptures the page at 390×844 (and optionally 768) and returns screenshots with overflow/console metrics: the visual check after mobile.fix.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
url, tablet
Output fields
viewports
Link to this tool · Permission profiles
commerce.rollback.executeExecutes a previously planned rollback for an operation, restoring before-images.free · critical
Approval
confirm
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
operationId, confirm, force
Output fields
result

Limitations

  • Rollback is a safety feature: production_safe profile is allowed to call this tool specifically.
Link to this tool · Permission profiles
commerce.rollback.planPlans how a given operation would be rolled back, without executing it.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
operationId
Output fields
plan
Link to this tool · Permission profiles
commerce.rollback.verifyVerifies whether a rollback for an operation was fully applied (all planned steps restored, no residual diff).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
operationId
Output fields
verified, plan
Link to this tool · Permission profiles
shopify.security.audit_basicHeuristic security hygiene audit: theme-file secrets, mixed content, unrecognized external scripts, eval/document.write, external form posts, unknown app embeds, plus (when connected) legacy script tag count and redirect loops.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Heuristic, not a real security scanner; a clean report is not a guarantee of safety.
  • Admin-side checks (script tags, redirect loops) are skipped when no Admin client is configured.
Link to this tool · Permission profiles
shopify.security.external_resourcesLists external script/form hosts referenced by the theme that are not on the known-safe or known-app list.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Static analysis only; cannot see resources loaded dynamically by third-party scripts.
Link to this tool · Permission profiles
shopify.security.secrets_scanScans theme files for credential-shaped strings (API keys, tokens, passwords) that should not be committed to a theme.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
findings

Limitations

  • Pattern-based; cannot catch secrets that don't match a known shape.
Link to this tool · Permission profiles
shopify.app.inspectLooks up a known app by handle and reports its theme-detected evidence, if any.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId, handle
Output fields
known, detected

Limitations

  • Known-app registry currently has 26 entries; unrecognized apps return NOT_FOUND even if theme evidence exists.
Link to this tool · Permission profiles
shopify.app.integration_mapMaps every app-block/app-embed location in the theme architecture, without the preservation manifest.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
themeId
Output fields
integrationMap
Link to this tool · Permission profiles
commerce.capabilitiesReturns the store capabilities discovered for this credential, plus registered tool counts by availability.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
capabilities, engineKind, toolCount

Limitations

  • Registered tool count reflects this process's registry, not per-credential availability.
Link to this tool · Permission profiles
shopify.capabilitiesAll store capabilities discovered for this credential (admin, theme, browser, jobs).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
capabilities
Link to this tool · Permission profiles
commerce.config.getReturns this shop's stored configuration/settings, if a settings service is wired up.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
settings
Link to this tool · Permission profiles
commerce.config.validateValidates a proposed configuration patch without applying it.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
patch
Output fields
valid, errors
Link to this tool · Permission profiles
shopify.flow.scaffoldGenerates a Shopify Flow trigger (flow_trigger extension; fire it later with shopify.flow.trigger) or action (flow_action extension + a runtime endpoint handler that verifies X-Shopify-Hmac-Sha256, answers within 10s, 2xx/4xx/5xx semantics, 429 Retry-After) as files plus the deploy plan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, name, description, fields, runtimeUrl
Output fields
files, plan
Link to this tool · Permission profiles
shopify.flow.triggerFires a deployed Flow trigger of this app (flowTriggerReceive) with a payload; every workflow the merchant built on that trigger runs. Payload keys must match the trigger's settings (custom keys verbatim, references as customer_id / order_id / product_id / company_id), under 50000 bytes.pro · write
Approval
none
Dry-run
Supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
handle, payload, dryRun
Output fields
fired
Link to this tool · Permission profiles
shopify.returns.createOpens a return for fulfilled line items (reason per line, optional customer notification). Creates a reverse fulfillment order; refunds are a separate step in admin. confirm:true required.pro · commerce_sensitive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_returns
Input fields
orderId, lineItems, notifyCustomer, confirm
Output fields
return
Link to this tool · Permission profiles
shopify.returns.listLists returns on an order and which fulfilled line items are still returnable (with the fulfillmentLineItemIds returns.create needs).pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_returns, read_orders
Input fields
orderId
Output fields
returns, returnable
Link to this tool · Permission profiles
shopify.script_tags.listLists legacy ScriptTags installed on the store (src, display scope). ScriptTags are deprecated and stop loading on 2027-03-01; each one is an app that has not migrated to app embeds / web pixels.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_script_tags
Input fields
first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.script_tags.deleteDeletes a ScriptTag. Only this app's own script tags can be deleted through the API (Shopify scopes them per app); other apps' tags must be removed by uninstalling the app. confirm:true required.pro · destructive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_script_tags
Input fields
id, confirm
Output fields
deletedId
Link to this tool · Permission profiles
shopify.theme_extension.scaffoldGenerates a complete Theme App Extension project (shopify.extension.toml, app blocks and app embed blocks with schema, assets, snippets, locales) as files for the client to write into an app repo. This is the App Store-compliant way to add storefront UI without editing merchant theme code. Deployment itself happens with `shopify app deploy` (Shopify CLI, Partners auth); merchant activation instructions are included.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
extensionName, handle, blocks, embeds, locales, assets
Output fields
root, files, deployCommands, merchantSteps

Limitations

  • Files are returned, not written to disk (the MCP server has no repo access); validate them with shopify.theme_extension.validate.
Link to this tool · Permission profiles
shopify.theme_extension.validateValidates Theme App Extension files (blocks/*.liquid with schema, assets, locales, shopify.extension.toml) against Shopify's structural rules and Theme Check: block schema present and parseable, targets valid, asset references resolvable, locale JSON valid, no more than 25 blocks / 25 embeds, asset size limits.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
files
Output fields
valid, errors, warnings, blocks, embeds, themeCheckErrors

Limitations

  • Structural validation; the authoritative check is `shopify app deploy`.
Link to this tool · Permission profiles
shopify.admin.capabilitiesAdmin GraphQL capabilities only.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
capabilities
Link to this tool · Permission profiles
shopify.admin_extension.scaffoldGenerates an Admin UI extension (block or action on product/order/customer/collection pages, api_version 2026-07) with shopify.extension.toml, src/BlockExtension.jsx using @shopify/ui-extensions-react/admin (reads the resource id from the extension api, calls the Admin GraphQL API with the extension's direct API access), locales and the deploy plan.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, target, title
Output fields
files, plan
Link to this tool · Permission profiles
commerce.api.capabilitiesLists the Shopify Admin API capabilities this server relies on (mutations, queries, platform features) with minimum API version, deprecation/replacement, required scopes, protected-customer-data and plan gating, and whether each is available for the connected store right now, with the exact reason when it is not. Use it before attempting Markets, checkout, Functions, orders or customer work.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
name, onlyUnavailable
Output fields
apiVersion, supportEndsOn, deprecations, capabilities

Limitations

  • Entries marked verified:"docs" come from Shopify documentation and have not been exercised by our live sweeps yet.
Link to this tool · Permission profiles
shopify.articles.listLists articles, optionally scoped to a blog, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
blogId, first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.blogs.listLists blogs, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
shopify.collections.listLists/searches collections, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
commerce.connectionsLists which AI clients (Claude Code, Cursor, Codex, etc.) have actually reached the MCP endpoint for this shop, and how much. One row per credential+client pair. Never returns secrets, tokens, or IPs.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
connections

Limitations

  • Never returns secrets, tokens, or IP addresses.
  • Only reflects requests recorded through the MCP endpoint, not the admin UI.
Link to this tool · Permission profiles
shopify.dev.graphqlGuarded passthrough to Shopify's Admin GraphQL API for read-only queries: no mutations, root field allow-list, depth/cost caps, secret redaction. Only available to developer_full_access/admin profiles.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
query, variables
Output fields
data, extensions

Limitations

  • Admins can additionally disable this entirely via policy key category.dev=false.
Link to this tool · Permission profiles
commerce.entitlementsReturns this shop's entitlement state (FREE/TRIAL/PRO_ACTIVE/...), plan, and entitlement list.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
state, plan, entitlements, upgradeUrl
Link to this tool · Permission profiles
commerce.environmentReturns the configured Shopify Admin API version, demo-mode flag, and execution era.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
apiVersion, demo, era
Link to this tool · Permission profiles
commerce.exportExports the ledger, the last stored store audit, a design manifest, the app preservation manifest, or a job report as JSON or Markdown.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
kind, id, format, since, limit
Output fields
document, format

Limitations

  • kind:'audit' returns the most recently stored shopify.store.audit result, not a fresh audit.
Link to this tool · Permission profiles
shopify.fulfillment.createFulfils a fulfillment order (all remaining items, or specific fulfillment-order line items with quantities) with optional tracking number/company/URL and customer notification. Get fulfillmentOrderId and line item ids from shopify.orders.get. Cannot be undone (Shopify has no un-fulfil); confirm:true required.pro · commerce_sensitive
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
write_merchant_managed_fulfillment_orders, read_orders
Input fields
fulfillmentOrderId, lineItems, tracking, notifyCustomer, confirm
Output fields
fulfillment
Link to this tool · Permission profiles
commerce.healthRuns cheap reachability checks: theme engine, admin API, browser plane, ledger writability.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
checks, healthy

Limitations

  • Checks are best-effort and may themselves fail without failing the overall tool call.
Link to this tool · Permission profiles
shopify.locations.listLists the shop's locations (warehouses, retail stores, apps that stock inventory) with active/fulfils-online-orders flags. Needed for every inventory write.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_locations
Input fields
first, after, includeInactive
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
commerce.operations.listAlias-style bulk listing of operations for this shop (same as commerce.operation.list).free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool, status, limit, cursor
Output fields
items, nextCursor
Link to this tool · Permission profiles
shopify.pages.listLists/searches Online Store pages, paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_content
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
commerce.privacy.explainExplains what data a given tool reads, writes, stores, and returns to the client.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
tool
Output fields
tool, dataCategories
Link to this tool · Permission profiles
shopify.products.listLists/searches products (Shopify search-syntax `query`), paginated.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
first, after, query
Output fields
items, hasNextPage, endCursor

Limitations

  • Search syntax follows Shopify's product search grammar.
Link to this tool · Permission profiles
shopify.publications.listLists sales channel publications and, when a product id is given, whether that product is published to each.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_publications
Input fields
productId
Output fields
publications
Link to this tool · Permission profiles
commerce.settings.storefront_passwordStores (or clears) the storefront password for this shop, encrypted at rest, so visual capture, audits and the design loop can screenshot a password-protected storefront without the password being passed on every call. The password is never returned.free · write
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
password, clear
Output fields
stored

Limitations

  • Only the Online Store password page is handled; B2B/customer-account gates are not.
Link to this tool · Permission profiles
shopify.storefront.create_landing_pageBuilds a landing page end to end on the working theme: creates the Online Store page (with SEO), generates a dedicated page template (templates/page.<suffix>.json) from premium archetype sections in the requested order (hero, values, editorial grid, story, rail, testimonials, newsletter …), assigns the template to the page, and returns the preview path. Never touches the live theme; the page is created unpublished unless publishPage:true.pro · theme_write
Approval
none
Dry-run
Supported
Recovery declaration
snapshot
Shopify scopes
write_themes, write_content
Input fields
title, handle, body, seo, sections, manifestId, themeId, publishPage, dryRun
Output fields
page, templateKey, sections, previewPath, written

Limitations

  • Section copy uses the archetype defaults; edit in the theme editor or with shopify.section.update.
Link to this tool · Permission profiles
shopify.tracking.auditTracking doctor: finds analytics/marketing tags in the theme (GA4, GTM, Meta, TikTok, Pinterest, Hotjar, Clarity, Klaviyo, Snap, dead Universal Analytics), duplicate initialisations, scripts outside the layout, missing customer-consent gating, the checkout blind spot of theme-level tracking, legacy ScriptTags (deprecated, off on 2027-03-01) and whether this app has a web pixel. Findings carry AUTO_FIX_SAFE / NEEDS_REVIEW / MANUAL.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_themes
Input fields
themeId
Output fields
detected, scriptTags, pixel, findings, themeFiles
Link to this tool · Permission profiles
shopify.variants.listLists a product's variants, paginated.pro · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
read_products
Input fields
productId, first, after
Output fields
items, hasNextPage, endCursor
Link to this tool · Permission profiles
commerce.versionReturns the product brand, product version, and supported MCP protocol versions.free · read
Approval
none
Dry-run
Not supported
Recovery declaration
none
Shopify scopes
No fixed scopes declared; runtime checks may apply.
Input fields
No named fields declared.
Output fields
brand, productVersion, mcpProtocolVersions

Limitations

  • Static, no network calls.
Link to this tool · Permission profiles
NEXT STEP

Inspect your store with Free. Add Pro for everyday changes.

No card for Free. Pro from $17.42 a month billed yearly. Cancel any time.