Skip to main content
Glama

Generate calendar event file and links

generate_calendar_event
Read-onlyIdempotent

Use this when the user wants a calendar invite, an .ics file, or an add-to-calendar link (Google Calendar, Outlook, Office 365, Yahoo) for one event or one repeating event: a webinar, class, meeting, party, deadline, or launch. Takes the title, local start/end and the event's time zone (city or IANA zone), or dates only for all-day events, plus optional location, description, link, organizer name, reminders, and a repeat rule (daily, weekly on chosen weekdays, monthly by date, nth weekday such as the last Friday, or the first/last weekday of the month, yearly; with count, until date, and skipped dates). Returns a downloadable RFC 5545 .ics file with time zone data, four add-to-calendar links, and the first 5 dates in the event's zone and optional attendee zones, with daylight saving changes flagged. Does not send invitations, read or change anyone's calendar, or track RSVPs. Do not use for a list of different sessions (use generate_event_series) or for finding a meeting time across zones.

Input Schema

NameRequiredDescriptionDefault
endNoLocal end YYYY-MM-DDTHH:MM, or just a time HH:MM on the start day, e.g. 21:00. For all-day events, the last day YYYY-MM-DD (inclusive). Default: 1 hour, or 1 day for all-day.
urlNoOptional event page or video-call link, e.g. https://example.com/webinar.
startYesLocal start YYYY-MM-DDTHH:MM in the event's time zone, e.g. 2026-11-05T18:30, or a date YYYY-MM-DD for an all-day event. No UTC offset.
titleYesEvent title, e.g. Product launch webinar.
all_dayNotrue for an all-day event (dates only), e.g. a conference day or a deadline. Automatic when start has no time.
locationNoVenue, address, or meeting room shown in the calendar, e.g. Pier 39, San Francisco.
time_zoneNoTime zone of the start/end: IANA zone (Europe/Warsaw), city (Chicago, Sydney), or UTC. Required for timed events; not used for all-day events.
recurrenceNoOptional repeat rule, e.g. {"frequency":"weekly","weekdays":["TU","TH"],"count":10}.
descriptionNoEvent details or agenda (plain text; line breaks allowed), e.g. Bring a laptop.
organizer_nameNoOptional organizer name shown in the details, e.g. Acme Events. No email needed.
duration_minutesNoLength in minutes instead of end, e.g. 90.
viewer_time_zonesNoOptional places or zones of attendees to show local times for, e.g. ["New York", "Tokyo"].
reminders_minutes_beforeNoUp to 3 reminders in minutes before the start, e.g. [15, 1440] for 15 minutes and 1 day before.

Output Schema

NameRequiredDescriptionDefault
endYes
urlYes
whenYes
linksYes
notesYes
startYes
titleYes
all_dayYes
durationYes
locationYes
downloadsYes
organizerYes
remindersYes
time_zoneYes
recurrenceYes
zone_labelYes
descriptionYes
occurrencesYes
viewer_zonesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations, the description discloses concrete outputs: a downloadable RFC 5545 .ics file with time zone data, four add-to-calendar links, the first 5 dates in the event zone and optional attendee zones, and daylight saving changes flagged. It also clarifies what the tool does not do (send invitations, read or change calendars, track RSVPs), which is valuable behavioral context even though readOnlyHint and destructiveHint already cover safety.

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 dense but front-loaded: it opens with the primary use case, then summarizes inputs, outputs, and exclusions. Given the complexity of 13 parameters including recurrence and time zones, every sentence contributes useful selection or invocation guidance.

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?

The description is complete for a complex generation tool: annotations establish read-only, idempotent, non-destructive behavior; the schema fully documents parameters; an output schema exists; and the description covers use cases, inputs, outputs, limitations, and sibling alternatives.

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 the input schema already documents all parameters thoroughly. The description summarizes key inputs such as title, local start/end, time zone, all-day dates, location, description, link, organizer, reminders, and recurrence details, but it does not add syntax or constraints beyond what the schema provides. Baseline 3 is appropriate when the schema carries the detailed parameter semantics.

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 resource: generating a calendar invite, .ics file, or add-to-calendar links for one event or one repeating event. It names concrete event types and explicitly distinguishes this tool from the sibling generate_event_series, so an agent can identify its purpose without opening 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?

It gives explicit when-to-use guidance: when the user wants a calendar invite, .ics file, or add-to-calendar link for one event or one repeating event. It also gives exclusions: does not send invitations, read/change calendars, or track RSVPs; do not use for a list of different sessions (use generate_event_series) or for finding a meeting time across zones.

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