Skip to main content
Glama

List page recipes

list_page_recipes
Read-onlyIdempotent

List the ready-made documents and parts to build from. For a report, presentation or dashboard (every workspace): report-shell, key-figures, data-table, chart-figure, callout, presentation-shell, dashboard-shell, tile and status-bar, styled through the --brand-* tokens of get_brand_kit with neutral fallbacks, their copy in [brackets] to replace. Read get_design_guide first. In the website workspace only, for a landing page: a page shell (start every page from it), hero with call to action, feature grid, comparison table, FAQ, testimonial band, waitlist form. Each is self-contained HTML styled through the --sh-* brand tokens with fallbacks, with absolute links, so it drops into any page. Fetch one with get_page_recipe and edit its copy; the shell and the testimonial ship with placeholder copy (title, description, sample quote) that the brand check reports until replaced. The waitlist recipe saves through the SnapHost data SDK, and publishing or updating the page provisions its waitlist collection append-only from the form itself, and keeps it so in this workspace even if the page reads it back or set_collection_access asks otherwise (a public page reading it would publish the signups; its reads are refused, the SDK call rejects). Count signups in a second collection whose rows say only that a signup happened; the "signup-count" data recipe writes exactly that, so opening it publishes a number and nothing about anyone. apply_data_template is optional and only adds the field schema. A landing page lives by the website kit’s frame rules (no viewport units, no fixed/sticky positioning, no height animation, sized images): that frame grows to fit the page, while a document recipe is served in the ordinary viewer, which fills the window. The blog-post recipe is not a section but a whole document, and follows the opposite rules: the blog renders it inline through a fixed tag allowlist, so it carries no styling (which would be stripped) and its links are root-relative.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspace_idNoOptional: the workspace to act in, from list_workspaces (the connection reaches the person's personal space and every workspace they are a member of). Required on a write when the connection reaches more than one workspace. Omit to act in the personal space (for an older single-workspace connection, the one workspace it was authorized for).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine context about the listed artifacts (brand-token styling, bracket placeholders, waitlist collection provisioning), but says nothing about this tool's own behavior: no return shape, no ordering, no note on how workspace scoping affects the result.

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

Conciseness2/5

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

The purpose is front-loaded, but the body sprawls into tangential operational detail about waitlist collections, the data SDK, apply_data_template, and blog rendering that belongs to other tools. Sentences are long, multi-clause, and repeatedly change subject, so the agent must sift the listing tool's job out of unrelated prose.

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

Completeness3/5

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

With no output schema, the description should describe returns; it enumerates the recipe names, which partially compensates. But it omits structure, ordering, and whether workspace_id filters the result, and it spends most of its length on behavior that applies to downstream tools rather than to this listing call.

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

Parameters3/5

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

Schema description coverage is 100% for the single workspace_id parameter, so the schema already carries its meaning and the baseline is 3. The description never mentions workspace_id, though it does differentiate recipe sets by workspace type, which indirectly signals why the parameter matters.

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

Purpose4/5

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

The opening sentence states a specific verb and resource: 'List the ready-made documents and parts to build from,' and the body names the sibling get_page_recipe for fetching a single recipe. It is clearly distinguishable from get_page_recipe and list_data_recipes, though the wall of downstream detail buries the core purpose and never states what the list actually contains (names, ids, categories).

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 explicit ordering and next steps: 'Read get_design_guide first' and 'Fetch one with get_page_recipe and edit its copy.' It also scopes which recipes apply to which workspace (report/presentation/dashboard vs. the website workspace). It stops short of any when-not guidance or exclusions.

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.