Skip to main content
Glama

create_calendar_event

Create a Google Calendar event — standalone, or FROM a task by passing task_id (title/notes are used as defaults and the task↔event link is recorded; a task can be exported only once). Timed events: start/end as ISO datetimes (tz applies, default Asia/Tokyo); all-day: start=YYYY-MM-DD with all_day=true. The user may have several calendar-capable Google accounts connected (see list_accounts) — pass account to choose which one gets the new event. This actually creates the event in the user's calendar — confirm the date, time and title with the user before calling.

Input Schema

NameRequiredDescriptionDefault
tzNoIANA timezone for timed events without an offset. Defaults to Asia/Tokyo.
endNoTimed: ISO datetime (default start + 1h). All-day: EXCLUSIVE end date (default the day after start).
startYesTimed: ISO datetime (e.g. 2026-07-20T14:00:00, interpreted in tz). All-day: YYYY-MM-DD.
accountNoAccount label to create in (see list_accounts). Required when several calendar-capable accounts exist.
all_dayNoCreate an all-day event (implied when start is YYYY-MM-DD).
summaryNoEvent title. Optional when task_id is given (defaults to the task title).
task_idNoCreate the event FROM this task: title/notes are used as defaults and the link is recorded (one event per task).
locationNoOptional location (address, room name, video-call link, ...).
attendeesNo招待する同席者のメールアドレス一覧。指定する場合は notify_attendees も必須。呼び出す前に、通知メールを送るかどうか(all/externalOnly/none)を必ずユーザーに確認すること。
recurrenceNo繰り返しルール(RRULE/EXRULE/RDATE/EXDATE行、例 ["RRULE:FREQ=WEEKLY;BYDAY=MO"])。指定すると繰り返し予定になる。
calendar_idNoCalendar id (default 'primary').
descriptionNoEvent body. Defaults to the task's notes when task_id is given.
availabilityNo予定あり/空き時間。busy=時間をブロックする(既定)、free=他の予定をブロックしない「空き時間」として登録する(記念日・リマインド・ブロックしたくない終日予定など)。
notify_attendeesNoattendees を指定する場合は必須。all=全員に招待メールを送る、externalOnly=組織外の相手にだけ送る、none=メールを送らず静かに追加する。

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only carry destructiveHint=false, so the description does the heavy lifting: it discloses the real side effect ("actually creates the event"), a non-reversible constraint (a task can be exported only once), account ambiguity requiring an explicit account param, and a confirmation requirement. These are meaningful behavioral traits well beyond the annotations.

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?

Front-loaded with the core action, then scope, formats, account routing, and the confirmation warning. Dense but every sentence earns its place; only the format restatements overlap with the schema.

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 14-parameter mutation tool with no output schema, the description covers creation modes, formats, account selection, and side-effect/confirmation behavior adequately. No mention of the response shape, but that is not critical for a create operation.

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 schema already documents all 14 parameters thoroughly. The description largely restates schema content (tz default Asia/Tokyo, ISO datetimes, YYYY-MM-DD all-day), adding only marginal interaction detail about task_id defaults. Baseline 3 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?

States a specific verb+resource ("Create a Google Calendar event") and distinguishes itself from siblings by covering both standalone creation and creation FROM a task via task_id. An agent can tell it apart from update_event, delete_event, and list_calendar_events immediately.

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?

Gives clear context for when the tool applies (standalone vs task export, timed vs all-day) and routes the agent to list_accounts for choosing an account. It also explicitly requires user confirmation before the call. It stops short of stating when NOT to use it or directly naming update_event as the alternative for modifying existing events.

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