Skip to main content
Glama

Apple Calendar MCP

Eine Claude-Desktop-Erweiterung, die Claude vollen Zugriff auf Apple Calendar unter macOS über das erstklassige EventKit-Framework von Apple gewährt. Ereignisse lesen, suchen, erstellen und löschen – einschließlich Serienterminen (bearbeitet pro Vorkommen oder für alle zukünftigen Vorkommen), Alarmen, strukturierten Orten, Teilnehmer-Rückmeldungen und Verfügbarkeit (frei/belegt).

Verpackt als MCPB-Desktop-Erweiterung mit dem Calendar.app-Symbol und Ein-Klick-Installation.

Begleitend zu den Apple Mail-, Apple Reminders-, Apple Notes- und Apple Messages-Konnektoren.


Was es tut

Tool

Beschreibung

list_calendars

Jeder Kalender mit ID, Titel, Farbe, Quelle/Konto, Schreibzugriffs-Flag und welcher der Standard ist

create_calendar

Einen neuen Kalender erstellen (optional mit Farbe und Quelle)

update_calendar

Einen vorhandenen Kalender umbenennen oder einfärben

delete_calendar

Einen Kalender und alle seine Ereignisse löschen (zerstörerisch)

get_stats

Kalenderanzahl, Ereignisse heute, Ereignisse in den nächsten 7 Tagen, nächstes anstehendes Ereignis

list_events

Ereignisvorkommen in einem Datumsbereich mit Filtern: Kalender, Text, ganztägig, abgesagt

search_events

Volltextsuche über Titel, Notizen und Ort, innerhalb eines optionalen Datumsbereichs

get_event

Vollständige Details – Notizen, URL, Organisator, Teilnehmer + deren Antworten, Serienregel, Alarme, Ort, Zeitzone

get_event_link

ical://-URL zum Öffnen des Ereignisses in Calendar.app

get_availability

Zusammengeführte belegte Intervalle (frei/belegt) über einen Bereich – die Lücken sind Ihre freien Slots

create_event

Erstellen mit vollständigem Eigenschaftssatz: Serienregel, Alarme, strukturierter Ort, Verfügbarkeit, Zeitzone

update_event

Beliebiges Teilmengen von Eigenschaften aktualisieren; occurrence_date + span steuern den Serienumfang; clear_*-Flags entfernen Felder

delete_event

Ein Ereignis oder Vorkommen einer Serie löschen (span-bewusst)

Related MCP server: Apple EventKit MCP Server

So funktioniert es

Die Kommunikation mit Calendar erfolgt über EventKit (EKEventStore, EKEvent, EKCalendar, EKRecurrenceRule, EKAlarm, EKStructuredLocation) via PyObjC – dasselbe erstklassige Framework, das auch Calendar.app selbst verwendet, und liest denselben lokalen Speicher (einschließlich iCloud-, Google- und Exchange-synchronisierter Kalender).

Dies ist derselbe Ansatz wie beim begleitenden Apple-Reminders-Konnektor und unterscheidet sich vom AppleScript/JXA-Weg: EventKit legt das vollständige Datenmodell offen (Serienrückmeldung, Bearbeitung pro Vorkommen, Teilnehmerantworten, strukturierte Orte) und ist deutlich schneller. Anders als bei Reminders sind Ereignisabfragen in EventKit synchron, sodass keine asynchrone Brücke benötigt wird; die eine Besonderheit ist, dass das Ereignis-Prädikat pro Abfrage höchstens ~4 Jahre abdeckt, daher werden größere Bereiche transparent in Blöcke aufgeteilt.

Serientermine

Vorkommen eines Serientermins teilen sich eine stabile event_id; jedes von list_events zurückgegebene Vorkommen trägt auch ein occurrence_date. Schreibwerkzeuge akzeptieren beides:

  • occurrence_date wählt welches Vorkommen Sie ansprechen

  • span wählt den Umfang: this_event (nur dieses Vorkommen, es wird abgetrennt) oder future_events (dieses Vorkommen und alles danach)


Voraussetzungen

  • macOS 14 Sonoma oder neuer (requestFullAccessToEvents wurde in 14 hinzugefügt)

  • Python 3.11+

  • Claude Desktop mit Erweiterungsunterstützung

  • Kalenderberechtigung – Vollzugriff – für Claude Desktop (siehe unten)


Installation

Option 1: Desktop-Erweiterung (empfohlen)

Laden Sie die neueste .mcpb von Releases herunter und doppelklicken Sie dann zur Installation.

Oder aus dem Quellcode erstellen:

