Skip to main content
Glama
mcp-divoom-lan

mcp-divoom-lan

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DIVOOM_TIMEOUT_MSNoRequest timeout in milliseconds, default 4500045000
DIVOOM_DEVICE_HOSTNoDevice LAN IP (e.g., 192.168.1.120). If unset, each tool call must pass target.host.
DIVOOM_DEVICE_PORTNoHTTP port, default 90009000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
watchface_list_devicesA

List selectable TimesFrame 510/511/512, AstroToo 530, PIXOO64 90/92/96 and TimeGate 400/402 devices from https://app.divoom-gz.com/Device/ReturnSameLANDevice. Other hardware is filtered out. PIXOO64/TimeGate targets include Hardware and version-specific ports.

watchface_get_device_infoB

Return the product profile and LAN capabilities. TimesFrame/AstroToo query Hardware; PIXOO64/TimeGate use discovery or an explicit target.hardware profile. Unknown Hardware is rejected. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_get_localC

Call Device/GetLocalClockInfo for current or explicit clock id. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_patch_localA

Upsert the MCP-managed local watchface. The server injects its managed ClockId, reads that slot first, updates it when present, and creates it when missing if dialAssetsPath plus complete ItemList and ItemIdList are supplied. Callers do not provide a ClockId. Field-only updates use POST /divoom_api; asset updates use multipart. Prefer ItemPatchList for existing rows and do not include item_id inside patch.* unless explicitly renaming a slot. TimesFrame accepts a JPEG/WebP backdrop or clock_bg.tar.gz bundle. AstroToo accepts one JPEG/WebP backdrop only after element files are uploaded separately and bound through local:// FileId values. AstroToo rejects TAR/TGZ/ZIP and bundle_image. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_get_fonts_localC

Call Device/GetLocalFontList. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_get_store_market_listC

Call Device/GetStoreClockMarketList after device prefetch has populated in-memory store data. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_set_clock_selectA

Call Channel/SetClockSelectId with ClockId. TimesFrame queues a pair of identical requests in one serialized MCP operation so a manual selection suppresses an active traditional clock schedule for its current period; AstroToo sends it once. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_get_brightnessC

Call Sys/GetBrightness. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_set_brightnessC

Call Channel/SetBrightness with Brightness. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_onoff_screenB

Call Channel/OnOffScreen with OnOff (1=on, 0=off). For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_replace_dial_bg_fileB

POST /replace_clock_dial_bg using multipart (Device/ReplaceClockDialBgFile). Replaces the cached dial bitmap only and does not accept archives. Backdrop must be JPEG or WebP and less than 500 KiB. Required dimensions are selected from hardware: TimesFrame 800x1280, AstroToo 480x480. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_upload_fileA

AstroToo-only POST /upload_local_asset with one multipart file. Assets must be sent serially, one file per call, using Device/UploadLocalAsset metadata. Each success returns a temporary local:// FileId which must be bound by a successful create or patch; firmware then atomically moves the staging file into durable watchface storage. Unbound uploads are cleared on reboot and are never uploaded outward. TAR/TGZ/ZIP are rejected. The product photo/pixel POST /upload route is kept separate. TimesFrame generic /upload is blocked in MCP local-only mode; use create/patch multipart assets instead. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_create_local_clockA

Upsert the MCP-managed local watchface with multipart. The server injects its managed ClockId, reads that slot first, creates it only when missing, and otherwise updates it. Callers do not provide a ClockId. TimesFrame accepts DialAssets image/auto/bundle and may use clock_bg.tar.gz. AstroToo accepts DialAssets=image only: upload every element separately with watchface_upload_file, put each returned local:// FileId in ItemList[i].image_addr, then call this tool with one 480x480 JPEG/WebP backdrop. AstroToo rejects TAR/TGZ/ZIP, UseDialAssetBundle!=0, and bundle_image. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_reset_local_then_cloudC

Call Device/ResetLocalClockFromServer. This deletes local sys-side files before optional cloud refresh. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_get_screen_snapshotA

Capture the rendered screen for visual verification after create/patch/switch. Sends Device/GetScreenSnapshot, then downloads and validates the exact snapShotPath returned by AstroToo (currently BMP); TimesFrame retains its WebP fallback paths. Optional savePath writes the image locally for review. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_raw_commandA

Raw POST /divoom_api command wrapper. Command is required; payload object is merged with enforced ReturnCode=0. Raw Device/CreateLocalClock and Device/PatchLocalClockInfo payloads are restricted to ClockId 60000; use the dedicated create/patch tools for the full precheck and multipart upsert flow. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_protocol_quick_referenceB

Return concise operational constraints extracted from the public guide and skill. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_clock_catalogA

Query product-specific ClockId, Chinese/English names, font ids, disp ids, item ids, and optional source configuration. AstroToo data is generated from both simulator clocksys directories; its default set comes from Device/GetClockDefaultList with IsDefault=1. TimesFrame data remains independent. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_disp_catalogA

