Skip to main content
Glama
Buggy1111

shelly-mcp

by Buggy1111

shelly_schedule_create

Idempotent

Creates a Shelly device schedule from a cron, shorthand, or sun-relative timespec plus up to five method calls, validating limits and logging the result for audit.

Instructions

Create a schedule: timespec + calls (1-5 × {method, params}).

timespec: cron "sec min hour day month dow" (e.g. "0 0 22 * * MON-THU"; 5 or 7 fields also accepted), a shorthand (@daily), or sun-relative "@sunset", "@sunset+30m", "@sunrise-1h * * MON-FRI" (offset max ±12 h; the device needs its location set). Validates the timespec, ≤5 calls, the ≤20-per-device limit, and each call's method. Audit-logged.

Input Schema

NameRequiredDescriptionDefault
callsYes
deviceYes
enableNo
timespecYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.3
    • addedInput schema / additionalProperties
      Added value: +false
  2. First observedv0.1.2

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only supply idempotentHint, so the description carries most of the burden and does well: it discloses validation of the timespec and each method, the ≤5-call cap, the ≤20-per-device limit, and that the operation is audit-logged. It stops short of stating whether repeated identical calls create duplicates or which permission scope is required.

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

Conciseness5/5

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

Dense but front-loaded: the core action and payload come first, then grammar, limits, and side effects. Every sentence is load-bearing and the code formatting aids scanning; there is no 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?

An output schema exists, so return values need not be described, and the description covers the hard parts of the call (timespec syntax, call shape, limits, validation). It omits the meaning of the enable flag and any note on behavior when a matching schedule already exists.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate and largely does: it fully specifies timespec grammar (cron fields, shorthands, sun-relative offsets with ±12h cap) and the calls array (1-5 objects of {method, params}). The device parameter is only obliquely referenced (location prerequisite) and enable is never explained, leaving a gap.

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?

The description opens with a specific verb+resource ("Create a schedule") and immediately defines the payload shape ("timespec + calls (1-5 × {method, params})"). It is trivially distinguishable from the schedule_list, schedule_update, and schedule_delete siblings.

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

Usage Guidelines3/5

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

Usage is implied by the verb — there is no explicit statement of when to create vs. update an existing schedule, nor any prerequisite/auth guidance. The one conditional note ("the device needs its location set" for sun-relative timespecs) is a useful but narrow hint rather than real when-to-use guidance.

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