Skip to main content
Glama

Publish a catalog

publish_catalog
Idempotent

Make a catalog live and start rendering its PDF. The viewer link works immediately — the flipbook does not wait for the PDF. A large catalog takes a few minutes to render; one not finished within about twenty seconds comes back with render.state "rendering" and a jobId, which is not a failure: the catalog is published, the link works, and get_catalog_pdf with that jobId returns the PDF once it is done. render.state is "ready" (with downloadUrl), "rendering", "failed" (with reason) or "not_configured". A draft goes live only on a call with confirm: true. Without it, nothing changes and the answer lists what would go live under requiresConfirmation — the catalog and its public link — for the merchant to approve, with confirmWith holding the arguments that carry it out. A catalog that is already live re-renders its PDF with no confirmation.

Input Schema

NameRequiredDescriptionDefault
renderNoSet false to publish without rendering a PDF (default true)
confirmNotrue once the merchant has agreed to make a draft public
catalogIdYesCatalog id, as returned by list_catalogs
pdfFormatNoThe dialog's PDF format: compressed (default, smaller, for sharing and email) or print (press quality)

Output Schema

NameRequiredDescriptionDefault
renderNoWhere the PDF render stands
statusNo
appliedNofalse: a draft waiting for the merchant to confirm going live
catalogNo
publicUrlNoWhere the catalog would go live
publishedNo
viewerUrlNoThe public link, live at once
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.6/5.0
Behavior5/5

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

Adds substantial context beyond the annotations: exact render.state values and their meanings, the ~20 second async threshold, that a 'rendering' result is not a failure, and the full confirmation flow including requiresConfirmation/confirmWith payload structure. With annotations covering the safety profile, this is unusually rich disclosure.

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-loads the core action in sentence one, then layers async behavior, state values, and the confirmation gate in a logical order. It is dense but every sentence carries information; minor length is justified by the async/confirmation complexity.

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?

For a tool with an output schema, async job semantics, and a confirmation gate, the description covers everything an agent needs: what happens immediately vs. asynchronously, how to retrieve the PDF later, and how to handle the untrusted draft case. No material gaps.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes further by explaining the actual behavioral meaning of confirm (draft goes live only with it; otherwise a read-only preview of what would go live is returned) and the render parameter's timing implications, which the schema's one-liners don't convey.

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?

Opens with a specific verb+resource ('Make a catalog live and start rendering its PDF'), which distinguishes it from preview_catalog, get_catalog_pdf, and set_publish_options. An agent can identify the operation without opening the schema.

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

Usage Guidelines4/5

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

Gives clear conditions: drafts need confirm: true, already-live catalogs re-render without confirmation, and render: false skips the PDF. It routes to get_catalog_pdf for async retrieval. It does not explicitly name sibling tools like get_publish_options or preview_catalog as alternatives, so a 4 rather than a 5.

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