Skip to main content
Glama

Recurrence Expand

recurrence_expand
Read-onlyIdempotent

Expand a recurrence rule into a concrete list of ISO dates. FREE.

Set every_days for a fixed interval, or weekly_on for specific weekdays. Typical input {"start_date": "2026-01-05", "every_days": 14, "count": 3} returns {"dates": ["2026-01-05", "2026-01-19", "2026-02-02"]}.

Use when a recurrence rule has to become concrete dates. Not for counting working days in a span (business_days) and not for finding a slot across zones (meeting_overlap). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": ""} (for example {"error": "start_date must be YYYY-MM-DD"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNoHow many dates to generate; values outside 1-60 are clamped into that range. Default 10.
weekly_onNoWeekday names to recur on, e.g. ["mon", "thu"]; full names like "monday" also work.
every_daysNoInterval in days between occurrences; use this OR weekly_on, not both.
start_dateYesFirst date of the series, ISO YYYY-MM-DD.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.9/5.0
Behavior5/5

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

The description goes beyond the annotations by detailing error handling behavior: it never raises protocol errors but returns an error object describing what is wrong and how to fix it. It also explicitly confirms the tool is read-only and idempotent, mirroring annotations but adding concrete user-facing details. The annotations already indicate readOnlyHint and idempotentHint, so this adds extra confidence.

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?

The description is extremely concise, using short sentences and a clear example. It front-loads the core purpose and a free keyword, then succinctly covers usage constraints, sibling disambiguation, error handling, and safety guarantees. Every sentence earns its place with no redundancy.

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?

Despite the tool's moderate complexity (4 parameters, output schema present), the description is fully complete. It covers purpose, parameters, error behavior, idempotency, and retry safety. The output schema would describe the return shape, so the description need not repeat that. The sibling list and annotations fill in remaining context, making this a well-rounded definition.

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?

The input schema has 100% description coverage, explaining each parameter clearly. The description adds value by showing a concrete example of using 'every_days' and 'count' together, and implicitly differentiating between 'every_days' and 'weekly_on'. However, it does not add much beyond what the schema already provides, so a small deduction is appropriate.

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 the tool expands a recurrence rule into concrete ISO dates, using specific parameters like 'every_days' or 'weekly_on'. It distinguishes itself from siblings like 'business_days' and 'meeting_overlap' by explicitly stating what it is not for, making its purpose unambiguous.

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 provides explicit guidance on when to use the tool ('Use when a recurrence rule has to become concrete dates'), and when not to ('Not for counting working days... business_days and not for finding a slot... meeting_overlap'), naming specific sibling alternatives. It also gives a typical input example, setting clear expectations.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.