git clone https://github.com/falconbradley/claude-connector-apple-calendar.git
cd claude-connector-apple-calendar
./build.sh

Doppelklicken Sie dann auf dist/apple-calendar.mcpb (oder ziehen Sie es in Claude Desktop).

Die Erweiterung erscheint unter Einstellungen > Erweiterungen mit dem Kalender-Symbol.

Option 2: Manuelle MCP-Konfiguration

Bearbeiten Sie ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "apple-calendar": {
      "command": "uv",
      "args": ["run", "--project", "/path/to/claude-connector-apple-calendar", "apple-calendar-mcp"]
    }
  }
}

Berechtigungen

Beim ersten Aufruf eines Kalender-Tools durch Claude fordert macOS Sie auf, den Kalender-Zugriff zu gewähren. Wählen Sie Vollzugriff – die macOS-14+-Berechtigung „Nur hinzufügen" kann Ereignisse nicht zurücklesen, sodass jedes Lesewerkzeug (und das Zurücklesen nach jedem Schreibvorgang) fehlschlagen würde.

Wenn die Aufforderung nicht erscheint (was bei unsignierten Interpreten passieren kann, die als untergeordnete Prozesse gestartet werden):

  1. Öffnen Sie Systemeinstellungen → Datenschutz & Sicherheit → Kalender

  2. Fügen Sie Claude Desktop (oder den Prozess, der uv ausführt) hinzu und aktivieren Sie Vollzugriff

  3. Beenden und starten Sie Claude Desktop neu

Um den Zugriffsstatus zu überprüfen, führen Sie Folgendes aus:

sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db \
  "SELECT client, auth_value FROM access WHERE service='kTCCServiceCalendar'"

(auth_value von 2 = Vollzugriff, 0 = verweigert.)


Verwendungsbeispiele

Nach der Installation können Sie Claude einfach natürlich fragen:

  • „Was steht heute in meinem Kalender?"

  • „Wann bin ich morgen Nachmittag eine Stunde lang frei?"

  • „Plane am Freitag um 12 Uhr ein Mittagessen mit Sam im Zuni Café."

  • „Verschiebe meinen Termin um 15 Uhr auf 16:30 und mache ihn 45 Minuten lang."

  • „Richte ein wöchentliches Team-Sync jeden Dienstag um 10 Uhr für die nächsten 8 Wochen ein."

  • „Sage nur das Stand-up nächsten Montag ab, behalte den Rest der Serie."

  • „Füge meinem Zahnarzttermin eine Erinnerung 10 Minuten vorher hinzu."

  • „Wer hat nicht auf die Offsite-Einladung geantwortet?"

  • „Erstelle einen Kalender ‚Reisen' und lege meinen Flugplan hinein."


Aus dem Quellcode erstellen

# Install mcpb CLI (one time)
npm install -g @anthropic-ai/mcpb

# Install uv (one time, if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Build the extension
./build.sh

# Or manually:
mcpb validate manifest.json
mcpb pack . dist/apple-calendar.mcpb

Projektstruktur

claude-connector-apple-calendar/
├── manifest.json                    # MCPB desktop extension manifest
├── icon.png                         # Calendar.app icon (512x512)
├── icons/                           # Multi-size icons
│   ├── icon-128.png
│   ├── icon-256.png
│   └── icon-512.png
├── pyproject.toml                   # Python package + dependencies
├── build.sh                         # Validate + pack build script (gates on version drift)
├── tools/                           # Dev-only icon extraction (not packed)
├── tests/
│   └── test_e2e.py                  # End-to-end tests
└── src/
    └── apple_calendar_mcp/
        ├── __init__.py
        ├── server.py                # MCP tools (MCPServer)
        ├── calendars.py             # EventKit-backed CalendarStore
        ├── permissions.py           # TCC grant helpers
        └── models.py                # Pydantic data models

Tests

# Static tests (model shapes, validation, helpers — no permission needed)
uv run python tests/test_e2e.py --skip-live

# Full suite (requires Calendar permission)
uv run python tests/test_e2e.py

Live-Tests arbeiten mit einem dedizierten __claude_mcp_test__-Kalender, der beim Setup erstellt und am Ende wieder entfernt wird.


