Skip to main content
Glama

Lay a Sticker on Deck Slides (free)

antix_add_deck_sticker

Lay a picture ON named slides of a carousel deck as a sticker — a cut-out, a product shot, a badge — on top of the slide, keeping its own proportions and transparency (a PNG with a transparent background keeps its shape). Not the slide's background: that is antix_attach_deck_image. FREE — nothing is generated here. The picture, one way: image, a file from this conversation (an upload, or one you made with your own image generation — for a cut-out, make it on a transparent background); or imageUrl, a direct link to an image file the user gave. Place it with x/y (its centre, 0–1 across and down the slide), width (a share of the slide's width) and rotation; the defaults are the middle of the slide at 0.4 wide. Keep it clear of the copy. Each slide's stickers, with their ids and places, come back in the deck result; move, scale, turn or remove one with antix_place_deck_sticker. The picture is screened and stored with the deck. slideIds is REQUIRED. Requires the current expectedVersion.

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": {
      "deckId": "<deckId>",
      "expectedVersion": "<expectedVersion>",
      "slideIds": "<slideIds>"
    },
    "name": "antix_add_deck_sticker"
  }
}

Input Schema

NameRequiredDescriptionDefault
xNoIts centre across the slide: 0 left edge, 0.5 middle, 1 right edge.
yNoIts centre down the slide: 0 top, 0.5 middle, 1 bottom.
imageNoThe picture as a file from this conversation: one the user uploaded, or one you made — a cut-out on a transparent background keeps its shape.
widthNoIts width as a share of the slide's width (0.3 is about a third). Its height follows its own proportions.
deckIdYes
localeNo
imageUrlNoA direct link to an image file the user gave. Only a link the user gave.
rotationNoIts turn in degrees, clockwise.
slideIdsYesREQUIRED, explicit: the slides that get this sticker.
projectIdNoAIGE project whose Canvas should receive the updated deck.
accountHandleNo
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. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only supply idempotentHint=false and destructiveHint=false, so the description carries most of the burden and does well: it discloses that nothing is generated (free), that the picture is screened and stored with the deck, that per-slide sticker ids and positions come back in the deck result, and that expectedVersion must be current. It stops short of saying what happens if a sticker already occupies that spot or how stickers on multiple slideIds are laid out.

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?

Long but front-loaded and purposeful: purpose, exclusion, cost, input modes, placement, and follow-up tool in that order. Some tail-end sentences ('slideIds is REQUIRED', 'Requires the current expectedVersion') restate schema text and could be trimmed without loss.

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 12-parameter, nested-object mutation tool with no output schema, the description covers purpose, cost, source of the image, placement semantics, and where the result surfaces (deck result with sticker ids). The main residual gap is edge-case behavior when re-adding to a slide that already has stickers, plus the undocumented auxiliary parameters.

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?

With schema coverage at 75%, the description compensates where it matters: it explains the mutually exclusive image vs imageUrl paths (a conversation file vs a direct user-supplied link, with transparency advice), and supplies the positioning defaults ('middle of the slide at 0.4 wide') that the schema does not state. Remaining parameters such as locale, projectId, and accountHandle get no mention, and are only thinly documented in the schema.

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 and resource ('Lay a picture ... as a sticker' on named slides of a carousel deck) and immediately rules out the sibling it could be confused with: 'Not the slide's background: that is antix_attach_deck_image.' An agent can pick this over antix_attach_deck_image and antix_place_deck_sticker 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 Guidelines5/5

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

Gives explicit when-to-use (overlay picture on top of slides, cut-out/product shot/badge), when-not (background), the alternative to use instead, and the follow-up tool for adjusting an existing sticker. It also states the operation is free and generates nothing, which is decision-relevant routing information.

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