MCP Reference: calendarmcp.googleapis.com

Il s'agit d'un serveur MCP fourni par l'API Google Agenda. Le serveur fournit aux développeurs des outils pour créer des applications LLM basées sur Agenda.

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.

Configuration du serveur

Vous devez configurer le serveur MCP Agenda avant de l'utiliser. Pour en savoir plus sur l'utilisation des serveurs MCP distants Google et Google Cloud, consultez Présentation des serveurs MCP Google Cloud.

Points de terminaison du serveur

Un point de terminaison de service MCP est l'adresse réseau et l'interface de communication (généralement une URL) du serveur MCP qu'une application d'IA (l'hôte du client MCP) utilise pour établir une connexion sécurisée et standardisée. Il s'agit du point de contact permettant au LLM de demander un contexte, d'appeler un outil ou d'accéder à une ressource. Les points de terminaison MCP Google peuvent être globaux ou régionaux.

Le serveur MCP de l'API Agenda possède le point de terminaison MCP global suivant :

  • https://calendarmcp.googleapis.com/mcp/v1

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.

Outils

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.
  • Filtrage par plage de dates.
  • Récupère TOUS les événements correspondant aux contraintes de temps.

Si disponible, utilisez plutôt l'outil search_events pour les recherches dans l'agenda principal de l'utilisateur si :

  • vous interrogez des événements correspondant à un sujet, une catégorie ou une intention spécifique (par exemple, "déjeuners", "synchronisations de projet") ;
  • 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 ou par mots clés.

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 ?
  • Est-ce que j'ai des réunions qui se chevauchent cet après-midi ?
  • Quelles sont les réunions de John demain ?

Exemple :

list_events(
    startTime='2024-09-17T06:00:00',
    endTime='2024-09-17T12:00:00',
    pageSize=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 les détails de la réunion d'équipe.
  • Afficher l'événement dont l'ID est event123 dans mon agenda.

Exemple :

get_event(
    eventId='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(
    attendeeEmails=['joedoe@gmail.com', 'janedoe@gmail.com'],
    startTime='2024-09-10T00:00:00',
    endTime='2024-09-17T00:00:00',
    durationMinutes=60,
    preferences={
        'startHour': '09:00',
        'endHour': '17:00',
        'excludeWeekends': 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',
    startTime='2024-09-17T14:00:00',
    endTime='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(
    eventId='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(
    eventId='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(
    eventId='event123',
    responseStatus='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 lister tous les outils et leurs spécifications actuellement disponibles dans le serveur MCP.

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