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.
Metadata
Release files for divoom-agent-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| divoom_agent_mcp-0.1.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| divoom_agent_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.0 kB
Release files / divoom_agent_mcp-0.1.0.tar.gz
| Download URL | divoom_agent_mcp-0.1.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ba028d013067cff704abbf1d2e60bb7ac99ea1f0818888b7e0b5a6d53e4af8c
|
|
BLAKE2b-256 checksum How to use checksums |
3b3af9aa85a327a4bcbe202267e6f87154280e04d03df9325d4bae12af8e36e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|
Release files / divoom_agent_mcp-0.1.0-py3-none-any.whl
| Download URL | divoom_agent_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d0ce62b59d721aca7c79f48cb25eb7d9abd4111ebb601c1f027a354755ddc89
|
|
BLAKE2b-256 checksum How to use checksums |
2ef79242c81584f059b73473739d5fb17ad57d4054795d6fc83207b9f714d569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.12
|