← Back to search

@cyanheads/pixoo-mcp-server

cyanheads Scanned 6d ago

Compose and push pixel art, animations, and text to Divoom Pixoo LED matrices via MCP.

B
86.2 / 100

Versions

1.0.0latest
Jun 12, 2026
0.3.1
Feb 23, 2026
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 7

pixoo_display_text
annotations: verified low

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.

to string from string type enum input object
idempotentHint true destructiveHint false
pixoo_control_device
annotations: verified low

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.

input object output object screen enum reachable boolean
idempotentHint true destructiveHint false
pixoo_discover_devices
annotations: verified low

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.

input object notice string output object
readOnlyHint true openWorldHint true
pixoo_compose_scene
annotations: verified low

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.

to string from string push boolean type enum input object output object
idempotentHint true destructiveHint false
pixoo_overlay_text
annotations: verified low

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.

id number mode enum text string color string input object output object
idempotentHint true destructiveHint false
pixoo_design_brief
annotations: verified low

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.

tool string input object topic string output object channel string screenOn boolean rationale string
readOnlyHint true
pixoo_push_image
annotations: verified low

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.

input object notice string output object pushed boolean channel string reachable boolean
openWorldHint true idempotentHint true destructiveHint false

Permissions 3

filesystem low
Server uses filesystem capabilities via: fs/promises
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 27

info
Tool 'pixoo_display_text' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_control_device' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_discover_devices' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_compose_scene' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_overlay_text' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_design_brief' annotations are consistent annotation_checker · 80%
info
Tool 'pixoo_push_image' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
medium
Buffer.from base64 in cyanheads-pixoo-mcp-server-952f8fc/tests/tools/pixoo-display-text.tool.test.ts:233 entropy_analyzer · 75%
medium
Buffer.from base64 in cyanheads-pixoo-mcp-server-952f8fc/tests/renderer/preview.test.ts:30 entropy_analyzer · 75%
medium
Buffer.from base64 in cyanheads-pixoo-mcp-server-952f8fc/tests/renderer/preview.test.ts:38 entropy_analyzer · 75%
info
package.json metadata manifest_parser · 100%
info
Tool: pixoo_display_text manifest_parser · 75%
info
Tool: pixoo_control_device manifest_parser · 75%
info
Tool: pixoo_discover_devices manifest_parser · 75%
info
Tool: pixoo_compose_scene manifest_parser · 75%
info
Tool: pixoo_overlay_text manifest_parser · 75%
info
Tool: pixoo_design_brief manifest_parser · 75%
info
Tool: pixoo_push_image manifest_parser · 75%
info
Required env vars (8) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
low
Permission: filesystem access detected permission_analyzer · 90%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 13 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-pixoo-mcp-server-952f8fc/skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%