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 282 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

  • 768 total tests
  • 282 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.1.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.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for icloud_calendar_mcp-3.0.1.tar.gz
Algorithm Hash digest
SHA256 54ea7ac01c69d4849f975fe5d3dbf9b38c3965d24e3129679623d79003b1a9fc
MD5 120751bebb87d0d661a0035175f37568
BLAKE2b-256 46cb9219933c0f54f48c01f0cf85b19b0dfdd7640c01633fa761189eba1b0114

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_calendar_mcp-3.0.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for icloud_calendar_mcp-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6482236148de699e40a75d12f724a26f441ebf47941fead7814421cee500145a
MD5 df55e2883dcfffd274afc78920de69bd
BLAKE2b-256 39dfe86f23a8017aedd10dd1891a125cac8bfb6a16895019725b03affcbfaa97

See more details on using hashes here.

Provenance

The following attestation bundles were made for icloud_calendar_mcp-3.0.1-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