Skip to main content
Glama

update_template

Destructive

Modify an existing template in Templated MCP Server to update its name, description, size, pages, or layers without rebuilding it.

Instructions

Update an existing template. IMPORTANT: Each layer must have a 'layer' field (unique identifier), not 'name'. Valid types: 'text', 'image', 'shape', 'rating'. For multi-page templates use 'pages': a page name that does not exist yet is ADDED to the template, an existing one has its layers merged (or replaced with replaceLayers). To change page sizes on a multi-size template set width/height per page inside 'pages'; top-level width/height are rejected there because they would resize every page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNew template name
pagesNoPages for multi-page or multi-size templates (e.g. Instagram square, story and X landscape in ONE template, each with its own width/height). Use this INSTEAD of top-level 'layers'. Each page: 'page' (unique name), optional 'width'/'height' (fall back to the template size), and 'layers' as an OBJECT keyed by layer name (NOT an array). Same shape as get_template_pages returns.
widthNoNew width in pixels. Applies to every page; rejected on multi-size templates (use per-page width inside 'pages')
heightNoNew height in pixels. Applies to every page; rejected on multi-size templates (use per-page height inside 'pages')
layersNoLayer definitions. Each must have 'layer' (unique name) and 'type' (text/image/shape/rating).
durationNoDefault video duration in milliseconds for MP4 renders (e.g., 5000 for 5 seconds)
backgroundNoTemplate background color
descriptionNoNew template description
template_idYesThe template ID to update
replaceLayersNoIf true, replaces all layers. If false, merges with existing

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.7.1

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and openWorldHint=true, so the mutation profile is known. The description still adds real behavioral context beyond them: that a non-existent page name is ADDED, an existing page has layers merged or replaced via replaceLayers, and that top-level width/height are rejected on multi-size templates. This goes meaningfully past the annotation set.

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?

One dense paragraph, front-loaded with the core action and then escalating to the non-obvious nested-schema rules. Every sentence carries a rule an agent would otherwise get wrong; there is mild redundancy with the schema descriptions but no filler.

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 10-parameter nested mutation tool with no output schema and annotations already covering safety, the description covers the high-risk structural pitfalls (layer key naming, page add/merge/replace, multi-size size handling). It omits nothing critical, though it never mentions the required template_id or the effect on unspecified existing fields.

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, but the description contributes semantics not present in the schema: the merge-vs-add rule keyed on whether the page name already exists, and the routing rule between 'pages' and top-level 'layers'/width/height. It also reinforces the 'layer' vs 'name' key gotcha, which the schema states but which is easy to miss.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Update an existing template'), which cleanly separates it from create_template, clone_template and delete_template in the sibling set. It does not explicitly name those siblings, but the verb distinction is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit statement of when to use update_template versus alternatives like clone_template or create_template, nor any prerequisite/permission guidance. The only conditional guidance ('for multi-page templates use pages', per-page width/height on multi-size templates) concerns parameter choice rather than tool selection, so usage context is implied at best.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.