Sicherheit & Datenschutz

  • Alle Daten bleiben auf Ihrem Mac – dies ist ein lokaler MCP-Server. EventKit liest aus demselben Speicher, den auch Calendar.app verwendet, einschließlich iCloud/Google/Exchange-synchronisierter Kalender.

  • Operationen werden durch macOS TCC gesteuert: Es passiert nichts, bis Sie den Kalenderzugriff gewähren.

  • Nur für macOS ("platforms": ["darwin"] im Manifest).

  • Der Konnektor greift nie über die Kalender-Entität hinaus – keine Erinnerungen, Kontakte oder Dateien.

  • Zerstörerische Operationen (delete_calendar, delete_event) sind explizite Werkzeuge, die das Modell aufrufen muss; sie laufen nicht als Nebeneffekte von Lesevorgängen.

  • Das Erstellen oder Ändern von Ereignissen sendet niemals Einladungen per E-Mail – die öffentliche API von EventKit kann keine Teilnehmer hinzufügen, sodass nichts Ihren Computer verlässt.


Fehlerbehebung

„Apple-Kalenderzugriff wurde nicht gewährt" Öffnen Sie Systemeinstellungen → Datenschutz & Sicherheit → Kalender, stellen Sie sicher, dass Claude Desktop mit Vollzugriff (nicht „Nur hinzufügen") aufgeführt ist, und starten Sie Claude Desktop neu.

Berechtigungsaufforderung erscheint nicht Unsignierte Python-Interpreter, die von Claude Desktop gestartet werden, lösen die Aufforderung manchmal nicht automatisch aus. Fügen Sie Claude Desktop manuell unter Systemeinstellungen → Datenschutz & Sicherheit → Kalender hinzu.

Ereignisse, die mehr als ~4 Jahre in der Zukunft liegen, erscheinen nicht Das Ereignis-Prädikat von EventKit deckt pro Abfrage höchstens 4 Jahre ab. Der Konnektor teilt größere Bereiche automatisch in Blöcke auf, aber extrem große Bereiche werden langsam – bevorzugen Sie engere Fenster.

Eine Bearbeitung eines Serientermins hat die gesamte Serie geändert Übergeben Sie occurrence_date (aus list_events), um ein einzelnes Vorkommen anzusprechen, und behalten Sie span='this_event' bei. span='future_events' überschreibt absichtlich dieses Vorkommen und alles danach.

Kann Claude Personen zu einem Meeting einladen? Nein – die öffentliche API von EventKit legt Teilnehmer nur lesbar offen. Claude kann lesen, wer eingeladen ist und wie sie geantwortet haben, aber Sie fügen Einladungen in Calendar.app hinzu.

Erweiterung erscheint nach der Installation nicht Stellen Sie sicher, dass Sie eine aktuelle Claude-Desktop-Version verwenden, die MCPB-Erweiterungen unterstützt. Starten Sie Claude Desktop nach der Installation neu.


Roadmap

v1 – veröffentlicht

  • Kalender auflisten, erstellen, umbenennen, löschen

  • Ereignisse auflisten, suchen, abrufen mit Filtern und Paginierung

  • Ereignisse erstellen, aktualisieren, löschen (span-bewusst für Serien)

  • Serienregeln (täglich/wöchentlich/monatlich/jährlich mit Intervallen, nach Wochentag, nach Monat, Positionsangaben, Endbedingungen)

  • Alarme (relativ, absolut)

  • Strukturierte (geokodierte) Orte

  • Teilnehmer- und Organisator-Rückmeldung mit Antwortstatus

  • Verfügbarkeit (frei/belegt) mit Intervall-Zusammenführung

  • ical://-Deep-Links

v2 – in Prüfung

  • RSVP / auf Einladung antworten (durch öffentliche EventKit-API blockiert)

  • Reisezeit- und Konferenz-URL-Rückmeldung, wo EventKit sie bereitstellt

  • Massenoperationen (mehrere Ereignisse verschieben/löschen)

  • Natürlicher „finde einen Slot für N Personen"-Helfer auf Basis von get_availability


Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides Claude with full access to Apple Calendar on macOS for event management, smart scheduling, and schedule analytics. It enables natural language event creation, conflict detection, and template-based scheduling through AppleScript integration.
    23
    1
    MIT
  • F
    license
    Not graded
    quality
    F
    maintenance
    Provides Claude Desktop with access to Apple Calendar and Reminders on macOS for managing schedules and tasks through natural language. It supports comprehensive operations like creating, editing, and searching events and reminders, along with a custom hashtag-based tagging system.
    3
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Claude and other MCP clients to directly interact with macOS Calendar.app using AppleScript for local calendar management. Provides tools for listing, searching, creating, updating, and deleting calendar events without cloud APIs or CalDAV setup.
    23
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Calendar API for AI agents: events, availability, Google/Microsoft setup, scheduling, and iCal.

  • Connects ChatGPT to your Apple Calendar via a local Mac agent + Vercel relay

  • Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/falconbradley/claude-connector-apple-calendar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server