Skip to main content
Glama

create_event

Create iCloud calendar events with start/end times, all-day or repeating schedules, alerts, and conflict warnings.

Instructions

Create an event. start/end are ISO datetimes; end defaults to start + 1 hour. All-day: pass start as 'YYYY-MM-DD'. end is then the last day (inclusive, also 'YYYY-MM-DD') and defaults to the same day, e.g. start='2026-10-20' is a one-day event. Repeat: repeat='daily'|'weekly'|'monthly'|'yearly' (omit for none), every repeat_interval units. It runs forever unless you give repeat_count (total occurrences) or repeat_until ('YYYY-MM-DD', inclusive), not both. For weekly, repeat_days like ['MO','WE'] picks weekdays (default: the start's weekday). alerts: notify N minutes before the start, e.g. [30, 1440] = 30 minutes and 1 day before. For all-day events the start is midnight, so 900 = 9:00 the day before. warn_conflicts: a timed event is still created, but the result lists any events it overlaps under 'conflicts' (None if the check could not run). url: a link for the event. categories: tags like ['work', 'travel']. status: TENTATIVE, CONFIRMED or CANCELLED. priority: 1 (highest) to 9, or 0 for none.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endNo
urlNo
startYes
alertsNo
repeatNo
statusNo
summaryYes
calendarYes
locationNo
priorityNo
categoriesNo
descriptionNo
repeat_daysNo
repeat_countNo
repeat_untilNo
warn_conflictsNo
repeat_intervalNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does surprisingly well: it discloses the end-time default (+1 hour), that repeats run forever unless repeat_count/repeat_until bounds them, that the two bounds are mutually exclusive, and exactly what warn_conflicts does ('a timed event is still created, but the result lists any events it overlaps under conflicts'). It omits permissions/auth requirements and what the call returns on success (e.g. an event id).

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?

Dense but front-loaded: the core create + start/end semantics come first, then repeat, alerts, conflicts, and metadata. Each clause covers a distinct parameter family with no filler, though the single unbroken paragraph makes lookup harder than a short structured list would.

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

Completeness4/5

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

For a 17-parameter mutation tool with no annotations and no output schema, this covers parameter formats, defaults, and side-effects (conflict listing, unbounded recurrence) thoroughly. The remaining gaps — the required calendar identifier, permission requirements, and the success return value — are meaningful but narrow.

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?

Schema description coverage is 0%, so the description must compensate, and it documents the non-obvious parameters in real depth: start/end ISO format, the all-day 'YYYY-MM-DD' convention and its midnight-based alerts rule, repeat/repeat_interval/repeat_days/repeat_count/repeat_until, alerts, status values, priority range, categories, url, and warn_conflicts. The required 'calendar' parameter is never explained (name or id?), and summary/location/description are left to their self-evident names.

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 opening sentence 'Create an event' states a specific verb and resource, which cleanly separates it from update_event, delete_event, and duplicate_event in the sibling list. An agent can identify the operation 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 Guidelines3/5

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

Usage is only implied – the description explains warn_conflicts behavior but never says when to prefer this tool over alternatives like propose_event, check_conflicts, or find_free_time, nor does it state prerequisites. For a straightforward create tool this is defensible, but there is no explicit when-to-use guidance.

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