MCP Reference: calendarmcp.googleapis.com

Un serveur Model Context Protocol (MCP) fait office de proxy entre un service externe qui fournit le contexte, les données ou les capacités à un grand modèle de langage (LLM) ou à une application d'IA. Les serveurs MCP connectent les applications d'IA à des systèmes externes tels que des bases de données et des services Web, et traduisent leurs réponses dans un format que l'application d'IA peut comprendre.

Outils MCP

Un outil MCP est une fonction ou une capacité exécutable qu'un serveur MCP expose à un LLM ou à une application d'IA pour effectuer une action dans le monde réel.

Le serveur MCP calendarmcp.googleapis.com dispose des outils suivants :

Outils MCP
list_events

Répertorie les événements d'agenda dans un agenda donné qui répondent aux conditions spécifiées.

Principales fonctionnalités :

  • N'importe quel ID d'agenda, qui peut être l'agenda principal de l'utilisateur ou un autre.
  • Correspondance des mots clés.
  • Filtrage par plage de dates.
  • Récupère TOUS les événements correspondant aux contraintes de date et de mot clé.

Utilisez plutôt l'outil search_events si :

  • vous devez trouver les événements les plus pertinents (K premiers) plutôt que tous les événements répondant aux contraintes ;
  • vous avez besoin de fonctionnalités de recherche sémantique ;
  • vous ne recherchez des informations spécifiques que dans l'agenda principal de l'utilisateur.

Utilisez cet outil pour des requêtes telles que :

  • Qu'y a-t-il dans mon agenda demain ?
  • Qu'y a-t-il dans mon agenda le 14 juillet 2025 ?
  • Quelles sont mes réunions la semaine prochaine ?
  • Ai-je des réunions qui se chevauchent cet après-midi ?

Exemple :

list_events(
    start_time='2024-09-17T06:00:00',
    end_time='2024-09-17T12:00:00',
    page_size=10
)
# Returns up to 10 calendar events between 6:00 AM and 12:00 PM on September 17, 2024 from the user's primary calendar.
get_event

Renvoie un seul événement d'un agenda donné.

Utilisez cet outil pour des requêtes telles que :

  • Obtenir des informations sur la réunion d'équipe.
  • Afficher l'événement dont l'ID est event123 dans mon agenda.

Exemple :

get_event(
    event_id='event123'
)
# Returns the event details for the event with id `event123` on the user's primary calendar.
list_calendars

Renvoie les agendas de la liste d'agendas de l'utilisateur.

Utilisez cet outil pour des requêtes telles que :

  • Quels sont tous mes agendas ?

Exemple :

list_calendars()
# Returns all calendars the authenticated user has access to.
suggest_time

Suggère des périodes sur un ou plusieurs agendas. Pour accéder à l'agenda principal, ajoutez "primary" dans le champ attendee_emails.

Utilisez cet outil pour des requêtes telles que :

  • Quand sommes-nous tous disponibles pour une réunion ?
  • Trouver un créneau de 30 minutes où nous sommes tous les deux disponibles.
  • Vérifier si jane.doe@google.com est disponible lundi matin.

Exemple :

suggest_time(
    attendee_emails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    start_time='2024-09-10T00:00:00',
    end_time='2024-09-17T00:00:00',
    duration_minutes=60,
    preferences={
        'start_hour': '09:00',
        'end_hour': '17:00',
        'exclude_weekends': True
    }
)
# Returns up to 5 suggested time slots where both users are available for at least one hour between 9:00 AM and 5:00 PM on weekdays from September 10 through September 16, 2024.
create_event

Crée un événement d'agenda.

Utilisez cet outil pour des requêtes telles que :

  • Créer un événement dans mon agenda pour demain à 14h qui s'appelle "Réunion avec Jane".
  • Planifier une réunion avec john.doe@google.com lundi prochain de 10h à 11h.

Exemple :

create_event(
    summary='Meeting with Jane',
    start_time='2024-09-17T14:00:00',
    end_time='2024-09-17T15:00:00'
)
# Creates an event on the primary calendar for September 17, 2024 from 2pm to 3pm called 'Meeting with Jane'.
update_event

Met à jour un événement d'agenda.

Utilisez cet outil pour des requêtes telles que :

  • Décaler d'une heure l'événement "Réunion avec Jane".
  • Ajouter john.doe@google.com à la réunion de demain.

Exemple :

update_event(
    event_id='event123',
    summary='Meeting with Jane and John'
)
# Updates the summary of event with id 'event123' on the primary calendar to 'Meeting with Jane and John'.
delete_event

Supprime un événement d'agenda.

Utilisez cet outil pour des requêtes telles que :

  • Supprimer l'événement dont l'ID est event123 dans mon agenda.

Pour annuler ou refuser un événement, utilisez plutôt l'outil respond_to_event.

Exemple :

delete_event(
    event_id='event123'
)
# Deletes the event with id 'event123' on the user's primary calendar.
respond_to_event

Répond à un événement.

Utilisez cet outil pour des requêtes telles que :

  • Accepter l'événement dont l'ID est event123 dans mon agenda.
  • Refuser la réunion avec Jane.
  • Annuler ma prochaine réunion.
  • Accepter provisoirement la réunion de planification.

Exemple :

respond_to_event(
    event_id='event123',
    response_status='accepted'
)
# Responds with status 'accepted' to the event with id 'event123' on the user's primary calendar.

Obtenir les spécifications des outils MCP

Pour obtenir les spécifications des outils MCP pour tous les outils d'un serveur MCP, utilisez la méthode tools/list. L'exemple suivant montre comment utiliser curl pour répertorier tous les outils et leurs spécifications actuellement disponibles sur le serveur MCP.

Requête Curl
curl --location 'https://calendarmcp.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
    "method": "tools/list",
    "jsonrpc": "2.0",
    "id": 1
}'