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-1.0.2.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-1.0.2-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: icloud_calendar_mcp-1.0.2.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-1.0.2.tar.gz
Algorithm Hash digest
SHA256 7131efa223ab9c3d83a951970e166e9bc1942c7e486073723c86d6d878350100
MD5 6a16fc78edd5fbfffcfd2179ac88385a
BLAKE2b-256 722a016f683e22a67a9739ce56bf5dc960883ce072b6c70cac627a3cca4ca626

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for icloud_calendar_mcp-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 187ad9bde8f566e3f31b5d73be005f4f29d12e0dd28e9c6854a7cae82c1375f3
MD5 8b81e1e1265887084859c133ad495454
BLAKE2b-256 e1fafcf78e1aa9735e15a489974ddb16429004287b2e06a58a1c328d95c5d8ba

See more details on using hashes here.

Provenance

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