Skip to main content
Glama

Placeholder image

image_placeholder
Read-onlyIdempotent

Generate custom placeholder images with centered text, size presets, and PNG/JPEG/WebP/SVG output for web design, mockups, and ad layouts.

Instructions

Make a placeholder image of any size (up to 8000 px a side): solid background with centred text (default "W × H", "\n" for line breaks), auto-fitted font size or a fixed one, PNG / JPEG / WebP / SVG. Size presets for web, social media, IAB ads and devices. Optionally returns a data URI / tag for inlining. Text uses Inter when installed, else a system sans-serif. Web version: https://s3eidat.github.io/placeholder-image/

Input Schema

NameRequiredDescriptionDefault
textNoText to show. Empty = "W × H". Use "\n" (backslash n) or a real newline for a line break.
colorNoText colour (#rgb or #rrggbb). Default #9ca3af.#9ca3af
widthNoWidth in pixels. Default 1200.
formatNoOutput format. Default png.png
heightNoHeight in pixels. Default 630.
outputNoWhere to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set).
presetNoSize preset (overrides width/height): open-graph-link-preview 1200×630, hero-16-9-full-hd 1920×1080, hd-16-9 1280×720, blog-image-4-3 800×600, thumbnail-3-2 600×400, avatar 256×256, instagram-square 1080×1080, instagram-portrait-4-5 1080×1350, story-reel-9-16 1080×1920, x-twitter-header 1500×500, linkedin-banner 1584×396, youtube-thumbnail 1280×720, medium-rectangle 300×250, leaderboard 728×90, wide-skyscraper 160×600, mobile-banner 320×50, half-page 300×600, billboard 970×250, iphone-15-screen 1179×2556, desktop-1440 1440×900, 4k-uhd 3840×2160.
dataUriNoAlso return the image as a data URI and an <img> tag (for small images).
fontSizeNoFont size in px; 0 = auto-fit (default).
backgroundNoBackground colour (#rgb or #rrggbb). Default #1f2937.#1f2937
fontWeightNoFont weight. Default 600.600
returnBase64NoAlso return the output as base64 in the result (only for small files). Default false.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint and closed-world, so the safety profile is covered. The description adds genuinely useful behaviour beyond that: default text is 'W × H', '\n' breaks lines, font size auto-fits unless fixed, and text renders in Inter when installed else a system sans-serif. It omits the file-writing side effect and where the result lands, which is the main residual gap.

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?

A single dense paragraph, front-loaded with the core action, then capabilities, then caveats. Most clauses earn their place; the trailing link to the project website is marginally useful context rather than noise, though it slightly dilutes the operational content.

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, all-optional generator with no output schema, the description covers what is produced (image file, optionally data URI/base64/<img>), the format and size envelope, and rendering defaults. The one thing an agent still can't infer is the concrete return shape/path when only a file is written, which would matter for chaining calls.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every one of the 12 parameters is already documented in the schema, making 3 the baseline. The description echoes a subset (default text, newline syntax, formats, auto-fit font, data URI for small images) but adds no syntax or constraint detail the schema doesn't already carry.

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 — 'Make a placeholder image of any size' — and enumerates the salient capabilities (solid background, centred text, auto-fit font, four output formats, size presets). An agent can immediately distinguish this from neighbours like image_resize, image_convert, or image_ascii_banner, which all transform existing images rather than synthesise one.

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?

Gives concrete usage context — 'Size presets for web, social media, IAB ads and devices' and 'for inlining' for the data URI option — which tells the agent when this tool fits. It stops short of naming alternatives or stating when not to use it (e.g. vs image_resize for editing an existing asset), so it falls just below the explicit-alternatives bar.

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

Deploy Server

Other Tools