Skip to main content
Glama

Read a catalog

get_catalog
Read-only

Return an existing catalog as a DSL document — its pages, grids and the product ids on every page — plus pages: EVERY real page with the zero-based index that edit_catalog ops take, its kind, collection label and what is on it. Page indexes are the ones in pages, not positions in document.pages: the document folds a collection that spills over several pages into one entry, so it can be shorter than the catalog. Also blocks (EVERY content block on each page, keyed or not, with ids such as "p1-text-2" and the html a text block holds), chrome (header, footer and page styling) and productCell: the listing design every product tile renders, as blocks with ids (photos, details text with its fields and sizes, shapes), where it lives (how many tiles inherit the catalog default versus carrying their own), and which products deviate. It is where edit_catalog's indexes and ids come from; the catalog id comes from list_catalogs. Anything the DSL cannot express is listed under unsupported rather than omitted.

Input Schema

NameRequiredDescriptionDefault
catalogIdYesCatalog id, as returned by list_catalogs

Output Schema

NameRequiredDescriptionDefault
pagesYesEvery real page, with the index edit_catalog ops take
blocksNoThe content blocks on each page, with their ids
chromeNoHeader, footer and page styling
designNoTitle, page size, price format and branding, as update_catalog changes them
documentYesThe catalog as a foldsquare.catalog/v1 document
catalogIdYes
productCellNoThe listing design every product tile renders, as blocks with ids
unsupportedNoWhat the document cannot express

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?

Annotations already declare a safe read-only, non-destructive, closed-world operation, and the description adds substantial behavioral detail beyond that: the distinction between `pages` indexes and `document.pages` positions, the folding behavior for multi-page collections, and that unsupported DSL content is listed under `unsupported` rather than omitted.

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?

The description is front-loaded with the core return value and every major clause carries useful information about the response shape. It is dense and somewhat run-on, but the density is largely justified by the complexity of the returned catalog structure.

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?

Given a read-only tool with full annotation coverage, a fully described one-parameter schema, and an output schema, the description is complete enough to call it correctly. It covers the key return components, the crucial page-index caveat, ID provenance, and unsupported content handling.

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 single catalogId parameter is already documented. The description adds useful provenance by stating that the catalog id comes from list_catalogs, though it adds no further format or constraint details beyond the schema.

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?

The description uses a specific verb and resource: it returns an existing catalog as a DSL document and enumerates the pages, blocks, chrome, and productCell data included. It clearly distinguishes this read operation from edit_catalog by explaining that its page indexes and ids are the source for edit_catalog operations.

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?

It gives clear usage context by saying the catalog id comes from list_catalogs and that this tool supplies the indexes and ids used by edit_catalog. It does not explicitly exclude alternatives such as preview_catalog or get_catalog_pdf, but the primary when-to-use guidance is strong.

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