Skip to main content
Glama

WritersLogic verifiable AI agents

recurrence-expand

Expand an RRULE or 5-field cron into concrete occurrences with DST handling, exclusions and conflict detection — Expands an RFC 5545 RRULE (FREQ DAILY/WEEKLY/MONTHLY/YEARLY, INTERVAL, COUNT, UNTIL, BYDAY with ordinals, BYMONTHDAY, BYMONTH, BYSETPOS, WKST; DTSTART with TZID; EXDATE) or a crontab(5) expression into up to 366 occurrences in a time zone, with the UTC instant of each, DST gap or overlap flags, caller blackout dates, a plain-English reading, and optionally the occurrences where it collides with a

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "kind": "<kind>",
      "rule": "<rule>"
    },
    "name": "recurrence-expand"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoLocal end of the window, inclusive.
fromNoLocal start of the output window; required for cron, default DTSTART for rrule.
kindYes
ruleYesrrule: 'DTSTART;TZID=America/New_York:19970902T090000\nRRULE:FREQ=DAILY;COUNT=10\nEXDATE;TZID=America/New_York:19970903T090000' or just 'FREQ=...' with dtstart. cron: '*/15 9-17 * * 1-5' (dom and dow both restricted match if either does).
limitNoMaximum occurrences returned (default 20).
otherNoA second rule to compare; conflicts are occurrences whose intervals overlap (equal instants when both durations are 0).
dtstartNoLocal DTSTART when the rule text has none.
exdatesNoExtra excluded local date-times (YYYY-MM-DDTHH:MM[:SS]) or dates (YYYY-MM-DD, excludes that day).
timeZoneNoIANA zone for local times (required for cron; for rrule unless DTSTART has TZID or Z).
blackoutsNoInclusive local date ranges to drop (holidays, freezes).
durationMinutesNoOccurrence length, for conflict overlap.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources