Skip to main content
Glama

Edit postcard template

spur_update_postcard_template
Idempotent

Edit one of the user's postcard templates and show the updated preview. For text tweaks pass replacements (exact find → replace on a side); to redesign, pass full front_html/back_html. Spur default and gallery templates can't be edited: copy them first with spur_create_postcard_template base_template_id.

Example: change the headline -> replacements=[{side:"front", find:"Just Sold!", replace:"Just Listed!"}]

HTML guidance (see spur://postcard-design-guide): full HTML documents, inline , no scripts. Fixed pixel sizing on html, body and a root .postcard at 300 px/in including 0.125" bleed: 6x4 → 1875×1275, 6x9 → 2775×1875, 6x11 → 3375×1875. Keep text 0.25" inside the edge. USPS clear zone on the back, measured from the bleed edges (Spur prints over it and covers anything there): postage 1.25"×1.25" in the top-right corner; address block 3.5"×2", 0.5" from the right edge and 1.35" from the top; USPS barcode strip 4.75"×0.625" along the bottom-right edge. Keep all text, logos, photos and QR codes out of it; a background color or texture under it is fine. The safe message area is left of the address block and above the barcode strip. Images as absolute https URLs. The user's own images (logo, headshot, property photos): spur_list_images gives their URLs; if they want to use an image they have, call spur_upload_image (or spur_save_image for a link) and use the saved URL. Use merge fields such as {{owner_first_name}}, {{property_address}}, {{your_name}}, {{your_phone}}, {{company_name}} (see spur://merge-variables). QR code box by default: unless the user says they don't want a QR code, every back you design includes an empty square in the message area (≥ 0.75in, e.g. 225×225 px at 300 px/in) with a short call to action beside it ("Scan to see your home's value"). Never write QR markup or {{qrUrl}} yourself: after saving, call spur_add_postcard_qr_code and the tracked QR fills the box (pick the code with spur_list_qr_codes, or ask the user where scans should go and spur_create_qr_code). When resending full back_html, keep the qr-box and any <img data-spur-qr-merge…> inside it, or the QR is dropped.

Input Schema

NameRequiredDescriptionDefault
nameNoNew template name
sizeNoPostcard size: "6x4" (standard 4×6), "6x9" or "6x11"
categoryNoCategory label, e.g. "Just Sold" or "Market Update"
back_htmlNoFull replacement back HTML
front_htmlNoFull replacement front HTML
descriptionNoInternal note about the template; never printed
template_idYesTemplate id (UUID from a Spur list/search tool)
replacementsNoSmall edits applied in order instead of resending the full content

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the annotations it reveals non-obvious behavior: default/gallery templates are locked, the tool returns an updated preview, and re-sending back_html without the qr-box or data-spur-qr-merge img silently drops the QR. It also explains the print/clear-zone interaction ('Spur prints over it') and the required follow-up call to spur_add_postcard_qr_code.

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?

Well front-loaded: purpose, mode choice, exclusion, then one example, then design constraints. It is long and partly duplicates spur://postcard-design-guide which it already cites, but nearly every sentence (bleed dimensions, clear zone, QR-box rule) prevents a concrete failure, so most of the bulk earns its place.

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?

There is no output schema, and the description compensates by explaining the preview result, the QR follow-up workflow, image sourcing via spur_list_images/spur_upload_image/spur_save_image, and all sizing/clear-zone constraints needed to produce valid HTML on the first attempt.

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 adds real semantics: replacements are applied in order and are exact single-occurrence find→replace per side, and front_html/back_html are full replacements that supersede replacements. It also documents merge-field syntax usable inside the HTML params.

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+resource (edit postcard template) and adds the observable outcome ('show the updated preview'). It is clearly distinguished from siblings like spur_create_postcard_template, spur_get_postcard_template and spur_preview_postcard_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?

Explicitly splits two modes: replacements for exact text tweaks vs full front_html/back_html for redesigns, with a worked example. It also states the when-not (Spur default and gallery templates can't be edited) and names the alternative (spur_create_postcard_template base_template_id).

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