# Divoom LAN Watchface (npm · mcp-divoom-lan)

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

- Trust score: 65/100 (medium)
- Change this week: +15
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `mcp-divoom-lan`: 65/100 (this document), [markdown](https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan.md), [page](https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan)

## Channel facts

- Registry: `npm`
- Package: `mcp-divoom-lan`
- Version: `0.1.1`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Supply Chain Security**: 86/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 77 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 67/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (fair).
  - Tool/resource definitions use about 1099 tokens (~68/item across 16 items; 14 tools + 2 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 82/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 46% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add divoomdevelop-mcp-divoom-lan -- npx -y mcp-divoom-lan
```

### Codex

```bash
codex mcp add divoomdevelop-mcp-divoom-lan -- npx -y mcp-divoom-lan
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "divoomdevelop-mcp-divoom-lan": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "mcp-divoom-lan"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add divoomdevelop-mcp-divoom-lan --command npx --arg -y --arg mcp-divoom-lan
```

### Hermes

```yaml
mcp_servers:
  divoomdevelop-mcp-divoom-lan:
    command: "npx"
    args: ["-y", "mcp-divoom-lan"]
```

### Other

```json
{
  "mcpServers": {
    "divoomdevelop-mcp-divoom-lan": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-divoom-lan"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 65, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-02 (score 61, +56)

- [security regression] Provenance: unverified → fail
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Install scripts: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional regression] Security disclosure: fail → unverified
- [functional improvement] License: unverified → pass
- [functional improvement] Schema quality: unverified → fair
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional improvement] Schema quality: unverified → 100
- [functional] Licence: MIT

### 2026-07-31 (score 5, −27)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 32, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-27 (score 50)

First indexed and scored.

## MCP tools (14)

### `watchface_get_local` (~79 tokens)

Call Device/GetLocalClockInfo for current or explicit clock id.

Input parameters:

- `clockId` (integer)
- `parentClockId` (integer)
- `parentItemId` (integer)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.
- `useCurrentDisplayClock` (boolean)

### `watchface_patch_local` (~148 tokens)

Call Device/PatchLocalClockInfo with precheck. Stops when current ItemList is empty to avoid unsafe patch flow.

Input parameters:

- `clockId` (integer)
- `deviceImageUrl` (string)
- `devicePreviewImageUrl` (string)
- `devicePreviewImageUrl2` (string)
- `itemIdList` (array)
- `itemList` (array)
- `itemPatchByRoleList` (array)
- `itemPatchList` (array)
- `setColorList` (array)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.
- `useCurrentDisplayClock` (boolean)

### `watchface_get_fonts_local` (~38 tokens)

Call Device/GetLocalFontList.

Input parameters:

- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_get_store_market_list` (~50 tokens)

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

Input parameters:

- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_set_clock_select` (~50 tokens)

Call Channel/SetClockSelectId with ClockId.

Input parameters:

- `clockId` (integer, required)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_get_brightness` (~36 tokens)

Call Sys/GetBrightness.

Input parameters:

- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_set_brightness` (~47 tokens)

Call Channel/SetBrightness with Brightness.

Input parameters:

- `brightness` (integer, required)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_onoff_screen` (~69 tokens)

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

Input parameters:

- `onOff` (integer, required): 1 turns screen on, 0 turns screen off.
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_replace_dial_bg_file` (~139 tokens)

POST /replace_clock_dial_bg using multipart (Device/ReplaceClockDialBgFile). Does not modify DeviceImageUrl.

Input parameters:

- `clockId` (integer)
- `fileName` (string): Filename in multipart header. Defaults to basename(imagePath).
- `filePartName` (string): Second multipart part name. Default is current UTC ms timestamp.
- `imagePath` (string, required): Absolute or relative image file path (JPEG/WebP, 800x1280 recommended).
- `target` (object): Optional per-call target override. If omitted, environment variables are used.
- `useCurrentDisplayClock` (boolean)

### `watchface_upload_file` (~102 tokens)

POST /upload with multipart. First JSON part is caller-provided metadata (product-specific Command).

Input parameters:

- `fileName` (string): Filename in multipart header. Defaults to basename(filePath).
- `filePartName` (string): Second multipart part name. Default is current UTC ms timestamp.
- `filePath` (string, required)
- `metadata` (object, required)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_create_local_clock` (~122 tokens)

POST /create_local_clock with multipart. Explicit operation only; never auto-triggered by patch flow.

Input parameters:

- `fileName` (string): Filename in multipart header. Defaults to basename(imagePath).
- `filePartName` (string): Second multipart part name. Default is current UTC ms timestamp.
- `imagePath` (string, required)
- `metadata` (object, required): First multipart JSON body. Include ClockName and ItemList. Tool will minify JSON automatically.
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_reset_local_then_cloud` (~78 tokens)

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

Input parameters:

- `clockId` (integer, required)
- `parentClockId` (integer)
- `parentItemId` (integer)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_raw_command` (~68 tokens)

Raw POST /divoom_api command wrapper. Command is required; payload object is merged with enforced ReturnCode=0.

Input parameters:

- `command` (string, required)
- `payload` (object)
- `target` (object): Optional per-call target override. If omitted, environment variables are used.

### `watchface_protocol_quick_reference` (~24 tokens)

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

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 61
- 2026-08-01: 5
- 2026-07-31: 5
- 2026-07-30: 32
- 2026-07-28: 50
- 2026-07-27: 50

## Links

- npm package: https://www.npmjs.com/package/mcp-divoom-lan
- Socket report: https://socket.dev/npm/package/mcp-divoom-lan
- Repository: https://github.com/DivoomDevelop/mcp-divoom-lan
- Changelog RSS feed: https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan/changelog.json
- HTML version of this page: https://verifymcp.io/servers/divoomdevelop-mcp-divoom-lan/mcp-divoom-lan
