Koskamo

pixoo-mcp-server

An MCP server that allows agents to render and push styled pixel art, text, dashboards, and animations to Divoom Pixoo LED displays on the local network. It supports STDIO or Streamable HTTP connections and provides tools for displaying text, composing scenes, pushing images, rendering HTML, controlling device settings, and discovering devices.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

pixoo-mcp-server logo, by cyanheadsCommunity listingLocal stdioSource reviewed; not executedPublished by cyanheads
Vendor documentation

What you can do with it

  • Render styled text with themes and gradients on LED displays
  • Compose layered scenes with icons, widgets, and sprites
  • Push local or remote images as animations to the grid
  • Control device brightness, screen state, and clock face

Source and maintenance

Community listingRegistry 1.5.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

@cyanheads/pixoo-mcp-server 1.5.0

npmnpx
@cyanheads/pixoo-mcp-server package definition
{
  "version": "1.5.0",
  "transport": "stdio",
  "identifier": "@cyanheads/pixoo-mcp-server",
  "runtimeHint": "npx",
  "registryType": "npm",
  "registryBaseUrl": "https://registry.npmjs.org",
  "environmentVariables": [
    {
      "name": "PIXOO_IP",
      "format": "string",
      "description": "Device IP address on the local network (e.g. 192.168.1.50). Required for device tools; discovery and pure-render (push: false) work without it."
    },
    {
      "name": "PIXOO_SIZE",
      "format": "string",
      "default": "64",
      "description": "Display size in pixels: 16, 32, or 64. Must match the physical device."
    },
    {
      "name": "PIXOO_OUTPUT_DIR",
      "format": "string",
      "description": "Directory for auto-saving preview PNG and GIF files. When unset, previews are returned in-response only."
    },
    {
      "name": "PIXOO_PUSH_MIN_INTERVAL_MS",
      "format": "string",
      "default": "1000",
      "description": "Minimum interval between device pushes in milliseconds. Prevents device freeze from rapid-fire commands."
    },
    {
      "name": "PIXOO_SERVE_HOST",
      "format": "string",
      "description": "Host advertised in the URL the device downloads an animation of more than 40 frames from, for NAT or a DNS name. When unset, the local address the OS routes to PIXOO_IP; the listener binds that address either way."
    },
    {
      "name": "PIXOO_SERVE_PORT",
      "format": "string",
      "description": "Fixed port for the listener the device downloads an animation of more than 40 frames from, for firewall rules. When unset, a free port."
    },
    {
      "name": "PIXOO_BROWSER_PATH",
      "format": "string",
      "description": "Browser executable for HTML rendering, such as the chrome-headless-shell that `npx @puppeteer/browsers install chrome-headless-shell@stable --path <dir>` installs. When set, the only browser tried: a path that is not an executable file fails rather than falling back. When unset, the newest chrome-headless-shell in Puppeteer's cache (~/.cache/puppeteer)."
    },
    {
      "name": "PIXOO_HTML_ENABLED",
      "format": "boolean",
      "default": "true",
      "description": "Offer pixoo_render_html. false (or 0, no, off) disables it, removing it from tools/list; unset or true keeps it. A value that is not one of those boolean spellings fails startup."
    },
    {
      "name": "MCP_LOG_LEVEL",
      "format": "string",
      "default": "info",
      "description": "Sets the minimum log level for output (e.g., 'debug', 'info', 'warn')."
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "pixoo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/pixoo-mcp-server@1.5.0"
      ],
      "env": {
        "PIXOO_IP": "<YOUR_PIXOO_IP>",
        "PIXOO_SIZE": "<YOUR_PIXOO_SIZE>",
        "PIXOO_OUTPUT_DIR": "<YOUR_PIXOO_OUTPUT_DIR>",
        "PIXOO_PUSH_MIN_INTERVAL_MS": "<YOUR_PIXOO_PUSH_MIN_INTERVAL_MS>",
        "PIXOO_SERVE_HOST": "<YOUR_PIXOO_SERVE_HOST>",
        "PIXOO_SERVE_PORT": "<YOUR_PIXOO_SERVE_PORT>",
        "PIXOO_BROWSER_PATH": "<YOUR_PIXOO_BROWSER_PATH>",
        "PIXOO_HTML_ENABLED": "<YOUR_PIXOO_HTML_ENABLED>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "pixoo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/pixoo-mcp-server@1.5.0"
      ],
      "env": {
        "PIXOO_IP": "<YOUR_PIXOO_IP>",
        "PIXOO_SIZE": "<YOUR_PIXOO_SIZE>",
        "PIXOO_OUTPUT_DIR": "<YOUR_PIXOO_OUTPUT_DIR>",
        "PIXOO_PUSH_MIN_INTERVAL_MS": "<YOUR_PIXOO_PUSH_MIN_INTERVAL_MS>",
        "PIXOO_SERVE_HOST": "<YOUR_PIXOO_SERVE_HOST>",
        "PIXOO_SERVE_PORT": "<YOUR_PIXOO_SERVE_PORT>",
        "PIXOO_BROWSER_PATH": "<YOUR_PIXOO_BROWSER_PATH>",
        "PIXOO_HTML_ENABLED": "<YOUR_PIXOO_HTML_ENABLED>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "pixoo-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/pixoo-mcp-server@1.5.0"
      ],
      "env": {
        "PIXOO_IP": "<YOUR_PIXOO_IP>",
        "PIXOO_SIZE": "<YOUR_PIXOO_SIZE>",
        "PIXOO_OUTPUT_DIR": "<YOUR_PIXOO_OUTPUT_DIR>",
        "PIXOO_PUSH_MIN_INTERVAL_MS": "<YOUR_PIXOO_PUSH_MIN_INTERVAL_MS>",
        "PIXOO_SERVE_HOST": "<YOUR_PIXOO_SERVE_HOST>",
        "PIXOO_SERVE_PORT": "<YOUR_PIXOO_SERVE_PORT>",
        "PIXOO_BROWSER_PATH": "<YOUR_PIXOO_BROWSER_PATH>",
        "PIXOO_HTML_ENABLED": "<YOUR_PIXOO_HTML_ENABLED>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "pixoo-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/pixoo-mcp-server@1.5.0"
      ],
      "env": {
        "PIXOO_IP": "<YOUR_PIXOO_IP>",
        "PIXOO_SIZE": "<YOUR_PIXOO_SIZE>",
        "PIXOO_OUTPUT_DIR": "<YOUR_PIXOO_OUTPUT_DIR>",
        "PIXOO_PUSH_MIN_INTERVAL_MS": "<YOUR_PIXOO_PUSH_MIN_INTERVAL_MS>",
        "PIXOO_SERVE_HOST": "<YOUR_PIXOO_SERVE_HOST>",
        "PIXOO_SERVE_PORT": "<YOUR_PIXOO_SERVE_PORT>",
        "PIXOO_BROWSER_PATH": "<YOUR_PIXOO_BROWSER_PATH>",
        "PIXOO_HTML_ENABLED": "<YOUR_PIXOO_HTML_ENABLED>",
        "MCP_LOG_LEVEL": "<YOUR_MCP_LOG_LEVEL>"
      }
    }
  }
}

Let your agent find its tools

Find servers like pixoo-mcp-server from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.