Cal.com MCP

officiel

Connectez les clients IA à la planification Cal.com via le protocole de contexte de modèle en utilisant le serveur hébergé sur mcp.cal.com ou une instance locale.

Que pouvez-vous faire avec Cal Com MCP ?

  • Gérer les réservations — Demandez à votre assistant de lister, créer, reprogrammer ou annuler des réservations à l’aide d’outils comme get_bookings et create_booking.
  • Configurer les types d’événements — Créez ou mettez à jour des types d’événements, comme un « Quick Chat » de 30 minutes, via create_event_type et update_event_type.
  • Vérifier la disponibilité — Interrogez les créneaux horaires libres ou les périodes occupées des calendriers connectés avec get_availability et get_busy_times.
  • Gérer les plannings — Créez, mettez à jour ou récupérez votre planning par défaut à l’aide de create_schedule et get_default_schedule.
  • Gérer les équipes et les adhésions — Invitez des membres ou ajustez les rôles d’équipe via create_team_invite et update_team_membership.

Documentation

Serveur MCP

Connectez des clients IA à la planification Cal.com via le Model Context Protocol en utilisant le serveur hébergé sur mcp.cal.com ou une instance locale.

Le serveur MCP Cal.com MCP encapsule l'API Cal.com v2 dans le Model Context Protocol, vous permettant de gérer les réservations, les types d'événements, les plannings, et plus encore grâce au langage naturel dans n'importe quel client compatible MCP.

Serveur hébergé (mcp.cal.com)

Le moyen le plus rapide de commencer est de connecter votre client MCP directement à mcp.cal.com. Le serveur hébergé utilise le transport HTTP Streamable avec authentification OAuth 2.1 — votre client gère automatiquement le flux d'autorisation.

Connecter votre client

Pointez votre client MCP vers l'URL du serveur hébergé :

https://mcp.cal.com/mcp

Lors de la première connexion, votre client vous guide à travers un flux d'autorisation OAuth où vous accordez au serveur l'accès à votre compte Cal.com. Aucune clé API n'est nécessaire.

Ajoutez ce qui suit à votre `claude_desktop_config.json` :
* **macOS :** `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows :** `%APPDATA%\Claude\claude_desktop_config.json`

```json theme={null}
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```
Ouvrez **Paramètres → MCP** et ajoutez un nouveau serveur avec l'URL `https://mcp.cal.com/mcp`, ou ajoutez-le à votre `.cursor/mcp.json` :
```json theme={null}
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```
Ajoutez le serveur à vos paramètres MCP de VS Code :
```json theme={null}
{
  "mcpServers": {
    "calcom": {
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```
Ajoutez ce qui suit à votre `~/.fx/mcp.json` :
```json theme={null}
{
  "mcp": {
    "calcom": {
      "type": "http",
      "url": "https://mcp.cal.com/mcp"
    }
  }
}
```