Return the selected product's disp catalog for ItemList[i].disp and ItemPatchList[i].patch.disp. TimesFrame and AstroToo use independent enums and renderer sources. AstroToo entries also report category, render kind, data source, asset requirement, authoring mode, and reference-config usage. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_font_catalogA

Return a curated font catalog so agents can pick ItemList[i].font ids deterministically. Each entry includes id, type (1=TTF, 0=image-font), display name, original charset, derived script (digits / digits-extended / latin / cjk), style tags (sans/serif/pixel/digital/handwriting/display/decorative/bold/light/etc), and recommendedFor (scenario names like time_digits / temperature_digits / weather_text / user_text / lunar_text). The response also includes a scenarios map that lists which disp ids each scenario covers and which tags to prefer. For visual style and mood per font id, read MCP resource divoom://font/guide first. Use the optional filters to narrow the result. Always cross-check with watchface_get_fonts_local before committing a font id to a real device, because the on-device font list may be a subset. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_template_searchA

Search the curated template library (divoom://templates/curated): ~20 marketplace-derived watchface skeletons with tags such as weather, lunar_calendar, split_time_digits, pixel_theme, asset_heavy. Prefer cloning an existing ItemList layout before inventing raw coordinates. Filters support tagsAll/tagsAny, bucket, clockIds, item-count bounds, and dispPresent (template must include that disp id). Set includeWatchface=false for a compact summary without the full ItemList payload. For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

watchface_layout_suggestA

Return layout hints for a single disp id by combining disp-catalog metadata with aggregated typography (median size/x/y/w/h, frequent colors, alignment mode) mined from bundled marketplace templates. Use before authoring a new ItemList row or ItemPatchList.patch fragment — values are soft guidance, not firmware-enforced. Always clamp boxes to the logical canvas (typically 800×1280). For AstroToo, first query hardware/capabilities; use the 480x480 AstroToo resources. Legacy 800x1280 examples and typography apply only to TimesFrame.

pixoo64_get_device_infoB

Report the 64×64 profile, version-specific route and declared MCP support. Explicit Hardware is a caller override, not a device query. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_send_animationA

Send 1–59 RGB888 frames in order; reset the HTTP GIF ID then use PicID=1. Frames are row-major RGB base64, not PNG/JPEG/GIF bytes. Stops on first failure; never retries a partially sent animation. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_send_textA

Add or replace a text overlay using Draw/SendHttpText. Requires a previously sent animation; backgroundColor optionally starts a solid 64×64 background first. Text fonts are 0–7. Legacy firmware requires 90102+. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_send_itemsA

Send time/date/weather/text elements using Draw/SendHttpItemList. Requires a previously sent animation; backgroundColor optionally starts a solid 64×64 background first. IDs 0–39 replace matching overlays. Read divoom://pixoo64/guide for types 1–23 and font policy. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_clear_textA

Clear all HTTP text and display-list overlays using Draw/ClearHttpText. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_set_brightnessB

Set Channel/SetBrightness, 0–100. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_onoff_screenA

Set Channel/OnOffScreen, 1=on, 0=off. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_set_channelA

Set Channel/SetIndex, 0=faces, 1=cloud, 2=visualizer, 3=custom, 4=black screen. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_play_gifA

Play a device-accessible HTTP GIF URL using Device/PlayTFGif (16×16, 32×32 or 64×64). The device downloads the URL. Legacy firmware requires 90096+. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

pixoo64_command_listA

Validate all commands before sending. Hardware 90/92 uses native Draw/CommandList (firmware 90102+); Hardware 96 sends the supported commands sequentially because the reference firmware has no native list handler. Stops on first failure; earlier commands may already have run. Nested lists and unsupported commands are rejected. PIXOO64 Hardware 90/92/96 only. Provide target.hardware for direct LAN use, or resolve it using device discovery.

timegate_get_device_infoB

Report the selected hardware profile, endpoint and per-screen canvas; explicit hardware is a caller override, not a queried device identity. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_send_itemsA

Create or update one screen with Draw/SendHttpItemList. mode=replace sends NewFlag=1; append sends 0. On first use of a 402 screen, supply backgroundGif with replace to initialize its background; missing background data can prevent visible rendering despite a success acknowledgement. 400 documentation says background is ignored on replace. MCP does not download the background itself. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_send_textA

Add text to an already active HTTP animation. lcdIndex must be the animation's first selected screen. 400 sends LcdIndex; 402 source reads LcdId. Text uses animation fonts 0–7 and a 16-pixel height, independently of display-list fonts. For regular custom dials use send_items type 22. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_clear_textB

Clear animation text using Draw/ClearHttpText and LcdId. textId=-1 clears all text on the selected animation. This does not delete display-list custom dials. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_set_brightnessA

Set global LCD brightness, 0–100. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_get_brightnessA

Read brightness: 400 uses Channel/GetAllConf; 402 reads effective brightness through Channel/GetClockInfo on LCD 0. The reference 402 Sys/GetBrightness returns a hardcoded 100 and is not used. Effective brightness is 0 when the screen is off. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_onoff_screenA

Switch all screens, onOff=1 on and 0 off. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_select_clockA

Select a whole-device clock when lcdIndex is omitted. For one screen, provide lcdIndex and lcdIndependence from the device's existing configuration; no default independence ID is assumed. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_play_gifA

Play 1–9 HTTP GIF URLs on the selected screens using Device/PlayGif. GIF dimensions must be square 16/32/64/128. URLs are downloaded by the device; an acknowledgement does not verify rendering. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

timegate_command_listA

Validate the complete whitelist batch before writing. 400 uses native Draw/CommandList; 402 executes commands sequentially in MCP because the reference firmware has no list handler. No nested lists, token overrides or unsupported commands. Stops on failure without retry or rollback; earlier commands may have run. TimeGate Hardware 400/402 only; five independent 128×128 screens. Read divoom://timegate/guide.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
Divoom Product RegistryRegistered products, Hardware versions, canvas sizes, and isolated resource directories.
Divoom Watchface Guide Quick ReferenceKey LAN API constraints and command flow for watchface customization.
Divoom Watchface Skill PromptCompact prompt that teaches agents how to safely operate the Divoom LAN API.
Divoom Watchface Font CatalogCurated TTF and image-font catalog (id, type, name, charset, script, style tags, recommended scenarios) sourced from the visual editor's font_info.cfg. Use it to pick `ItemList[i].font` ids without guessing.
Divoom Watchface Font AI GuideHuman-readable guide for all 157 editor fonts: visual style, mood, recommended use cases, scenario index, TTF vs image_glyph styling rules, and per-id descriptions. Read this before `divoom://font/catalog` when choosing fonts for themed dials.
Divoom Watchface Disp CatalogCatalog of every `disp` id supported by this firmware (194 entries) with English symbol, Chinese description, and heuristic hints for whether the slot expects an image asset or vector text. Use to pick `ItemList[i].disp` and to decide whether the slot needs an `image_addr` asset.
Divoom Watchface JSON SchemaJSON Schema (draft 2020-12) for the editor's watchface config (`ItemList[]`, `ItemIdList`, `ClockId`, names). Validate generated payloads before sending them to PatchLocalClockInfo / CreateLocalClock.
Minimal Watchface ExampleSmallest valid watchface JSON (single time row at 800x1280). Use as a starting template before adding more `ItemList` rows.
AI Watchface Authoring GuideEditor-side narrative on AI-assisted watchface authoring: canvas conventions, font rules, where the catalogs come from, regeneration workflow.
Curated Watchface Templates~20 designer-made skeleton watchfaces mined from the HTML editor's bundled marketplace configs (`public/template/config`). Each entry lists tags (weather, lunar, pixel_theme, …), stats, and a stripped `watchface` JSON (ClockId, names, ItemIdList, ItemList) safe to clone before swapping fonts/colors. Does not include DeviceImageUrl.
AstroToo LAN GuideAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Disp CatalogAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Disp SummaryAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Display Elements Guide (English)AstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Display Elements Guide (Chinese)AstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Font PolicyAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Clock CatalogAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Clock ConfigurationsAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo TemplatesAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Minimal WatchfaceAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
AstroToo Watchface SchemaAstroToo Hardware 530 only; 480x480, local assets and on-device fonts.
PIXOO64 LAN Control GuidePIXOO64 Hardware 90/92/96 routes, supported commands, display types 1–23, fonts and examples. No watchface uploads.
PIXOO64 Display List Example64×64 time and text overlays with a solid background, for pixoo64_send_items only.
TimeGate LAN Control GuideTimeGate 400/402 transports, LocalToken, five 128×128 screens, display lists and command batches.
TimeGate Display List ExampleOne-screen time/text example for timegate_send_items. Supply LocalToken from device settings.

TDQS

B3.4/5.0

Scored across 42 tools

Disambiguation4/5

The device-family prefixes (watchface_, pixoo64_, timegate_) and action-oriented suffixes make most tools clearly distinct. Within watchface_, however, watchface_patch_local and watchface_create_local_clock both upsert the managed local watchface, and the catalog/layout/search tools have some conceptual overlap, so a few selections may require careful reading.

Naming Consistency4/5

Names use consistent snake_case and predictable device prefixes across all four hardware families. Most action tools follow verb_noun patterns, but there are minor deviations such as watchface_template_search, watchface_clock_catalog, and watchface_disp_catalog that are noun-first or catalog-oriented.

Tool Count3/5

42 tools is heavy overall, driven by exposing separate operational tools for four distinct Divoom device families. Much of the duplication is justified by differing protocols, but the set is larger than ideal and could potentially consolidate common operations such as brightness, screen on/off, and command lists.

Completeness4/5

The surface covers device discovery, watchface authoring, catalog/layout guidance, rendering snapshots, brightness, screen control, and per-family command execution. There are minor gaps, such as PIXOO64 lacking a brightness readback tool and limited explicit lifecycle/delete operations, but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues