Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PIXOO_IPYesIP address of the Pixoo device on the local network
PIXOO_SIZENoDisplay resolution: 16, 32, or 6464
OTEL_ENABLEDNoEnable OpenTelemetry instrumentationfalse
MCP_AUTH_MODENoAuthentication mode: none, jwt, or oauthnone
MCP_HTTP_HOSTNoHTTP server hostname127.0.0.1
MCP_HTTP_PORTNoHTTP server port3010
MCP_LOG_LEVELNoLog level (trace, debug, info, warn, error, fatal, silent)debug
PIXOO_OUTPUT_DIRNoDirectory for auto-saved preview imagesoutput/
MCP_TRANSPORT_TYPENoTransport: stdio or httpstdio
STORAGE_PROVIDER_TYPENoStorage backend: in-memory, filesystem, supabase, cloudflare-r2, cloudflare-kv, cloudflare-d1in-memory

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": true
}
resources
{
  "subscribe": true,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pixoo_display_textA

Render styled text (theme, gradient, shadow, outline, auto-fit) onto the Pixoo display and push it, static or animated with a scroll, float, or pulse effect. Returns the render as an image content block for immediate inspection. The primary tool for text-only display — for layers, icons, widgets, or per-element motion use pixoo_compose_scene. Run pixoo_design_brief with topic "text" first for palette and legibility guidance.

pixoo_compose_sceneA

Compose a full scene: layered elements (text, icons, widgets, shapes, bitmaps, images, sprites) with per-element effects and keyframes, static or animated. Returns the rendered scene as an image content block for immediate inspection. Elements render back-to-front in array order. For text-only display use pixoo_display_text; run pixoo_design_brief with topic "scene" or "dashboard" for layout and palette guidance.

pixoo_push_imageA

Load an image (absolute local path or https URL), resize it to fit the LED grid, and optionally push it to the display. An animated GIF or WebP pushes as an animation of up to maxFrames frames (default 40), sampled evenly from a longer source and played at the speed that keeps its loop length; past 40 frames it plays as one GIF the device downloads from this host. Returns the downsampled result as an image content block so you see exactly what the display received — for an animation, a grid of its frames, evenly sampled once they outnumber what fits the sheet. Nearest-neighbor kernel preserves pixel art; use lanczos3 or mitchell for photos. finish reduces the result to a small or fixed palette, optionally dithered.

pixoo_render_htmlA

Render an HTML page — a full document or a body fragment, with inline CSS, Canvas, SVG, or WebGL — in a headless browser at the panel size, and optionally push it to the display. Animate it by capturing up to 800 frames on a virtual clock that advances speed ms per frame: window.render(t, frame), when the page defines it, runs before each capture with t = frame / frames, so periodic motion loops seamlessly; CSS animations, requestAnimationFrame, timers, Date, and performance.now follow the same clock, so every frame is deterministic. The page loads nothing from the network and starts no workers; a page with no background renders on black, which the panel shows as unlit. Every page gets a pixoo global before its own scripts run: pixoo.text, pixoo.icon, and pixoo.palettes draw crisp bitmap text, gradient palettes, and icons exactly as pixoo_compose_scene does. Returns the captured result as an image content block — for an animation, a grid of its frames — and the page's uncaught and console errors as pageErrors. Run pixoo_design_brief with topic "html" first for loop, clock, sampling, legibility, and pixoo runtime guidance.

pixoo_overlay_textA

Set or clear a device-native scrolling text overlay. Use mode "set" to add or update an overlay on a slot (0–19); use mode "clear" to remove it. Overlays use device-rendered fonts (115 font IDs, 0–114) and persist across channel switches until explicitly cleared with mode "clear". Not previewable — rendering happens on-device. Best for persistent tickers over pushed scenes; for styled, previewable text use pixoo_display_text instead.

pixoo_control_deviceA

Read or change device state: brightness (0–100), screen on/off, channel, or clock face. Call with no params to read current state only. Supply any params to apply changes before reading back state. Use pixoo_discover_devices first if PIXOO_IP is not yet configured.

pixoo_discover_devicesA

Find Pixoo devices on the local network via Divoom's cloud discovery endpoint (requires internet — queries app.divoom-gz.com). Run once during initial setup to find device IPs; set PIXOO_IP in server configuration to enable all other tools. For ongoing device control use pixoo_control_device.

pixoo_design_briefA

Return craft guidance and live device context for a design topic. Covers legibility rules, palette discipline, layout zones, animation budget, HTML page authoring, and pre-filled next-tool suggestions based on current device state. The orientation tool to run before authoring a scene, dashboard, animation, or HTML page — or when troubleshooting display issues.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
device-statusLive snapshot of the connected Pixoo display: reachable, channel, brightness, screen state, and display size. Degrades gracefully when the device is unreachable — returns reachable: false instead of an error.
themesTheme and palette registry with background gradients, default text palettes, accent colors, and swatch values. Use theme names in pixoo_display_text and pixoo_compose_scene.
iconsBuilt-in icon names organized by category (weather, arrows, status, media). Use icon names in pixoo_compose_scene elements with type "icon". Pass name to the icon element, or browse this resource to discover available names.
design-guideLong-form 64px craft guide: legibility floors, palette discipline, layout zones, animation budget, pixel art rules, and known device behaviors. Read this before composing scenes or troubleshooting display quality.

TDQS

A4.5/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct content type or device operation: scene composition, text rendering, image pushing, HTML rendering, overlay management, device control, discovery, and design guidance. Descriptions explicitly cross-reference (e.g., 'For text-only display use pixoo_display_text'), leaving little room for misselection.

Naming Consistency5/5

All tools share the pixoo_ prefix and use snake_case with a predictable verb_noun structure (compose_scene, push_image, control_device, etc.), with only design_brief being a minor noun-phrase variant. The pattern is consistent throughout.

Tool Count5/5

Eight tools is well-suited to the domain, covering setup, control, multiple rendering paths, and guidance without bloat. Each tool appears to earn its place, and the set is neither too thin nor too heavy.

Completeness4/5

The surface covers discovery, device state control, text, overlay, image, HTML, and scene composition, plus a design brief. A minor gap is the lack of an explicit way to push a composed scene to the display (compose_scene only mentions returning an image), though other tools may cover workarounds.

Maintenance

ActivityMaintained
ResponsivenessResponsive