Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

iCloud Calendar (CalDAV)

PYPI · MCP-ICLOUD-CALDAV

iCloud Calendar over CalDAV: list, create, update, move and delete events. Optional read-only mode.

Available components

53 Trust /100

Last scanned (11 hours ago)

Scores higher than 61% of PyPI servers

Category Productivity and Notes

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security49
  • Malware scan not yet available for this package.Unverified
  • Known CVEs were checked across the 56 of 57 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • Runs hatchling.build at install time, a recognised build step with no custom scripting around it. View diagnostics → Pass
  • Dependency health was assessed across the 56 of 57 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability74
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 1296 tokens (~185/item across 7 items; 6 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
  • Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage71
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 0% of tool parameters carry a description.Fail
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass

Unverified: 1 category

A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 17 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 16 Oct 26 +15
    • Malware scan: unverified → pass ▲ security
  • 15 Oct 26 −15
    • Malware scan: pass → unverified ▼ security
  • 14 Oct 26 +44
    • Malware scan: unverified → pass ▲ security
    • Injection markers: unverified → pass ▲ security
    • First check of Judged manipulation: pass security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Tool coverage: unverified → 100 ▲ functional
    • Schema quality: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • First check of Tool coverage: 0 functional
    • First check of Schema quality: fail functional
    • First check of Schema quality: fail functional
    • First check of Destructive annotations: 100 functional
    • First check of Schema quality: good functional
    • First check of Tool coverage: 100 functional
  • 13 Oct 26 +11
    • Known CVEs: unverified → partial ▲ security
    • Dependency health: unverified → partial ▲ functional
  • 12 Oct 26 13

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 17 Oct 2026 · Analysed pypi/mcp-icloud-caldav@0.2.1

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem pypi
Reason No attestation published

Background: How many MCP packages publish verified provenance →

Install scripts 1 script
Hook Tier Command
build_backend allowlisted hatchling.build

Background: Why install scripts are a supply-chain risk →

Dependencies 56 packages
Packages resolved 56
Stale 5
No linked repository 1
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

Background: SBOMs and build attestations, explained →

MCP tools · 6 exposed · ~1,277 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
create_event ~473

Create a new calendar event. Before using this tool, make sure to: 1. Ask the user which calendar they want to use if not specified (check calendars://list) 2. Ask if they want to add a location if none provided 3. Ask if they want to add any notes/description if none provided 4. Confirm the date and time with the user 5. Ask if they want to set reminders for the event Args: title: Event title start_time: Start time in ISO format (YYYY-MM-DDTHH:MM:SS) end_time: End time in ISO format (YYYY-MM-DDTHH:MM:SS) notes: Optional event notes/description. Ask user if they want to add notes. location: Optional event location. Ask user if they want to specify a location. calendar_name: Optional calendar name. Ask user which calendar to use, referencing calendars://list. all_day: Whether this is an all-day event reminder_offsets: List of minutes before the event to trigger reminders e.g. [60, 1440] means two reminders, the first 24 hours before the event and the second one hour before. recurrence_rule: Optional recurrence rule for the event. This should be an instance of `RecurrenceRule` with the following fields: - frequency: Frequency of the recurrence (e.g., DAILY, WEEKLY, MONTHLY, YEARLY). - interval: Interval between recurrences (e.g., every 2 weeks). - end_date: Optional end date for the recurrence. If specified, the recurrence will stop on this date. - occurrence_count: Optional number of occurrences. If specified, the recurrence will stop after this many occurrences. - days_of_week: Optional list of weekdays for the event. Use integers to represent days: - Sunday: 1 - Monday: 2 - Tuesday: 3 - Wednesday: 4 - Thursday: 5 - Friday: 6 - Saturday: 7 Note: Both `end_date` and `occurrence_count` should not be set simultaneously; choose one or the other, or leave both unset.

NameTypeReqDescription
create_event_request–yes–
NameTypeReqDescription
resultstringyes–

No examples provided.

debug_calendar_connection ~58

Debug calendar connection and provide detailed diagnostic information. This tool helps diagnose why events might not be showing up. It will test: 1. CalDAV connection status 2. Calendar accessibility 3. Event search capabilities 4. Recent events count

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

delete_event ~82

Delete a calendar event by its identifier. Before using this tool, make sure to: 1. Confirm with the user that they want to delete the event 2. Verify the event exists by listing events first 3. Note that this action cannot be undone Args: event_id: Unique identifier of the event to delete

NameTypeReqDescription
event_idstringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

list_calendars ~15

List all available calendars.

Input schema present but exposes no named parameters.

NameTypeReqDescription
resultstringyes–

No examples provided.

list_events ~163

List calendar events in a date range. The start_date should always use the time such that it represents the beginning of that day (00:00:00). The end_date should always use the time such that it represents the end of that day (23:59:59). This way, range based searches are always inclusive and can locate all events in that date range. Args: start_date: Start date in ISO8601 format (YYYY-MM-DDT00:00:00). end_date: Optional end date in ISO8601 format (YYYY-MM-DDT23:59:59). calendar_name: Optional calendar name to filter by

NameTypeReqDescription
calendar_name–––
end_datestringyes–
start_datestringyes–
NameTypeReqDescription
resultstringyes–

No examples provided.

update_event ~486

Update an existing calendar event. Before using this tool, make sure to: 1. Ask the user which fields they want to update 2. If moving to a different calendar, verify the calendar exists using calendars://list 3. If updating time, confirm the new time with the user 4. Ask if they want to add/update location if not specified 5. Ask if they want to add/update notes if not specified 6. Ask if they want to set reminders for the event Args: event_id: Unique identifier of the event to update title: Optional new title start_time: Optional new start time in ISO format end_time: Optional new end time in ISO format notes: Optional new notes/description. Ask user if they want to update notes. location: Optional new location. Ask user if they want to specify/update location. calendar_name: Optional new calendar. Ask user which calendar to use, referencing calendars://list. all_day: Optional all-day flag reminder_offsets: List of minutes before the event to trigger reminders e.g. [60, 1440] means two reminders, the first 24 hours before the event and the second one hour before. recurrence_rule: Optional recurrence rule for the event. This should be an instance of `RecurrenceRule` with the following fields: - frequency: Frequency of the recurrence (e.g., DAILY, WEEKLY, MONTHLY, YEARLY). - interval: Interval between recurrences (e.g., every 2 weeks). - end_date: Optional end date for the recurrence. If specified, the recurrence will stop on this date. - occurrence_count: Optional number of occurrences. If specified, the recurrence will stop after this many occurrences. - days_of_week: Optional list of weekdays for the event. Use integers to represent days: - Sunday: 1 - Monday: 2 - Tuesday: 3 - Wednesday: 4 - Thursday: 5 - Friday: 6 - Saturday: 7 Note: Both `end_date` and `occurrence_count` should not be…

NameTypeReqDescription
event_idstringyes–
update_event_request–yes–
NameTypeReqDescription
resultstringyes–

No examples provided.

Install

How do I install the iCloud Calendar (CalDAV) MCP server?

iCloud Calendar (CalDAV) runs locally as a PyPI package, launched with uvx mcp-icloud-caldav. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

pypi · mcp-icloud-caldav

# add to Claude Code
claude mcp add glob0x17-mcp-icloud-caldav -- uvx mcp-icloud-caldav
Common questions

What is the iCloud Calendar (CalDAV) MCP server?

iCloud Calendar (CalDAV) is an MCP server listed in the public MCP registry as io.github.Glob0x17/mcp-icloud-caldav. iCloud Calendar over CalDAV: list, create, update, move and delete events. Optional read-only mode. This page covers its PyPI package (mcp-icloud-caldav).

Is the iCloud Calendar (CalDAV) MCP server safe to use?

iCloud Calendar (CalDAV) scores 53 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the iCloud Calendar (CalDAV) MCP server expose?

iCloud Calendar (CalDAV) exposes 6 tools: list_calendars, list_events, debug_calendar_connection, create_event, update_event, delete_event. Their descriptions and schemas cost roughly 1,277 tokens of context every time the server is loaded.

Is the iCloud Calendar (CalDAV) MCP server still maintained?

iCloud Calendar (CalDAV) is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the iCloud Calendar (CalDAV) MCP server under?

iCloud Calendar (CalDAV) declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.