Exécutez ensuite `/mcp auth calcom --open` dans fx pour autoriser. Consultez la
[documentation MCP de fx](https://fx.sh/docs/capabilities/mcp) pour les transports,
les options d'authentification et la découverte d'outils.

Serveur auto-hébergé (stdio)

Si vous préférez exécuter le serveur localement, vous pouvez utiliser le transport stdio avec une clé API. Cela est utile pour le développement ou lorsque vous souhaitez un contrôle total sur le serveur.

Prérequis

Connecter votre client

Ajoutez ce qui suit à la configuration de votre client MCP :

{
  "mcpServers": {
    "calcom": {
      "command": "npx",
      "args": ["@calcom/cal-mcp@latest"],
      "env": {
        "CAL_API_KEY": "cal_live_xxxx"
      }
    }
  }
}

Remplacez cal_live_xxxx par votre clé API réelle.

Avertissement

Ne partagez et ne committez jamais votre clé API. Si elle est exposée, faites-la pivoter immédiatement dans vos paramètres Cal.com.

Ensembles d'outils

Vous pouvez restreindre les outils que le serveur enregistre pour une session en ajoutant un paramètre de requête toolsets à l'URL du serveur :

https://mcp.cal.com/mcp?toolsets=bookings,availability

Ensembles d'outils valides : profile, event-types, bookings, availability, schedules, calendars, teams, organizations, routing-forms, catalog (les méta-outils find_api_operation / describe_api_operation / call_api_operation). Les noms inconnus sont rejetés avec 400 invalid_request. Omettre le paramètre enregistre tous les outils ; les outils locaux get_app_link et search_docs sont toujours enregistrés quelle que soit la sélection. Pour un serveur stdio auto-hébergé, définissez MCP_TOOLSETS à la place.

Outils disponibles

Le serveur MCP expose 63 outils organisés par catégorie :

Liens d'application

OutilDescription
get_app_linkConstruire une URL qui ouvre une réservation, un type d'événement, un planning, une équipe, un formulaire de routage ou une page de paramètres dans l'application web Cal.com

Documentation

OutilDescription
search_docsRechercher dans la documentation produit Cal.com ; renvoie des pages classées avec un extrait du meilleur résultat

Profil utilisateur

OutilDescription
get_meObtenir votre profil utilisateur authentifié
update_meMettre à jour votre profil utilisateur

Types d'événements

OutilDescription
get_event_typesLister tous les types d'événements
get_event_typeObtenir un type d'événement spécifique par ID
create_event_typeCréer un nouveau type d'événement
update_event_typeMettre à jour un type d'événement
delete_event_typeSupprimer un type d'événement
get_event_type_settingsObtenir les paramètres d'un type d'événement
get_event_type_historyObtenir l'historique des modifications d'un type d'événement
get_scheduling_configObtenir la configuration de planification d'un type d'événement
get_crm_sync_errorsObtenir les erreurs de synchronisation CRM pour un type d'événement

Réservations

OutilDescription
get_bookingsLister les réservations avec des filtres optionnels
get_bookingObtenir une réservation spécifique par UID
create_bookingCréer une nouvelle réservation
reschedule_bookingReporter une réservation
cancel_bookingAnnuler une réservation
confirm_bookingConfirmer une réservation en attente
mark_booking_absentMarquer une absence de réservation
get_booking_attendeesObtenir tous les participants d'une réservation
add_booking_attendeeAjouter un participant à une réservation
get_booking_attendeeObtenir un participant spécifique
get_booking_routing_traceObtenir la trace de routage d'une réservation
get_org_team_bookingsObtenir les réservations pour une équipe d'organisation
get_org_user_bookingsObtenir les réservations pour un utilisateur d'organisation

Plannings

OutilDescription
get_schedulesLister tous les plannings
get_scheduleObtenir un planning spécifique par ID
create_scheduleCréer un nouveau planning
update_scheduleMettre à jour un planning
delete_scheduleSupprimer un planning
get_default_scheduleObtenir votre planning par défaut

Disponibilité et calendriers

OutilDescription
get_availabilityObtenir les créneaux horaires disponibles
get_busy_timesObtenir les heures occupées des calendriers
get_connected_calendarsLister les calendriers connectés
get_conferencing_appsLister les applications de conférence

Équipes et adhésions

OutilDescription
get_my_teamsObtenir les équipes auxquelles vous appartenez
get_org_teamsObtenir les équipes d'organisation
create_team_inviteInviter quelqu'un dans une équipe
create_team_membershipCréer une adhésion d'équipe
get_team_membershipsObtenir toutes les adhésions d'équipe
get_team_membershipObtenir une adhésion d'équipe
update_team_membershipMettre à jour une adhésion d'équipe
delete_team_membershipSupprimer une adhésion d'équipe

Organisations

OutilDescription
get_org_membershipsObtenir toutes les adhésions d'organisation
create_org_membershipCréer une adhésion d'organisation
get_org_membershipObtenir une adhésion d'organisation
update_org_membershipMettre à jour une adhésion d'organisation
delete_org_membershipSupprimer une adhésion d'organisation
get_org_attributesObtenir les attributs d'organisation
get_org_attributeObtenir un attribut d'organisation
get_attribute_optionsObtenir les options d'un attribut
get_user_attributesObtenir les attributs assignés à un utilisateur
assign_attribute_to_userAssigner un attribut à un utilisateur
update_user_attributeMettre à jour un attribut assigné à un utilisateur
unassign_attribute_from_userDésassigner un attribut d'un utilisateur
get_user_attribute_historyObtenir l'historique d'assignation d'attributs d'un utilisateur

Formulaires de routage

OutilDescription
calculate_routing_form_slotsCalculer les créneaux en fonction de la réponse du formulaire de routage
get_org_routing_formsObtenir les formulaires de routage d'organisation
get_org_routing_form_responsesObtenir les réponses des formulaires de routage

Catalogue API

OutilDescription
find_api_operationRechercher dans le catalogue complet des opérations API v2
describe_api_operationObtenir le schéma d'entrée pour une opération API
call_api_operationExécuter n'importe quelle opération API v2 du catalogue

Exemples de requêtes

Une fois connecté, vous pouvez interagir avec Cal.com en langage naturel :

  • « Quelles réservations ai-je cette semaine ? »
  • « Créez un type d'événement de 30 minutes appelé "Quick Chat" »
  • « Annulez ma réunion avec John demain »
  • « Montrez-moi mes créneaux disponibles pour lundi prochain »
  • « Reportez ma réunion de 14h à jeudi à 15h »
  • « Quels types d'événements ai-je ? »

Ressources associées

Cette documentation est construite et hébergée sur Mintlify, une plateforme de documentation pour développeurs.