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.
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
- 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
{
"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.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"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
{
"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
{
"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
{
"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.