pixoo-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PIXOO_IP | Yes | IP address of the Pixoo device on the local network | |
| PIXOO_SIZE | No | Display resolution: 16, 32, or 64 | 64 |
| OTEL_ENABLED | No | Enable OpenTelemetry instrumentation | false |
| MCP_AUTH_MODE | No | Authentication mode: none, jwt, or oauth | none |
| MCP_HTTP_HOST | No | HTTP server hostname | 127.0.0.1 |
| MCP_HTTP_PORT | No | HTTP server port | 3010 |
| MCP_LOG_LEVEL | No | Log level (trace, debug, info, warn, error, fatal, silent) | debug |
| PIXOO_OUTPUT_DIR | No | Directory for auto-saved preview images | output/ |
| MCP_TRANSPORT_TYPE | No | Transport: stdio or http | stdio |
| STORAGE_PROVIDER_TYPE | No | Storage backend: in-memory, filesystem, supabase, cloudflare-r2, cloudflare-kv, cloudflare-d1 | in-memory |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pixoo_display_textA | Render styled text (theme, gradient, shadow, outline, auto-fit) onto the Pixoo display and push it. Returns the rendered frame as an image content block for immediate inspection. The primary tool for text-only display — for layers, icons, widgets, or animations 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. Returns the downsampled result as an image content block so you see exactly what the display received. Nearest-neighbor kernel preserves pixel art; use lanczos3 or mitchell for photos. |
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| device-status | Live 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. |
| themes | Theme 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. |
| icons | Built-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-guide | Long-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. |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/pixoo-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server