Install
"command": "npx",
"args": [
"caldav-mcp"
],À qui ça s'adresse
- À celles et ceux qui ont déjà un compte sur un serveur CalDAV (auto-hébergé ou fourni par un prestataire) et veulent qu'un assistant IA consulte et gère directement leurs calendriers. Le positionnement officiel : exposer les opérations de calendrier sous forme d'outils pour assistants IA.
- Les opérations couvertes : connexion à un serveur CalDAV, liste des calendriers, liste des événements d'un calendrier sur une période, création d'événements, mise à jour d'événements, suppression d'événements par UID.
- Les prérequis sont clairs : l'URL du serveur CalDAV, le nom d'utilisateur et le mot de passe doivent être fournis via les trois variables d'environnement
CALDAV_BASE_URL,CALDAV_USERNAMEetCALDAV_PASSWORD; les trois sont indispensables. - Pas fait pour : les personnes sans serveur CalDAV, ou qui refusent de confier leurs identifiants à un processus local. La documentation officielle ne précise ni quelles implémentations de serveurs CalDAV sont compatibles, ni l'existence d'un mode lecture seule ; ces deux points restent non confirmés.
Une première tentative en 3 minutes
Voie principale recommandée : le lancement via npx dans la configuration mcpServers du client MCP ; npx récupère et exécute automatiquement le paquet caldav-mcp. Ajoutez cet extrait à la configuration :
"command": "npx",
"args": [
"caldav-mcp"
],
puis fournissez les identifiants dans la même configuration via des variables d'environnement :
"CALDAV_BASE_URL": "<CalDAV server URL>",
"CALDAV_USERNAME": "<CalDAV username>",
"CALDAV_PASSWORD": "<CalDAV password>"
Après avoir enregistré et redémarré le client, commencez par un appel en lecture : demandez à l'assistant IA de « lister mes calendriers », ce qui correspond à List calendars dans la liste officielle des capacités. Le signal de succès : l'assistant renvoie la liste des calendriers du compte. Cette étape lit seulement la structure des calendriers, sans créer ni modifier d'événements, mais elle se connecte au serveur CalDAV avec vos identifiants.
Rappel indispensable : la création, la mise à jour et la suppression sont des écritures distantes qui modifient directement le calendrier en ligne. Avant toute écriture, faites reformuler par l'assistant l'opération prévue, l'événement cible et les champs concernés, puis n'exécutez qu'après votre confirmation.
Le projet propose aussi un mode orienté développement : exécuter le code TypeScript directement en mode watch, avec chargement automatique des variables d'environnement depuis .env ; utile pour déboguer, l'usage quotidien passant par la voie npx décrite plus haut.
Cas d'usage
Cas 1 : vérifier la connexion et les droits (List calendars). Situation : les identifiants viennent d'être configurés, l'URL ou le mot de passe n'est pas sûr. Méthode : demandez à l'assistant de « lister mes calendriers » — l'action de lecture la moins coûteuse pour valider les identifiants. Résultat attendu : la liste des calendriers du compte CalDAV ; en cas d'échec, revérifiez les trois variables d'environnement puis réessayez.
Cas 2 : ne modifier que les champs nécessaires avec update-event. Situation : un rendez-vous change d'heure, mais le titre, le lieu et le reste ne bougent pas. Méthode : faites repérer l'événement cible par l'assistant, puis appelez update-event en ne fournissant que les champs à modifier ; la description officielle indique : « Met à jour un événement de calendrier existant. Seuls les champs fournis sont modifiés. ». Résultat attendu : seuls les champs fournis sont mis à jour, les autres restent inchangés. Point de confirmation : c'est une écriture distante qui touche directement le serveur CalDAV ; vérifiez impérativement l'événement cible et les champs à modifier avant d'exécuter.
Limites d'usage
- Nature lecture/écriture : les capacités mêlent lecture (lister les calendriers, lister les événements d'une période) et écriture (créer, mettre à jour, supprimer par UID) ; les outils agissent directement sur le calendrier en ligne. La suppression se fait par UID ; la documentation officielle ne dit pas si un événement supprimé est récupérable et ne propose aucun chemin d'annulation, soyez donc particulièrement rigoureux à l'étape de confirmation.
- Exigences d'identifiants : URL du serveur, nom d'utilisateur et mot de passe doivent passer par des variables d'environnement ; la prise en charge d'authentifications alternatives (OAuth, mots de passe d'application) n'est pas documentée — non confirmé.
- Effets secondaires et points de confirmation : les écritures modifient réellement le calendrier du serveur ; update-event ne change que les champs fournis, les champs non mentionnés restent intacts.
- Autres points non confirmés : la liste des logiciels serveurs CalDAV pris en charge, pas plus que les limites de débit ou de concurrence, n'est documentée. « Non documenté » décrit seulement le périmètre de la documentation et ne constitue aucune conclusion de sécurité.