Skip to main content
Glama

Draw a Deck Background (free)

antix_generate_deck_background
DestructiveIdempotent

Draw a procedural background on a deck's slides — by code, not by a model: FREE, no credits, about a second. A recipe is a base, up to 4 pattern layers, an optional light, up to 8 objects, then grain, vignette and scrim. Or start from a preset and override parts. base is solid | linear | radial, a shader (mesh, aurora, plasma, marble, clouds, waves, voronoi, halftone), or surface — a real MATERIAL the light models: paper, kraft, cardboard, crumpled, watercolor, linen, canvas, denim, leather, velvet, satin, concrete, plaster, marble, terrazzo, wood, brushed-metal, foil, holographic, chrome (book:true shapes it as a book cover; emboss + foil press a gilt line into it). Patterns (dots, grid, lines, stripes, cross, checker, zigzag, waves, arcs, triangles, rings, sunburst, blobs, bokeh, confetti, stars, topo, scribble) print ON the surface. light sets where the light comes from and can add a spot, a gobo shadow (blinds, window, arch, leaves) or a glossy sheen. objects lie on the surface and cast shadows: sheet, note, tape, sticker (a shape and/or a word, die-cut), stamp, pin, clip, stain — place by x/y or on a corner of the sheet before it. Colours are #rrggbb or a palette slot (bg, ink, accent, onAccent, paper, onPaper) so the background follows the deck's look. The same recipe and seed always draw the same image; change seed to re-roll. It replaces the slide's background image: drawing over PAID art needs confirmDropPaid:true after the user agrees. Text is recoloured for contrast with what lies under it unless adaptInk:false; objects sit BEHIND the copy, so keep them clear of it or put the copy on a sheet. REQUIRES expectedVersion. Omit slideIds for every slide.

Input Schema

NameRequiredDescriptionDefault
deckIdYes
localeNo
adaptInkNoRecolour the text that sits on the background to stay readable. Default true.
slideIdsNoSlides to draw it on. Omit for every slide.
projectIdNo
backgroundYes
accountHandleNo
confirmDropPaidNoMust be true to draw over a background that was paid for — ask the user first.
expectedVersionYesREQUIRED: the deck version you last read. A stale value fails with DECK_CONFLICT before any work.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations declare idempotentHint=true and destructiveHint=true; the description earns its keep by explaining exactly why: it replaces the slide's background image, determinism holds for 'the same recipe and `seed`', and a stale `expectedVersion` fails with DECK_CONFLICT before any work. It also discloses side effects not in the annotations — text recolouring for contrast unless `adaptInk:false`, and objects rendering BEHIND the copy.

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 highest-value facts (what it draws, that it is free and fast) and every clause carries information. It is one dense ~250-word paragraph though, and the long material/pattern enumerations would read far better as a bulleted list or grouped sentence.

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 9-parameter tool with nested objects, no output schema and thin schema descriptions, it covers the side effects, version precondition, paid-overwrite confirmation and determinism. It never mentions the return value or the role of locale/projectId/accountHandle, but those are minor relative to the recipe guidance it does provide.

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?

Schema coverage is only 44%, but the description compensates heavily: it defines the recipe shape (base, ≤4 layers, light, ≤8 objects, grain/vignette/scrim), the five `base` variants and their shader/material enumerations, palette-slot colour values, object placement via x/y or `on`, and `seed` re-roll semantics. The only untouched parameters are locale, projectId and accountHandle.

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?

Opens with a specific verb+resource ('Draw a procedural background on a deck's slides') and immediately distinguishes itself from the model-based sibling: 'by code, not by a model: FREE, no credits, about a second.' An agent can tell this apart from antix_generate_deck_slide_images or antix_clear_slide_background without opening a schema.

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

Usage Guidelines4/5

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

It sets the condition for dropping existing paid art ('needs `confirmDropPaid:true` after the user agrees') and states 'Omit `slideIds` for every slide', which is real invocation guidance. It stops short of naming alternatives (e.g. when to prefer model-generated art via antix_generate_deck_slide_images instead), so an exclusion rule is left implicit.

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