Skip to main content
The Bannerify MCP server exposes six tools. The assistant picks them automatically from your request, so you rarely call them by name. Every tool works only on the workspace that approved the connection.

Tools

A template id looks like tpl_xxxxx.

Find a template

Ask for the templates and their layers:
The answer names every template and, for each layer, the name to use in modifications, for example:
Layer names come from the template editor, so keep them descriptive: headline, price, qr, photo.

Pass layer values

modifications is an object keyed by layer name. A string sets the text of a layer. An object sets that layer’s own fields. A full example for create_image:
Layers you leave out keep the values from the template.

Read the result

create_image returns the image itself, so the assistant can show it or save it to a file. create_pdf stores the file and returns a link:
The link points to the Bannerify CDN and stays available like any other stored asset.

Compose an image without a template

Use create_image_from_shapes when no template fits. Give the tool a canvas and a list of shapes. It draws the shapes in order and returns the image, so the assistant can design a one-off banner, label, or invoice. Every shape has type, x, y, width, and height, in pixels from the top left of the canvas. The first shape is at the back and the last is on top. A few rules:
  • icon takes an Iconoir name, for example check-circle or arrow-right.
  • src and canvas.backgroundImage take an HTTPS URL or a data URL. canvas.backgroundImage also takes a CSS gradient, for example linear-gradient(to right, #4f46e5, #9333ea).
  • style takes CSS property names for the rest: padding, boxShadow, borderStyle, lineHeight, and similar. Set the size with width and height, not with style.
  • Table columns are the headers and rows hold one value per column in the same order.
  • Limits: 1 to 100 shapes, 16 to 4096 pixels on each side of the canvas, 4000 characters of text, 200 table rows, 12 table columns.
The canvas is white unless canvas.background is set. canvas.backgroundImage wins over canvas.background. A full example: an invoice.
A generation from shapes counts against the same monthly and daily quota as a generation from a template. See Quota and limits.

Handle errors

A failed tool call returns a message with the error code, using the same codes as the REST API: See Errors for the full list.

Learn more