Skip to main content
Glama

preview_schedule

Read-onlyIdempotent

Preview a schedule to verify its summary and zone breakdown before committing. Dry-run that returns the same schedule as create_schedule would produce without saving.

Instructions

Server-side dry-run of create_schedule. Does NOT persist anything.

Returns the same Schedule that create_schedule would produce, including the server-generated human-readable summary like 'Every Monday and Thursday at 5:00 AM'. Always call this first and verify the summary + zone breakdown before calling create_schedule.

Args: name: Schedule display name, e.g. "Summer Lawn". zones: List of zone entries. Each must be a dict with keys: device_id (str), zone_id (str), watering_time (int seconds), optionally order_id (int, defaults to list position + 1), flex_aggression_coefficient (float, flex only), flex_runtime_coefficient (float, flex only). schedule_type: FIXED (default), FLEX_MONTHLY, or FLEX_DAILY. start_time: Daily start time HH:MM, e.g. "05:00". Use this for fixed clock-time schedules. start_sun: "SUNRISE" or "SUNSET" to anchor to solar time instead of a clock time. Provide at most one of start_time or start_sun. days: Days of week for FIXED schedules, e.g. ["MON", "THU"]. Names accept MON/TUE/WED/THU/FRI/SAT/SUN (case-insensitive). Omit for schedules that run every day within the date window. annual_start: Recurring-yearly window start, MM-DD (e.g. "06-15" for mid-June). Use for seasonal schedules. annual_end: Recurring-yearly window end, MM-DD. smart_cycle: Let Rachio auto-calculate cycle and soak based on each zone's soil/slope/nozzle. cycle_soak: Enable manual cycle + soak. Combine with cycle_time_seconds and soak_time_seconds. cycle_time_seconds: Length of each watering cycle (seconds). soak_time_seconds: Rest interval between cycles (seconds). zone_delay_time_seconds: Delay between zones in the sequence. rain_delay_enabled: Skip runs after significant rain. freeze_delay_enabled: Skip runs when temp drops below freezing. wind_delay_enabled: Skip runs during high wind. climate_skip: Skip runs when climate/ET data suggests enough moisture is present. seasonal_shift: Seasonally adjust runtimes up/down.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
daysNo
nameYes
zonesYes
start_sunNo
annual_endNo
cycle_soakNo
start_timeNo
smart_cycleNo
annual_startNo
climate_skipNo
schedule_typeNoFIXED
seasonal_shiftNo
soak_time_secondsNo
cycle_time_secondsNo
rain_delay_enabledNo
wind_delay_enabledNo
freeze_delay_enabledNo
zone_delay_time_secondsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds that the tool returns the same schedule as create_schedule would (including a server-generated summary), and that it does not persist anything, providing useful extra behavioral context.

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?

The description is well-structured with a clear front-loaded purpose statement and a labeled Args section. However, it is verbose with bullet-point-style parameter descriptions; could be slightly more concise while remaining complete.

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

Completeness5/5

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

Given the high parameter count (18), 0% schema coverage, and presence of an output schema, the description covers all essential aspects: purpose, usage flow, detailed parameter semantics, and behavioral guarantees. It is fully adequate for the AI agent.

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

Parameters5/5

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

Schema coverage is 0%, but the description compensates fully with detailed explanations for each parameter, including format constraints (e.g., 'HH:MM', 'MON/TUE...', 'MM-DD') and mutual exclusivity (e.g., provide at most one of start_time or start_sun).

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 clearly states it is a 'Server-side dry-run of create_schedule' and explicitly says 'Does NOT persist anything'. This verb-driven purpose distinguishes it from the sibling create_schedule tool.

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

Usage Guidelines5/5

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

The description instructs 'Always call this first and verify the summary + zone breakdown before calling create_schedule', providing explicit when-to-use guidance and an alternative workflow.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rwestergren/rachio-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server