Skip to main content
Glama

Show a picture

bar_image

Show a local, URL, or stock picture on a BUSY Bar display, automatically scaled to fit and dithered for the greyscale screen.

Instructions

Show a picture: a local file path or an http(s) URL (PNG; on macOS also JPEG, GIF, HEIC, WebP), or a stock image from bar_stock. It is scaled to fit max_width x max_height (the whole screen by default), uploaded, and dithered to 16 greys on the back. Pixel art in small files stays sharp when scaled up.

Input Schema

NameRequiredDescriptionDefault
xNo
yNo
stockNoStock image name from bar_stock, e.g. dt_apple_red.image
sourceNoPath or URL of the picture
urgentNoRequest higher draw priority. Use only when asked to interrupt.
captionNo
displayNofront: 72x16 colour LED strip facing others. back: 160x80 greyscale (16 levels) OLED facing you.front
max_widthNo
max_heightNo
caption_colorNoHex colour, #RRGGBB

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.10.0

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries full burden and discloses a meaningful pipeline: scaling to max_width x max_height (whole screen by default), upload, and dithering to 16 greys on the back. It adds platform-specific format support and a pixel-art sharpness note. It omits auth requirements, failure behavior, and rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action and valid inputs, then the processing pipeline, then a concise pixel-art caveat. No filler or redundancy.

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 10-parameter tool with no annotations and no output schema, the description covers input sources and the core transformation pipeline adequately. It leaves gaps on x/y placement semantics, caption rendering, and how the front colour display differs from the dithered back display.

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?

At 50% schema coverage the description compensates well: it clarifies 'source' as a local path or http(s) URL, enumerates accepted formats including macOS-specific ones, and explains default screen-sized scaling for max_width/max_height. It leaves x/y, caption, and the front-display colour behavior unaddressed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Show a picture') and lists the accepted sources: local file path, http(s) URL, or a stock image from bar_stock. It distinguishes itself from the stock-image sibling but does not differentiate from bar_pixels or bar_animation.

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

Usage Guidelines3/5

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

The description makes clear when to route to bar_stock for stock images, but offers no explicit when-to-use guidance versus bar_pixels, bar_animation, or bar_text. Usage context is implied rather than spelled out.

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