Skip to main content
Glama

Generate email

generate_email

Render one free branded email draft in a brand kit and save it to the user's files: any email the user describes, from a cold intro or a follow-up to a newsletter, an invitation, a launch note or a receipt. Nothing is sent. Drafts are limited to 20 per day. Templates: 'letter' takes preheader, signoff, footer_note; 'announcement' takes headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'newsletter' takes issue_label, headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'invitation' takes invite_label, event_name (required), when, where, preheader, cta_label, cta_url, signoff, footer_note; 'notification' takes status_label, headline (required), cta_label, cta_url, footer_note; 'onboarding' takes headline (required), preheader, cta_label, cta_url, signoff, footer_note; 'receipt' takes headline (required), order_label, order_date, cta_label, cta_url, footer_note. Pick the template whose shape fits the job and write the subject, props and body yourself in the user's voice; the template is a layout, not a limit on what the email can say. Write the body as markdown (paragraphs, lists, links, tables) or as blocks, never both. header 'band' paints the header in the brand color, 'plain' keeps it white; align is left or center; both default to the template's layout. Leave brand_kit_id out to use the space's default brand. The draft carries a YouSpot watermark until the user unlocks the clean email for 1 credit from the card, and Gmail drafting is refused until they do. Returns the artifact id; call draft_email_in_gmail with it once it is unlocked. Do not call this again to retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alignNo
propsNoText fields for the template, all strings.
blocksNoThe body as blocks.
headerNo
subjectNoThe subject line.
markdownNoThe body as markdown.
template_idYes
brand_kit_idNoA brand_kit_id from list_brand_kits.
saved_template_idNoA saved_template_id from list_templates; its inputs seed the ones you pass.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added
  2. Removed
  3. Changed1 schema field changed
    • addedInput schema / properties / saved_template_id
      Added value: +{
      +  "description": "A saved_template_id from list_templates; its inputs seed the ones you pass.",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • changedInput schema / required
      Previous value: -[
      -  "template_id",
      -  "subject"
      -]New value: +[
      +  "template_id"
      +]
  5. Added

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the readOnlyHint=false annotation, the description discloses consequential behavior: saves to the user's files, sends nothing, has a 20-draft daily limit, applies a watermark until unlocked, refuses Gmail drafting until cleanup, returns an artifact id, and instructs no retries. This is exceptionally transparent for a mutating tool.

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 long, but the length is earned by the template-by-template parameter breakdown and behavioral constraints. It is front-loaded with purpose and proceeds logically through usage, parameters, and next steps; only the template list feels slightly dense, but it is organized and necessary.

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 the tool's complexity, nine parameters, nested blocks, and no output schema, the description leaves almost nothing missing: behavior, rate limits, required props, body format constraints, header/align options, default brand behavior, watermark/unlock flow, return value, and downstream tool call are all covered.

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?

With only 67% schema description coverage, the description compensates thoroughly: it enumerates every template's accepted props and marks required fields, explains markdown vs blocks, and defines header/align values and brand_kit_id fallback behavior. This adds substantial meaning beyond the bare input 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 opens with a specific verb and resource: "Render one free branded email draft in a brand kit and save it to the user's files." It also differentiates itself from siblings by stating "Nothing is sent" and explicitly routes later work to draft_email_in_gmail, so an agent can distinguish it from send_email, create_gmail_draft, and save_as_template.

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: use it for any described email, do not use it to retry ("Do not call this again to retry"), and use draft_email_in_gmail once the draft is unlocked. It also gives concrete configuration guidance such as "Leave brand_kit_id out to use the space's default brand."

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.