MCP server and CLI for the Ulanzi TC001 Smart Pixel Clock (AWTRIX3 firmware).
- MCP Server: Control your Ulanzi clock from AI assistants (Claude Desktop, Cursor, Windsurf)
- CLI Tool: Command-line interface for scripting and automation
- Multi-clock Support: Control multiple clocks from a single instance
- Full API Coverage: Access all AWTRIX3 HTTP API endpoints
cd ulanzi-mcp
uv syncCopy .env.example to .env and set your clock IP:
ULANZI_HOSTS=http://192.168.1.100For multiple clocks:
ULANZI_HOSTS=http://192.168.1.100,http://192.168.1.101# Check configuration
ulanzi info
# Turn on display
ulanzi power on
# Show notification
ulanzi notify "Meeting in 5 minutes!"
# Set brightness
ulanzi brightness 200Add to your Claude Desktop config:
{
"mcpServers": {
"ulanzi-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/ulanzi-mcp", "run", "python", "-m", "ulanzi_mcp.server"]
}
}
}| Variable | Description | Default |
|---|---|---|
ULANZI_HOSTS |
Clock address(es), comma-separated | http://192.168.1.100 |
ULANZI_USERNAME |
HTTP auth username | (none) |
ULANZI_PASSWORD |
HTTP auth password | (none) |
ULANZI_API_TIMEOUT |
Request timeout (seconds) | 10 |
ULANZI_MQTT_PREFIX |
MQTT topic prefix | awtrix |
See docs/clock_spec.md for complete documentation.
# Run MCP server in development mode
uv run mcp dev src/ulanzi_mcp/server.py
# Run CLI
ulanzi --help
# Run tests
uv run pytestMIT