Skip to main content

MCP server exposing the divoom-agent semantic API as tools for LLMs (Claude, etc.)

Project description

divoom-agent-mcp

MCP server that exposes the divoom-agent semantic API as tools for LLMs. Lets Claude (or any MCP-aware tool-using model) drive a Divoom 16x16 LED panel as an ambient AI peripheral.

Top of the three-library stack:

divoom-protocol     ← bytes/BLE/encoder
divoom-agent        ← semantic ambient API
divoom-agent-mcp    ← THIS PACKAGE. MCP tools for LLM use.

Install

pip install -e .[dev]

This installs the divoom-agent-mcp console script.

Usage with Claude Code

Add to your Claude Code MCP config (~/.claude/mcp.json or via claude mcp add):

{
  "mcpServers": {
    "divoom-agent": {
      "command": "divoom-agent-mcp",
      "env": {
        "DIVOOM_ADDRESS": ""
      }
    }
  }
}

Leave DIVOOM_ADDRESS empty to auto-scan for the nearest Divoom on startup, or set it to a specific device address (BLE MAC on Linux/Pi, or a CoreBluetooth UUID on macOS) to pin to a specific panel.

The server connects lazily on first tool invocation, so adding the MCP config doesn't immediately wake the panel.

Tools exposed

Tool What it does
set_status(state) Ambient state: thinking / working / idle / success / error. Loops until replaced.
notify(kind) Discrete event: shipped / celebrate / message.
set_alert(level) Severity ladder 1-3: yellow / orange / red flash.
paint_pixels(grid) Custom 16x16 pixel art. Grid is a list of 16 rows × 16 cells × [R,G,B].
set_color(r, g, b, brightness) Solid Lighting color.
set_brightness(value) 0-100.
clear_panel() Black.
show_clock() Built-in clock channel.
start_mondrian(fps) Generative Mondrian cycle.
stop_animation() Cancel any running animation.

Example LLM-driven sessions

Once configured, Claude can compose moves like:

"Show that you're thinking about my question." → set_status("thinking") → blue breath on the panel

"I just shipped a deploy — celebrate for a few seconds, then go back to idle." → notify("celebrate") → wait → set_status("idle")

"Paint me a sunset on the panel." → paint_pixels([... orange/red gradient ...])

Development

.venv/bin/pip install -e .[dev]
.venv/bin/pytest                    # currently no live-BLE tests
.venv/bin/divoom-agent-mcp          # run server interactively (uses stdio)

Test from another terminal with an MCP client (e.g. the official mcp CLI inspector) or just point Claude Code at it.

License

MIT.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

divoom_agent_mcp-0.1.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

divoom_agent_mcp-0.1.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file divoom_agent_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: divoom_agent_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for divoom_agent_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9ba028d013067cff704abbf1d2e60bb7ac99ea1f0818888b7e0b5a6d53e4af8c
MD5 652359ad132da65b3ff0184b473c3e69
BLAKE2b-256 3b3af9aa85a327a4bcbe202267e6f87154280e04d03df9325d4bae12af8e36e2

See more details on using hashes here.

File details

Details for the file divoom_agent_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for divoom_agent_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4d0ce62b59d721aca7c79f48cb25eb7d9abd4111ebb601c1f027a354755ddc89
MD5 f0414023bf0f0fc9ab8bad0b6380eade
BLAKE2b-256 2ef79242c81584f059b73473739d5fb17ad57d4054795d6fc83207b9f714d569

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page