Skip to main content
Glama

calendar_events_add

Schedule a one-off time window for downtime, maintenance, delivery, or shift on an entity using timezone-aware ISO 8601 start/end timestamps.

Instructions

SIDE-EFFECTFUL. Add a one-off time window (downtime, maintenance, a delivery, a shift, an inspection, etc.) to an entity. NOT idempotent: calling this twice creates two events. starts_at/ends_at must be ISO 8601 with an explicit timezone (Z or ±HH:MM), naive timestamps are rejected because their meaning would be ambiguous once stored as UTC. Returns {event}. Follow up with calendar_events_conflicts to check for overlaps.

Input Schema

NameRequiredDescriptionDefault
typeYesFreeform event type, e.g. 'downtime', 'maintenance', 'delivery', 'shift'.
notesNoOptional free-text notes about the event.
titleYesShort title for the event.
entityYesEntity the event applies to, name (case-insensitive) or numeric id.
sourceNoFreeform provenance, e.g. 'email from ops team'.
ends_atYesISO 8601 timestamp with explicit timezone; must be after starts_at.
starts_atYesISO 8601 timestamp with explicit timezone, e.g. '2026-08-03T02:00:00+05:30'.
original_timezoneNoIANA timezone the window was originally communicated in, for display.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv6.1.2

TDQS

A4.4/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 load and does so well: it flags the write as side-effectful, warns it is NOT idempotent (duplicate calls create duplicate events), and explains that naive timestamps are rejected and why. It omits permission/auth requirements and whether the target entity must already exist.

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?

Four tight sentences, each carrying distinct information; the side-effect and non-idempotency warnings are front-loaded before the parameter constraints and the follow-up pointer. No filler.

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 5-required-parameter mutation tool with no annotations and no output schema, it covers the critical risks (duplication, timezone format, return field) and names the natural next call. It could still say more about failure modes, entity resolution, or permissions.

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 coverage is already 100%, so the baseline is 3, but the description adds real meaning: the timezone requirement is stated as a hard rejection rule with rationale (ambiguity once stored as UTC), and it documents the returns shape. It adds no clarification for entity, type, notes, source, or original_timezone beyond the schema.

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?

States a specific verb and resource ('Add a one-off time window ... to an entity') and enumerates concrete examples (downtime, maintenance, delivery, shift). An agent can distinguish it from calendar_events_update/delete/list and from calendar_entities_* without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

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

Explicitly routes the agent to the sibling calendar_events_conflicts for overlap checking, and the 'one-off' qualifier implies when this tool is appropriate. It stops short of stating exclusions, e.g. that recurring schedules should not go through this tool.

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