Skip to main content
Glama

create_preview_run

Render a template's email on real email clients and capture screenshots. Pass exactly one of device_set_id or device_ids. Each run is billed to the workspace's previews add-on. The run starts PENDING, so poll get_preview_run for the results.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dataNoVariables for the template, the same shape as the data a send would carry
localeNoLocale to render, e.g. "en-US"
device_idsNoDevice ids (pvd_...) from list_preview_devices. An id the catalog does not list is rejected.
template_idYesThe notification template id (nt_...). It must be a Design Studio template with an email channel.
device_set_idNoA saved device set id (pvs_...). Use the Courier Recommended set from list_preview_device_sets for a sensible default.
template_versionNoWhich version renders: omit for the latest draft, "published" for the live version, or a publish such as "v002".

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations indicate this is a mutating, non-idempotent operation (readOnlyHint=false, idempotentHint=false). The description adds valuable context: it bills to the workspace's previews add-on and starts in PENDING state, requiring polling. These are behavioral side effects that go beyond the annotations and inform the agent of consequences and follow-up actions. There is no contradiction with annotations.

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

Conciseness5/5

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

The description is three sentences with zero redundancy. The primary action is front-loaded, followed by the key usage rule, a billing caveat, and the async nature. Every sentence contributes essential information, making it highly concise and well-structured.

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?

The tool has six parameters, a nested object, no output schema, and no enum constraints. The description covers the core purpose, the mandatory device argument selection, the cost implication, and the asynchronous workflow (poll get_preview_run). This is sufficient for an agent to invoke it correctly and know what to expect next, despite the lack of an output schema.

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% (all six parameters have descriptions). The description adds the cross-parameter constraint 'exactly one of device_set_id or device_ids', which is not captured in individual schema descriptions. This is a meaningful semantic addition beyond the schema, meriting a score above the baseline of 3.

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 states a specific action ('Render a template's email on real email clients and capture screenshots') with a clear resource (a template's email preview run). It distinguishes itself from siblings like list_preview_runs and get_preview_run by focusing on creation, and it adds the key constraint ('Pass exactly one of device_set_id or device_ids') that clarifies its scope.

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?

The description explicitly states the mutual-exclusion rule for device_set_id vs device_ids, warns about billing, and directs the agent to poll get_preview_run. This is clear operational guidance. It does not explicitly name alternatives or when-not-to-use scenarios, but the workflow is well implied and the constraints are direct.

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