Skip to main content
Glama
icloud-calendar-mcp
by hrsather

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TZNoAlternative IANA timezone environment variable applied to times without an offset (default UTC).UTC
ICLOUD_APPLE_IDNoApple ID email.
MCP_BEARER_TOKENNoToken clients must send as Authorization: Bearer <token>. Required only for SSE transport.
ICLOUD_APP_PASSWORDNoApp-specific password for iCloud Calendar (not your Apple ID password).
ICLOUD_MCP_TIMEZONENoIANA timezone applied to times without an offset (default UTC), e.g. Europe/London.UTC
ICLOUD_APPLE_ID_FILENoPath to a file containing the Apple ID email (container secret variant).
ICLOUD_MCP_READ_ONLYNoSet to true to hide create_event, update_event and delete_event.false
MCP_BEARER_TOKEN_FILENoPath to a file containing the bearer token (container secret variant). Required only for SSE transport.
ICLOUD_APP_PASSWORD_FILENoPath to a file containing the app-specific password (container secret variant).

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_calendarsA

List the calendars that can hold events, with their id and name.

list_eventsA

List events between start and end (ISO 8601 date or datetime; naive times use the server's default timezone). A date-only end is inclusive. Omit calendar (name or id) to search all calendars. Recurring events are expanded into individual occurrences, each with the series UID.

get_eventA

Get one event by UID. For a recurring event this returns the series, including its RRULE.

create_eventA

Create an event in calendar (name or id). A date-only start makes an all-day event. end defaults to one hour (or one day) after start. rrule is an optional iCalendar recurrence rule such as FREQ=WEEKLY;COUNT=4. Naive times use the server's default timezone.

update_eventA

Update fields of an event by UID; omitted fields are unchanged and an empty string clears location or description. Changing only start keeps the event's duration. For a recurring event this changes the whole series.

delete_eventA

Delete an event by UID. For a recurring event this deletes the whole series.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool targets a distinct calendar/event operation: listing calendars, listing events in a range, getting a single event, creating, updating, or deleting. The boundaries between list_events and get_event are clear from their descriptions, and the mutation tools are unambiguous.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: list_calendars, list_events, get_event, create_event, update_event, delete_event. There are no mixed conventions or vague names.

Tool Count5/5

Six tools are well scoped for a calendar server, covering calendar discovery and full event CRUD without unnecessary bloat. Each tool has a clear role and earns its place.

Completeness4/5

The surface covers the core event lifecycle (create, read/list, update, delete) and calendar discovery. Minor gaps exist around calendar management, attendee/reminder handling, and per-occurrence recurring-event edits, but the main workflows are covered.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues