Pixoo MCP Server

Create and preview pixel art, text, scenes and animations, then send them to a Divoom Pixoo display on your local network.

Local serverstdioTypeScriptApache-2.0

What is the Pixoo MCP Server?

Pixoo MCP connects an assistant to a Divoom Pixoo LED display. It can render text, images, layered scenes and animations, then push the finished frames to a reachable device. Rendering happens on the host computer.

Preview a design before sending it

Use a rendering tool with push: false to inspect the output without changing a display. The returned preview and layout details help identify clipped text or a design that does not fit the panel. The design-brief tool supplies guidance and device context for the next step.

Connect the local device

The current README requires Bun 1.4.0 or later, or Node.js 24 or later. Set PIXOO_IP to the device’s LAN address in the publisher configuration. Device discovery uses Divoom’s cloud discovery service and therefore needs internet access.

Read the device state before pushing. Brightness, screen power and the selected channel can explain why a successful render is not visible. Some longer animations require the device to download a generated GIF from the host, so that network path must also work.

Optional HTML rendering

The HTML renderer needs the documented headless browser and can be disabled with PIXOO_HTML_ENABLED=false. Its availability depends on the local setup; it should not be assumed from the package name alone.

Current tools and configuration.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
pixoo_display_textRender styled text with themes, gradients, shadows, and auto-fit, static or animated, and push it
pixoo_compose_sceneCompose layered scenes of text, icons, widgets, shapes, bitmaps, images, and sprites, static or animated
pixoo_push_imageResize a local or https image to the LED grid and push it, an animated GIF or WebP as an animation
pixoo_render_htmlRender an HTML page (CSS, SVG, Canvas, WebGL) in a headless browser at the panel size, still or animated frame by frame on a virtual clock, and push it
pixoo_overlay_textSet or clear a device-rendered scrolling text overlay
pixoo_control_deviceRead or change brightness, screen state, channel, or clock face
pixoo_discover_devicesFind Pixoo devices and their LAN IPs through Divoom's cloud discovery
pixoo_design_briefCraft guidance for a design topic, with live device state and pre-filled next calls

How to install the Pixoo MCP Server

{
  "mcpServers": {
    "pixoo-mcp-server": {
      "type": "stdio",
      "command": "bunx",
      "args": [
        "@cyanheads/pixoo-mcp-server@latest"
      ],
      "env": {
        "MCP_TRANSPORT_TYPE": "stdio",
        "MCP_LOG_LEVEL": "info",
        "PIXOO_IP": "192.168.1.50"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

Bun 1.4.0 or later, or Node.js 24 or later. Device pushes need a reachable Divoom Pixoo on the local network. The optional HTML renderer needs the publisher’s documented headless browser.

VariableDescriptionRequired
MCP_TRANSPORT_TYPESelects the configured transport; the documented local example uses stdio.Optional
MCP_LOG_LEVELControls logging verbosity.Optional
PIXOO_IPLAN address for device pushes. Preview-only rendering and discovery can work without it.Optional

Example prompts to try

  • “Preview a readable weather card for my Pixoo using push: false so the display stays unchanged.”
  • “Read the Pixoo device state and explain whether its screen, brightness and channel would show a new frame.”

Frequently asked questions

Yes. Rendering tools support push: false. Device discovery and preview-only work can be used without a configured PIXOO_IP; actual pushes need a reachable device.