Skip to content
Agentmart
Submit a tool

Divoom LAN Watchface

MCP server for Divoom LAN watchface APIs; read-before-write safe.

Connector by DivoomDevelop · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 7
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/divoomdevelop-mcp-divoom-lan

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

MCP server for Divoom LAN watchface APIs; read-before-write safe. V2 editor linked in README.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
9 read · 7 write · 1 delete · 5 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 22

Read from the source code; the running server may list different tools.

Read 9 · Look things up without changing anything.

  • watchface_clock_catalog
  • watchface_disp_catalog
  • watchface_font_catalog
  • watchface_get_device_info
  • watchface_get_screen_snapshot
  • watchface_layout_suggest
  • watchface_list_devices
  • watchface_protocol_quick_reference
  • watchface_template_search

Write 7 · Create, change, send or run things.

  • watchface_create_local_clock
  • watchface_onoff_screen
  • watchface_patch_local
  • watchface_replace_dial_bg_file
  • watchface_set_brightness
  • watchface_set_clock_select
  • watchface_upload_file

Delete 1 · Delete, drop, revoke or wipe things.

  • watchface_reset_local_then_cloud

Not yet classified 5 · We could not tell from the name and description.

  • watchface_get_brightness
  • watchface_get_fonts_local
  • watchface_get_local
  • watchface_get_store_market_list
  • watchface_raw_command

Secrets and settings it asks for

Other settings (environment variables or headers).

  • DIVOOM_DEVICE_HOST
  • DIVOOM_DEVICE_PORT
  • DIVOOM_TIMEOUT_MS

Network hosts it talks to 5

  • app.divoom-gz.com · found in code
  • appchina.divoom-gz.com · found in code
  • divoomdevelop.github.io · found in code
  • github.com · found in code
  • glama.ai · found in code

Files it touches

  • Any path the agent passes to its tools

Tools (22)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • watchface_clock_catalog

    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.

  • watchface_create_local_clock

    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.

  • watchface_disp_catalog

    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.

  • watchface_font_catalog

    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 …

  • watchface_get_brightness

    Call Sys/GetBrightness.

  • watchface_get_device_info

    Query this device's Hardware version first, then return its product profile and LAN capabilities. A command with no response falls back to TimesFrame; an explicit unknown Hardware value is rejected. Each target is identified independently.

  • watchface_get_fonts_local

    Call Device/GetLocalFontList.

  • watchface_get_local

    Call Device/GetLocalClockInfo for current or explicit clock id.

  • watchface_get_screen_snapshot

    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.

  • watchface_get_store_market_list

    Call Device/GetStoreClockMarketList after device prefetch has populated in-memory store data.

  • watchface_layout_suggest

    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).

  • watchface_list_devices

    List devices returned by https://app.divoom-gz.com/Device/ReturnSameLANDevice so the user can choose a target. Only supported TimesFrame Hardware 510/511/512 and AstroToo Hardware 530 are returned. Pixoo64 Hardware 90/92/96, Times Gate Hardware 400/402, and every other unsupported product are filtered out. Each entry includes a ready-to-use target object.

  • watchface_onoff_screen

    Call Channel/OnOffScreen with OnOff (1=on, 0=off).

  • watchface_patch_local

    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 separatel…

  • watchface_protocol_quick_reference

    Return concise operational constraints extracted from the public guide and skill.

Show 7 more tools
  • watchface_raw_command

    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.

  • watchface_replace_dial_bg_file

    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.

  • watchface_reset_local_then_cloud

    Call Device/ResetLocalClockFromServer. This deletes local sys-side files before optional cloud refresh.

  • watchface_set_brightness

    Call Channel/SetBrightness with Brightness.

  • watchface_set_clock_select

    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.

  • watchface_template_search

    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.

  • watchface_upload_file

    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.

Signals

Stars
7
Forks
0
Open issues
0
Last commit
Oct 16, 2026 (13 days ago)
Last release
May 18, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.DivoomDevelop/mcp-divoom-lan
Version
0.1.1
Auth
No auth
Packages
npm mcp-divoom-lan
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Divoom LAN Watchface MCP server. Agent Mart. https://agentmart.dev/connectors/divoomdevelop-mcp-divoom-lan (last updated 2026-10-25)