Skip to main content

MCP server for iCloud Calendar access via CalDAV

Project description

iCloud Calendar MCP Server

PyPI License Tests Security

A security-first MCP (Model Context Protocol) server for iCloud Calendar access via CalDAV.

Installation

# Using uvx (recommended)
uvx icloud-calendar-mcp

# Using pip
pip install icloud-calendar-mcp
icloud-calendar-mcp

Requirements

  • Java 17+ must be installed
  • iCloud credentials (Apple ID + App-Specific Password)

Setup

1. Get an App-Specific Password

  1. Go to appleid.apple.com
  2. Sign in and go to Security > App-Specific Passwords
  3. Generate a new password for "iCloud Calendar MCP"

2. Set Environment Variables

export ICLOUD_USERNAME="your-apple-id@icloud.com"
export ICLOUD_PASSWORD="your-app-specific-password"

3. Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "icloud-calendar": {
      "command": "uvx",
      "args": ["icloud-calendar-mcp"],
      "env": {
        "ICLOUD_USERNAME": "your-apple-id@icloud.com",
        "ICLOUD_PASSWORD": "your-app-specific-password"
      }
    }
  }
}

Available Tools

Tool Description
list_calendars List all available calendars
get_events Get events from a calendar
create_event Create a new calendar event
update_event Update an existing event
delete_event Delete an event

Security

This server is designed with security as a primary concern:

  • App-Specific Passwords - Never use your main Apple ID password
  • Environment Variables Only - Credentials loaded from environment only
  • Input Validation - All inputs validated with SSRF protection
  • Rate Limiting - 60 reads/min, 20 writes/min
  • Error Sanitization - No credentials leaked in error messages
  • OWASP MCP Top 10 - Full compliance with 239 security tests
  • ReDoS Protection - All regex patterns tested against DoS
  • Unicode Security - Protection against encoding attacks
  • No Third-Party Data - Data only transmitted to iCloud CalDAV

Test Coverage

  • 555 total tests
  • 239 security tests covering OWASP MCP Top 10
  • ReDoS, Unicode, SSRF, injection protection

Links

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icloud_calendar_mcp-3.0.0.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icloud_calendar_mcp-3.0.0-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file icloud_calendar_mcp-3.0.0.tar.gz.

File metadata

  • Download URL: icloud_calendar_mcp-3.0.0.tar.gz
  • Upload date:
  • Size: 7.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for icloud_calendar_mcp-3.0.0.tar.gz
Algorithm Hash digest
SHA256 9bbb93548c33dee335a99ad2ae4bba16cd24344757071e393e797c620945c95d
MD5 1dfbbe28a368a398f2783fd4e03abbe5
BLAKE2b-256 a26a66904591b85ec3ce053b4b3aa61e8d8d5b1d4186ebb5091e3434a7ad4592

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_calendar_mcp-3.0.0.tar.gz:

Publisher: release.yml on icloud-calendar-mcp/icloud-calendar-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file icloud_calendar_mcp-3.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for icloud_calendar_mcp-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3606e833b5138514cbba561922cf4c07b7c5690aca840fdf9e2d96ddc6f85172
MD5 c1b188bbb2edc613d140de67a3d060f0
BLAKE2b-256 f317bca3a3b29f791272c0fcd14cff66b86fcc4a6db66b6cc0666e17e2855645

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_calendar_mcp-3.0.0-py3-none-any.whl:

Publisher: release.yml on icloud-calendar-mcp/icloud-calendar-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page