Skip to main content
Glama

Update Email Template

meisa_update_template
Idempotent

Update specific fields on an existing Meisa email template (PATCH-style). Only fields you pass are changed; everything else stays as-is. Use this when the user wants to revise an existing template's copy, subject, preview text, HTML body, category, or description without creating a duplicate. Requires the template_id (use meisa_list_templates or meisa_get_template to find it). Returns the full updated template.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew template name (internal, not shown to recipients).
slugNoNew URL-safe slug. Will be slugified; collisions within the product are auto-suffixed (e.g. 'welcome-1').
subjectNoNew email subject line. Supports {{variable}} personalization tokens.
categoryNoNew template category for organization.
descriptionNoNew internal description/notes about this template.
template_idYesThe UUID of the email template to update. Format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
content_htmlNoNew full HTML email body. Must be valid HTML.
content_textNoNew plain-text version of the body. If you update content_html and omit this, the plain-text body is automatically regenerated from the new HTML.
preview_textNoNew preview text shown in email client inbox previews (max 255 chars).
spintax_variablesNoAdd or revise the template's reusable spintax variable pools, shaped as {"name": ["option1", "option2", ...]}. Pools you pass are MERGED into the existing ones: a pool with the same name is overwritten, pools you do not mention are left untouched. Passing {} changes nothing. Reference pools in subject/content with [[name]] for per-recipient variation at send time. Inline spintax of the form {a|b|c} works directly inside content_html/content_text and does NOT require this field.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=false and idempotentHint=true, so the safety profile is covered. The description adds genuinely useful non-annotated behavior: partial-update semantics ('Only fields you pass are changed; everything else stays as-is') and the return contract ('Returns the full updated template'), which matters since there is no output schema.

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?

Four tight sentences, front-loaded with the PATCH semantics and the when-to-use clause, with prerequisites and return value last. Nothing is wasted or repeated.

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?

For a ten-parameter mutation tool with a nested object and no output schema, the description covers the mutation model, the required id and where to find it, and the return value. The remaining complexity (slug collisions, spintax merging) is fully handled in the schema, so nothing an agent needs is missing.

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%, so the schema already documents all ten parameters in detail (slug collision handling, spintax merge rules, content_text regeneration). The description only recaps a subset of updatable fields (copy, subject, preview text, HTML body, category, description) without adding syntax or format detail beyond the schema. Baseline 3 is appropriate.

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 gives a specific verb and resource ('Update specific fields on an existing Meisa email template') and immediately pins the semantics with '(PATCH-style)'. It also implicitly separates itself from meisa_create_template by noting the update happens 'without creating a duplicate'.

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?

It states the triggering condition explicitly ('Use this when the user wants to revise an existing template's copy, subject, preview text, HTML body, category, or description'), gives the prerequisite (template_id) and names two concrete sibling tools (meisa_list_templates, meisa_get_template) for obtaining it. An agent knows both when and how to reach this tool.

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