Skip to content
FullCalendar WebMCP
Esc
↑↓navigate↵open⌘Jpreview
On this page

Agent Tool Workflows

How agents compose FullCalendar WebMCP calendar tools.

Runtime tool descriptions and input schemas are the canonical contract. This page summarizes workflows.

For security and capabilities, see Security. For inputs and returns, see WebMCP tools.

Tools

Tool Use for
calendar_get_context Resolve relative dates and timezone context
calendar_list_events Search and discover events
calendar_get_event Fetch one event by id
calendar_create_event Create an event
calendar_update_event Modify an event
calendar_delete_event Delete an event

Tools return structured calendar state. The consuming agent converts results into user-facing language.

Relative dates

When the user says tomorrow, Wednesday, next week, and similar:

  1. calendar_get_context → read now, timezones, visible range
  2. Convert to ISO 8601 with offsets
  3. Call list/create/update as needed

Skip step 1 when every datetime is already explicit with an offset.

Stable ids

Mutations and calendar_get_event require a stable id from calendar_list_events, prior tool results, or the host — not from a title.

Workflows

“What’s on my calendar tomorrow?”

calendar_get_context → calendar_list_events

“Schedule lunch tomorrow at noon”

calendar_get_context → calendar_create_event

“Move my dentist appointment to 4”

calendar_get_context → calendar_list_events → calendar_update_event

“Delete event evt_123”

calendar_delete_event

When the user refers to an event by description, list first and disambiguate before update or delete.

Query boundaries

For calendar_list_events: start is inclusive, end is exclusive. For a single day, set end to the start of the following day. text is a case-insensitive title substring.

On events, end is the exclusive event end.

Tool results

Tool Returns
calendar_create_event { event } — persisted record from your repository
calendar_update_event { event } — post-update state
calendar_delete_event { deleted: true, event } — snapshot read before removal
calendar_get_event { event: CalendarEvent | null }
calendar_list_events { events: CalendarEvent[] } — empty array when none match

Repository failures surface as tool errors. onEventsChanged runs only after successful mutations.

Hosts may disable tools via capabilities — see Security.

Was this page helpful?