Skip to main content
Glama
mcp-divoom-lan

mcp-divoom-lan

Official

watchface_template_search

Search the curated watchface template library by tags, bucket, clock, and item filters to find reusable layouts for cloning before writing raw coordinates.

Instructions

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.

Input Schema

NameRequiredDescriptionDefault
limitNoMax templates to return (default 8, max 25).
modelNoFor offline authoring only. A connected target's hardware determines its model.
bucketNoPick list bucket label from the curated generator (e.g. split_time_digits, weather, pixel_theme).
targetNoOptional per-call target override. If omitted, environment variables are used.
tagsAllNoTemplate must contain every listed tag (AND semantics).
tagsAnyNoTemplate must contain at least one listed tag (OR semantics).
clockIdsNoRestrict to explicit ClockId values.
maxItemsNoMaximum ItemList row count.
minItemsNoMinimum ItemList row count.
dispPresentNoKeep templates that already contain at least one row with this disp id.
nameContainsNoCase-insensitive substring match on NameCn or NameEn.
includeWatchfaceNoIf false, omit the nested watchface.ItemList payload (default true).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.3.0
    • addedInput schema / properties / model
      Added value: +{
      +  "description": "For offline authoring only. A connected target's hardware determines its model.",
      +  "enum": [
      +    "timesframe",
      +    "astrotoo"
      +  ],
      +  "type": "string"
      +}
    • addedInput schema / properties / target
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Optional per-call target override. If omitted, environment variables are used.",
      +  "properties": {
      +    "hardware": {
      +      "description": "Explicit PIXOO64 90/92/96 or TimeGate 400/402 profile for direct LAN control. Must match the actual device; this is not a firmware version.",
      +      "enum": [
      +        90,
      +        92,
      +        96,
      +        400,
      +        402
      +      ],
      +      "type": "integer"
      +    },
      +    "host": {
      +      "description": "Device LAN IP. Example: 192.168.1.120",
      +      "type": "string"
      +    },
      +    "model": {
      +      "default": "auto",
      +      "description": "PIXOO64/TimeGate use discovery Hardware or target.hardware; TimesFrame/AstroToo query Hardware on the device.",
      +      "enum": [
      +        "auto",
      +        "timesframe",
      +        "astrotoo",
      +        "pixoo64",
      +        "timegate"
      +      ],
      +      "type": "string"
      +    },
      +    "port": {
      +      "description": "Optional HTTP port override. Defaults to 80 for PIXOO64 90/92 and TimeGate 400, otherwise 9000.",
      +      "type": "integer"
      +    },
      +    "timeoutMs": {
      +      "default": 45000,
      +      "description": "HTTP timeout in milliseconds.",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.1.6

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden, and it discloses the library size and provenance, the tag vocabulary, the effect of includeWatchface=false, and model-specific resource caveats. It never states the return payload shape or that results are read-only/static, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded with the library identity before filter and device caveats, and nearly every clause adds new detail. It is dense and slightly long, but no sentence is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter tool with a nested target object, no annotations, and no output schema, the description supplies the missing behavioral context (corpus, filters, model-specific resources, compact mode). It omits explanation of the target/model/nameContains parameters and of returned template fields, but the rich schema offsets much of that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already defines every parameter; the description merely enumerates the filter families (tagsAll/tagsAny, bucket, clockIds, item-count bounds, dispPresent) without adding semantics beyond the schema. Baseline 3 is appropriate given the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (search the curated template library at divoom://templates/curated) and quantifies the corpus (~20 marketplace-derived watchface skeletons) with example tags. It also positions the tool against the sibling layout_suggest tool by advising 'prefer cloning an existing ItemList layout before inventing raw coordinates'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives actionable context: use includeWatchface=false for a compact summary, query hardware/capabilities first for AstroToo and use 480x480 resources, and treat legacy 800x1280 examples as TimesFrame-only. It does not name explicit when-not-to-use cases or sibling alternatives by name, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.