Skip to main content
Glama

Mailzzy

Mailzzy MCP templates update

mcp_crm_templates_update

Update an existing email template (partial PATCH: send only the fields to change) for the authenticated tenant. Use when the user wants to edit a template's name, content, or category. Templates do not store a subject line; set the subject when drafting a campaign with mcp_crm_campaign_drafts_create. Requires the template's current version token (from mcp_crm_templates_get/list): if it is stale the update returns conflict — re-fetch the template for the current version and retry ONCE. Changed content is validated as Velocity syntax BEFORE saving; a malformed template is rejected with template_syntax_error and nothing is persisted. The template owner is set server-side and cannot be changed. IMAGES: when you change the content, source every from mcp_crm_assets_image_import or mcp_crm_assets_image_upload and never invent an image URL. External image URLs left in the content are re-hosted on the account's CDN automatically. Tenant is bound to the session and cannot be changed via tool arguments.

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": {
      "templateId": "<templateId>",
      "version": "<version>"
    },
    "name": "mcp_crm_templates_update"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoNew template name
tokensNoNew comma-separated merge tokens
contentNoNew email body as HTML/Velocity (validated before save). Source every <img src> from mcp_crm_assets_image_import or mcp_crm_assets_image_upload; external image URLs are re-hosted on the account CDN on save
versionYesCurrent concurrency token from get/list (etag); stale => conflict
categoryNoNew template category/folder
templateIdYesNumeric id of the template to update
jsonContentNoNew Unlayer JSON design payload

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • removedInput schema / properties / subject
      Removed value: -{
      -  "description": "New email subject (Velocity-validated before save)",
      -  "type": "string"
      -}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare the generic write/safe profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false); the description adds the operationally important traits: pre-save Velocity validation with nothing persisted on template_syntax_error, server-side immutable ownership, session-bound tenant, stale-version conflict, and automatic CDN re-hosting of external image URLs. The only gap is the response shape after a successful update.

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 action and its PATCH semantics, then ordered from preconditions to validation to side effects to image rules, so an agent can stop reading early and still call it correctly. Minor deduction for the IMAGES guidance restating what the content parameter's schema description already says, and for the all-caps emphasis being slightly noisy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter mutation with no output schema, the description covers preconditions, validation failure modes, immutability constraints, and side effects thoroughly. It does not state what a successful response contains (updated template? new version token?), which matters because the version token must be re-used for subsequent edits.

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 schema already defines all seven parameters and the baseline would be 3; the description still adds real meaning by framing the call as a partial PATCH (omit unchanged fields) and by explaining that version is a concurrency token whose staleness causes a conflict rather than a silent overwrite. It also clarifies that templates have no subject parameter, pre-empting a likely agent error.

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?

"Update an existing email template (partial PATCH: send only the fields to change)" gives a specific verb, resource, and update semantics, and implicitly distinguishes this from the sibling mcp_crm_templates_create. It also names the exact fields in scope (name, content, category), so an agent can separate it from get/list and from campaign draft tools without opening the schema.

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?

Explicitly states when to use it ("when the user wants to edit a template's name, content, or category") and routes the adjacent need elsewhere: subject lines belong to mcp_crm_campaign_drafts_create, and the version token must come from mcp_crm_templates_get/list. It even prescribes recovery behavior on conflict — re-fetch and retry ONCE — which leaves little to inference.

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.