Skip to main content
Glama

preview

Render design pages or blocks as PNG images to see the result. Pass a revision and optional block IDs to target specific pages, or omit to render every page.

Instructions

Render blocks (almost always pages) to inline images so you can see the result.

revision is REQUIRED — pass the revision the blocks belong to, the id edit returned. blockIds is a LIST, rendered in the order you give it: [pageId] for one page, [a, b] for a subset, or OMIT it entirely to preview every page of the design in document order.

The given revision is loaded before rendering, so the ids always resolve against the right scene — never against a different design another agent may have loaded on a shared server.

Preview several blocks at once when REVIEWING or capturing a finished design — a whole deck in one call, or just the pages a fix touched. While BUILDING a multi-page design, keep previewing each page right after you build it: batching there does not avoid the bugs, it only delays finding them.

Output is always PNG (lossless — thin lines render exactly). EACH block gets the full 0.25 megapixel budget, adjusted to its own aspect ratio — a square page renders 512×512, a 1:4 page 256×1024. There are no size or format knobs, and at most 10 blocks render per call.

To eyeball fine detail, preview the suspect BLOCK directly — the pixel budget concentrates on it (an effective zoom). For native-resolution certainty, export the page and open its httpUrl.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
blockIdsNoBlocks to render, in the order you want them back — almost always page ids, not the scene root. Omit to preview every page of the design in document order. At most 10 render per call.
revisionYesRevision id the blocks belong to (from `edit`). Loaded before rendering so the ids resolve against the right scene.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description fully discloses behavior: output is PNG (lossless), each block gets a 0.25 megapixel budget adjusted to aspect ratio (with examples), at most 10 blocks per call, no size/format knobs, and the revision is loaded before rendering to ensure correct scene resolution on shared servers. This is rich, specific behavioral detail that goes far beyond a simple 'renders pages' statement.

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 lengthy but every paragraph serves a purpose: purpose, parameter semantics, usage guidance, pixel budget, and alternative routing. It front-loads the core purpose in the first sentence and uses code formatting for parameter names. It's not bloated; it's thorough, though slightly verbose for a tool with only two parameters.

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 no output schema and no annotations, the description covers everything an agent needs: how to use each parameter, the rendering behavior (PNG, resolution per block), limits (max 10), and when to choose alternatives like `export`. It even addresses edge cases like shared-server state and pixel budget for fine detail. There are no obvious gaps that would prevent correct invocation.

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?

The schema already describes both parameters at 100% coverage, but the description adds significant semantics: `blockIds` is a list whose order matters, can be omitted to preview all pages, and has a 10-block cap; `revision` is required and loaded before rendering to resolve ids against the right scene. This adds operational meaning beyond the schema's static 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?

The description opens with a specific verb and resource: 'Render blocks (almost always pages) to inline images so you can see the result.' It clearly distinguishes itself from the sibling `export` by contrasting inline images with native-resolution output and an `httpUrl`. This is not a tautology; it tells the agent exactly what the tool does and how it differs from similar tools.

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?

The description gives explicit when-to-use and when-not-to-use guidance: 'Preview several blocks at once when REVIEWING or capturing a finished design... While BUILDING a multi-page design, keep previewing each page right after you build it.' It also directs the agent to alternatives: 'For native-resolution certainty, `export` the page and open its `httpUrl`' and 'To eyeball fine detail, preview the suspect BLOCK directly.' This is comprehensive routing advice.

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