Skip to main content
Glama

Generate calendar file for a schedule

generate_event_series
Read-onlyIdempotent

Use this when the user wants one calendar file (.ics) that adds several different events at once: a course or class schedule, a training program, a conference agenda, match fixtures, or a list of webinars on irregular dates. Takes 1-40 sessions (each with its own start, end or duration, optional title, location and note) plus a shared time zone, location, details, link, organizer name and reminders. Returns one .ics file with one event per session and a dated list of the sessions. Does not make add-to-calendar web links per session, send invitations, or change anyone's calendar. Do not use for an event that repeats on a regular pattern (use generate_calendar_event with recurrence).

Input Schema

NameRequiredDescriptionDefault
urlNoOptional shared link, e.g. a course page or video-call link: https://example.com/course.
eventsYes1-40 distinct sessions with their own dates, e.g. [{"title":"Week 1","start":"2027-01-12T18:00","end":"19:30"}].
locationNoDefault location for every session, e.g. Community Center, Room 2.
time_zoneNoTime zone for all sessions: IANA zone or city, e.g. America/Chicago. Required when sessions have times.
descriptionNoShared details added to every session, e.g. Bring your workbook.
calendar_nameNoName for the schedule, e.g. Spanish A1 evening course. Shown as the calendar name and default title.
organizer_nameNoOptional organizer or teacher name, e.g. Ms. Rivera.
reminders_minutes_beforeNoUp to 3 reminders for every session, minutes before, e.g. [60].

Output Schema

NameRequiredDescriptionDefault
notesYes
eventsYes
locationYes
downloadsYes
last_dateYes
remindersYes
time_zoneYes
first_dateYes
zone_labelYes
event_countYes
calendar_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered; the description still adds genuinely new behavioral context by naming the non-capabilities (no per-session add-to-calendar links, no invitations sent, no changes to anyone's calendar) and by describing the dual output (one .ics plus a dated list). It stops short of discussing size/time-zone validation failures or the rejected-input path, keeping it at 4 rather than 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?

The trigger condition is correctly front-loaded, and the when-not sentence is placed last as a routing chaser. A few facts are duplicated from the schema (the 1-40 session cap, the session field list), which costs a little, but nothing is padding.

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?

For an 8-parameter generator with full schema description coverage, annotations and an output schema, the description supplies exactly what structured fields cannot: user-intent routing, sibling disambiguation, and explicit non-capabilities. Nothing an agent needs in order to choose or call this tool is missing.

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 every parameter is already documented in detail, including the start/end/duration_minutes relationship and the all_day flag. The description only restates the parameter grouping (per-session fields plus shared time zone, location, details, link, organizer and reminders) and the 1-40 cardinality, adding no semantics the schema lacks. Baseline 3 is correct.

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 states a specific verb and artifact: produce one .ics file containing several distinct events at once, with a concrete enumeration of scenario types (course schedule, training program, conference agenda, fixtures, webinars). The second paragraph clarifies the two-part resource (sessions + shared defaults) and the two-part output, so the tool is distinguishable from a single-event generator without reading the schema.

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?

Opens with an explicit triggering condition ('Use this when the user wants one calendar file (.ics) that adds several different events at once') and closes with an explicit exclusion plus the named replacement: 'Do not use for an event that repeats on a regular pattern (use generate_calendar_event with recurrence).' Both the when and the when-not are stated rather than inferred.

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.

Resources