Skip to main content
Glama

Embed the catalog in a store page

embed_catalog_in_store
Idempotent

Put a published catalog on a page of the merchant's own Shopify or WooCommerce store, as the Publish dialog's store tab does. With only catalogId it lists the store's pages, which ones already embed a catalog, and their links. With pageId (one of those pages) or newPageTitle (a new page), the store is changed only on a call with confirm: true; without it nothing changes and the answer lists, under requiresConfirmation, the catalog, the store page and the public link, for the merchant to approve — with confirmWith holding the arguments that carry it out. width and height size the embed (defaults 100% and 800). A draft is refused, since an embedded draft shows nothing. Owner only.

Input Schema

NameRequiredDescriptionDefault
widthNoe.g. "100%" or "800px"
heightNoe.g. "800" or "600px"
pageIdNoA page id from the listing
confirmNotrue once the merchant has agreed to change their store
catalogIdYesCatalog id, as returned by list_catalogs
newPageTitleNoCreates a new store page with this title

Output Schema

NameRequiredDescriptionDefault
pageNoThe store page now showing the catalog
pagesNoThe store's pages, when called with only catalogId
appliedNo
catalogNo
embeddedNo
platformYes
storePageNoThe page that would change, while waiting for confirmation
confirmWithNoThe arguments that carry the change out once the merchant agrees
requiresConfirmationNoPresent when nothing was changed: the consequences to show the merchant before calling again with confirm: true

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false and openWorldHint=true; the description goes much further by disclosing the write gating on confirm, the dry-run listing returned under requiresConfirmation, the confirmWith pass-through arguments, the draft refusal, and the owner-only permission requirement. It discloses what changes and what does not on each call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the purpose, then modes, then confirmation flow, then defaults and constraints. Sentences are dense with em-dash asides; every clause carries substance, though the single long middle sentence could be split for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite an output schema existing, the description explains the key return shapes (page listing, requiresConfirmation, confirmWith), which the agent needs to drive the confirmation loop. Combined with the mutation gating and permission notes, nothing essential is missing for a 6-parameter write tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Even with 100% schema coverage, the description adds meaning the schema lacks: width/height defaults (100% and 800), that pageId must come from the listing, that newPageTitle creates a page, and the exact semantics of confirm plus the returned confirmWith. This is real added value beyond field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Put a published catalog on a page of the merchant's own Shopify or WooCommerce store') and anchors it to a known surface ('as the Publish dialog's store tab does'). It is clearly distinguishable from siblings like publish_catalog and open_publish_settings, which do not touch store pages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly defines the three mode branches: catalogId alone lists pages, pageId or newPageTitle performs an embed, and confirm: true is required to actually mutate the store. It also states exclusions ('A draft is refused') and the owner-only restriction, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources