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 40 frames, sampled evenly from a longer source and played at the speed that keeps its loop length. Returns the downsampled result as an image content block so you see exactly what the display received — a grid of every frame for an animation. 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_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, and pre-filled next-tool suggestions based on current device state. The orientation tool to run before authoring a scene, dashboard, or animation — 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.4/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct action and resource: discovery, device state control, styled text, layered scenes, image push, overlay text, and design guidance. The two text-related tools (display_text vs overlay_text) and display_text vs compose_scene are explicitly differentiated in their descriptions, which cross-reference each other and clarify when to use which.

Naming Consistency5/5

All tools share the pixoo_ prefix with a consistent snake_case verb_noun pattern (discover_devices, display_text, compose_scene, push_image, control_device, overlay_text). design_brief is the only slight deviation but remains readable and follows the same casing convention.

Tool Count5/5

Seven tools is well-scoped for a device-control server, with each tool earning its place across discovery, control, rendering, and guidance. No obvious redundancy or bloat.

Completeness4/5

The surface covers the full lifecycle: discover device, read/change state, render text/scenes/images, set overlays, and get design guidance before authoring. Minor gaps like a dedicated clear/reset display or saved-scene management exist but can be worked around via control_device and overlay clear modes.

Maintenance

ActivityMaintained
ResponsivenessResponsive