Zum Inhalt springen
Zur App

Für Entwickler: Tool-Referenz

Der Kalender-Sync-MCP-Server (https://app.kalender-sync.de/mcp, Streamable HTTP) stellt bis zu sieben Tools bereit. Die Tool-Beschreibungen sind Englisch — sie sind primär für das Sprachmodell geschrieben; dein Assistent antwortet dir trotzdem in deiner Sprache.

Zwei Eigenschaften gelten für alle Tools:

  • Sichtbarkeits-Gating: Jedes Tool sieht nur die Kalender, die du freigegeben hast, und je Kalender nur die erlaubte Detailstufe. Nicht freigegebene Kalender existieren für den Server nicht.
  • Dynamische Tool-Liste: Die drei Schreib-Tools erscheinen nur, wenn dein Zugriff schreiben darf (in jedem Tarif, pro Kalender freigegeben). Ein Zugriff ohne Schreibrecht sieht 4 Tools — ein Tool, das immer ablehnen würde, gibt es bei uns nicht. Änderst du die Schreibrechte später, erscheinen die Tools erst, wenn der Client die Tool-Liste neu lädt.

Listet die freigegebenen Kalender mit ihrer jeweiligen Detailstufe. readable: false markiert Kalender, die gerade nicht gelesen werden können (sie fehlen dann auch in allen anderen Antworten — und werden bewusst aufgeführt statt verschwiegen). writable: true markiert die Kalender, in die dieser Zugriff Termine schreiben darf — das ist die Quelle für die calendar_id von create_event. sync_health zeigt zusätzlich den Zustand der Kalender-Sync-eigenen Synchronisation, falls der Kalender an einer teilnimmt.

Parameter: keine.

Liefert die belegten Zeiten in einem Zeitraum, über alle freigegebenen Kalender hinweg. Jeder Kalender wird direkt beim Anbieter gelesen (keine Kopie); Lesevorgänge werden bis zu 60 Sekunden wiederverwendet. Enthalten ist alles, was Zeit blockiert — auch Ganztägiges und „mit Vorbehalt”. Nicht enthalten: abgesagte und ausdrücklich als „frei” markierte Termine. Konnte ein Kalender nicht gelesen werden, steht das in sources und warnings — eine Antwort behauptet nie Vollständigkeit, die sie nicht hat.

ParameterPflichtBeschreibung
from / tojaZeitraum, ISO 8601. Max. 92 Tage Spanne, Rückblick max. 365 Tage.

Findet Termine per Text — case-insensitive Substring über Titel, Ort und Beschreibung. Die Suche ist bewusst ein Filter über dieselben sichtbarkeits-gefilterten Daten wie get_availability, kein zweiter Lesepfad: Kalender auf Stufe „Nur Geblockt” haben keine Titel und können darum nie matchen — das sagt die Antwort als Warnung dazu. „Kein Treffer” ist also nie ein Beweis, dass es den Termin nicht gibt.

ParameterPflichtBeschreibung
queryjaSuchtext (min. 2 Zeichen)
from / toneinZeitraum wie bei get_availability; Standard: −7 bis +85 Tage

Maximal 50 Treffer (chronologisch die frühesten), truncated zeigt an, wenn gekappt wurde.

Schickt Feedback des Nutzers ans Kalender-Sync-Team — etwa wenn etwas gewünscht wurde, das die Tools noch nicht können. Der Assistent ist angewiesen, das Tool nur auf ausdrückliche Bitte zu nutzen. contact_ok (Standard: aus) erlaubt genau eine themenbezogene Rückmeldung von uns — kein Newsletter, kein Verteiler. Details zur Verarbeitung in der Datenschutzerklärung, Ziffer 3.10.

ParameterPflichtBeschreibung
messagejaDas Feedback (10–2000 Zeichen)
categoryjamissing_capability · bug · other
contact_okneinNur wenn der Nutzer einer einmaligen Antwort ausdrücklich zugestimmt hat

Schreib-Tools (alle Tarife, pro Kalender freigegeben)

Abschnitt betitelt „Schreib-Tools (alle Tarife, pro Kalender freigegeben)“

Der zentrale Grundsatz: Der Assistent kann nur Termine anfassen, die er selbst angelegt hat. Deine bestehenden Termine sind für ihn technisch nicht adressierbar — das ist Architektur, keine Regel, die ein Prompt brechen könnte. Mehr dazu unter Schreibzugriff.

Legt einen Termin in einem beschreibbaren Kalender an. Die Verfügbarkeit wird im Moment des Schreibens live geprüft (nicht aus dem Cache): Eine Überschneidung verhindert das Anlegen nicht, kommt aber als Warnung zurück — ob doppelt gebucht werden soll, entscheidet der Nutzer. start/end verlangen ISO 8601 mit Zeitzone; calendar_id ist nur bei mehreren beschreibbaren Kalendern nötig — welche das sind, zeigt list_calendars über writable: true. Fehlt die Angabe bei mehreren, nennt die Fehlermeldung die zulässigen Kalender.

Ändern bzw. löschen einen Termin den dieser Zugriff selbst angelegt hat (per event_id aus create_event). Fremde Termine sind nicht adressierbar — der Server antwortet dann not_found, nicht forbidden, um nicht einmal die Existenz zu bestätigen. Löschungen werden beim Anbieter ausgeführt und propagieren über den normalen Sync in gespiegelte Kalender. Beide Tools tragen die MCP-Annotation destructiveHint: true.

Jeder Tool-Aufruf landet als Metadaten im Zugriffsprotokoll — Zeitpunkt, Tool, betroffene Kalender, Ergebnis. Nie der Inhalt deiner Termine, nie der Suchtext, nie der Feedback-Wortlaut.


Stand: Server-Version 1.2.0 (31.07.2026). Der Server ist im offiziellen MCP Registry als de.kalender-sync/kalender-sync gelistet. Er stellt die Tool-Liste bei jeder Verbindung neu zusammen, Clients cachen sie aber — nach einer Rechte-Änderung musst du sie im Client neu laden.