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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ba028d013067cff704abbf1d2e60bb7ac99ea1f0818888b7e0b5a6d53e4af8c
|
|
| MD5 |
652359ad132da65b3ff0184b473c3e69
|
|
| BLAKE2b-256 |
3b3af9aa85a327a4bcbe202267e6f87154280e04d03df9325d4bae12af8e36e2
|
File details
Details for the file divoom_agent_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: divoom_agent_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d0ce62b59d721aca7c79f48cb25eb7d9abd4111ebb601c1f027a354755ddc89
|
|
| MD5 |
f0414023bf0f0fc9ab8bad0b6380eade
|
|
| BLAKE2b-256 |
2ef79242c81584f059b73473739d5fb17ad57d4054795d6fc83207b9f714d569
|