Skip to main content
Glama

Preview automation

preview_automation
Read-onlyIdempotent

See an automation's texts exactly as they would go out, without sending: works on drafts. Pass sample event properties (e.g. {"amount": 9.99}) and optionally to for a contact's merge fields. Returns each send_sms step's final text (brand and opt-out wording added as we would), segments, encoding, estimated cost, merge fields that would come out empty, and, for an optimal-user-time step with to, next_send: when it would go for that person and why.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "id": "<id>"
    },
    "name": "preview_automation"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesAutomation id
toNoE.164. Fills contact merge fields and shows when an optimal-user-time text would go for this person
propertiesNoSample event properties for merge fields, e.g. {"plan": "pro"}

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / to / description
      Previous value: -"E.164. Fills contact merge fields and reads what this person has already been shown"New value: +"E.164. Fills contact merge fields and shows when an optimal-user-time text would go for this person"
  2. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, yet the description still adds real behavioral content: no message is sent, brand and opt-out wording is injected as the real send would, estimated cost and encoding are computed, empty merge fields are flagged, and next_send is explained for optimal-user-time. That is substantial value beyond the safety hints.

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-loaded with the single most decision-relevant fact ('without sending: works on drafts') before the input and output detail. It is a long, comma-heavy sentence, but nearly every clause conveys distinct information about inputs or return values.

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?

No output schema exists, so the description must carry the return contract — and it does, enumerating final text, segments, encoding, estimated cost, empty merge fields, and next_send with rationale. Combined with the parameter guidance, an agent has everything needed to call it and interpret the result.

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 intent of each input — sample event properties drive merge-field rendering (with a concrete `{"amount": 9.99}` example) and `to` both fills contact merge fields and unlocks the optimal-user-time next_send output. Only the E.164 format detail is left entirely to 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?

States a specific verb and resource ('See an automation's texts exactly as they would go out') and immediately bounds it with the scope qualifier 'without sending: works on drafts'. The 'without sending' clause implicitly separates it from send/test siblings like test_automation and send_message, so an agent can pick it correctly.

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?

'works on drafts' is a concrete applicability constraint, and 'without sending' tells the agent this is the safe dry-run path rather than a dispatch. It doesn't explicitly name an alternative tool (e.g. test_automation) or state what happens on a non-draft automation, so it stops short of a full when/when-not rubric.

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.