MCP Reference: drivemcp.googleapis.com

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

Un serveur MCP (Model Context Protocol) sert de proxy entre un service externe qui fournit du contexte, des données ou des 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 Drive MCP 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 du contexte, d'appeler un outil ou d'accéder à une ressource. Les points de terminaison Google MCP peuvent être globaux ou régionaux.

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

  • https://drivemcp.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 drivemcp.googleapis.com comporte les outils suivants :

Outils MCP
create_file

Appelez cet outil pour créer ou importer un fichier dans Google Drive.

Si vous importez un fichier, le contenu doit être encodé en base64 dans le champ content, quel que soit le type MIME du fichier importé.

Renvoie un seul objet File en cas de création réussie.

Les types MIME first party Google Drive suivants peuvent être créés sans fournir de contenu :

  • application/vnd.google-apps.document
  • application/vnd.google-apps.spreadsheet
  • application/vnd.google-apps.presentation

Par défaut, les conversions suivantes seront effectuées pour les types MIME suivants :

  • De text/plain à application/vnd.google-apps.document
  • De text/csv à application/vnd.google-apps.spreadsheet

Pour désactiver les conversions pour les types MIME propriétaires, définissez disable_conversion_to_google_type sur "true".

Vous pouvez créer des dossiers en définissant le type MIME sur application/vnd.google-apps.folder.

download_file_content

Appelez cet outil pour télécharger le contenu d'un fichier Drive sous forme de données binaires brutes (octets).

Si le fichier est un type MIME propriétaire Google Drive, le champ exportMimeType est obligatoire et détermine le format du fichier téléchargé.

Si le fichier est introuvable, essayez d'utiliser d'autres outils tels que search_files pour trouver le fichier demandé par l'utilisateur.

Si l'utilisateur souhaite obtenir une représentation en langage naturel de son contenu Drive, utilisez l'outil read_file_content (read_file_content doit être plus petit et plus facile à analyser).

get_file_metadata

Appelez cet outil pour trouver des métadonnées générales sur un fichier Drive d'un utilisateur.

Si le fichier est introuvable, essayez d'utiliser d'autres outils tels que search_files pour trouver le fichier demandé par l'utilisateur.

get_file_permissions Appelez cet outil pour lister les autorisations d'un fichier Drive.
list_recent_files

Appelez cet outil pour trouver les fichiers récents d'un utilisateur en spécifiant un ordre de tri. L'ordre de tri par défaut est recency.

Les ordres de tri acceptés sont les suivants :

  • recency : code temporel le plus récent des champs de date et d'heure du fichier.
  • lastModified : date et heure de la dernière modification du fichier par un utilisateur.
  • lastModifiedByMe : date de la dernière modification du fichier par l'utilisateur.

La taille de page par défaut est de 10. Utilisez next_page_token pour parcourir les résultats.

read_file_content

Appelez cet outil pour récupérer une représentation en langage naturel d'un fichier Drive.

Le contenu des fichiers très volumineux peut être incomplet. La représentation textuelle changera au fil du temps. Ne faites donc aucune hypothèse sur le format spécifique du texte renvoyé par cet outil.

Types MIME acceptés :

  • application/vnd.google-apps.document
  • application/vnd.google-apps.presentation
  • application/vnd.google-apps.spreadsheet
  • application/pdf
  • application/msword
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/vnd.oasis.opendocument.spreadsheet
  • application/vnd.oasis.opendocument.presentation
  • application/x-vnd.oasis.opendocument.text
  • image/png
  • image/jpeg
  • image/jpg

Si le fichier est introuvable, essayez d'utiliser d'autres outils tels que search_files pour trouver le fichier demandé par l'utilisateur à l'aide de mots clés.

search_files

Appelez cet outil pour rechercher des fichiers Drive à partir d'une requête structurée.

Le champ query nécessite l'utilisation d'opérateurs de recherche de requête.

Une chaîne de requête contient les trois parties suivantes : query_term operator values, où :

  • query_term est le terme ou le champ de requête sur lequel effectuer la recherche.
  • operator spécifie la condition appliquée au terme de requête.
  • values sont les valeurs spécifiques à utiliser pour filtrer les résultats de recherche.

Termes de requête

Le tableau suivant répertorie les termes de requête valides et leur description :

Terme de requête Opérateurs valides Utilisation
title contains, =, != Titre du fichier. Entourez-les de guillemets simples ('). Échappez les guillemets simples dans les requêtes avec \', par exemple 'Valentine\'s Day'.
fullText contains Indique si le title ou le texte du contenu du fichier correspondent. Entourez-les de guillemets simples ('). Échappez les guillemets simples dans les requêtes avec \', par exemple 'Valentine\'s Day'.
mimeType contains, =, != Type MIME du fichier. Entourez-les de guillemets simples ('). Échappez les guillemets simples dans les requêtes avec \', par exemple 'Valentine\'s Day'.
modifiedTime <=, <, =, !=, >, >= Date de la dernière modification du fichier. Format RFC 3339, fuseau horaire par défaut UTC, par exemple 2012-06-04T12:00:00-08:00. Les champs de type date ne sont pas comparables.
viewedByMeTime <=, <, =, !=, >, >= Date à laquelle l'utilisateur a consulté un fichier pour la dernière fois. Format RFC 3339, fuseau horaire par défaut UTC, par exemple 2012-06-04T12:00:00-08:00. Les champs de type date ne sont pas comparables.
parentId =, != Indique si le parent est égal à l'ID spécifié. root peut être utilisé pour spécifier le "Mon Drive " de l'utilisateur, qui sert de hiérarchie principale.
owner =, != Utilisateur propriétaire du fichier. me peut être utilisé pour spécifier l'utilisateur qui effectue la requête.
sharedWithMe =, != Fichiers de la collection "Partagés avec moi " de l'utilisateur. Tous les utilisateurs du fichier figurent dans la liste de contrôle d'accès (LCA) du fichier. Il peut s'agir de true ou false.
createdTime <=, <, =, !=, >, >= Date de création du fichier. Utilisez le format RFC 3339. Le fuseau horaire par défaut est UTC, par exemple 2012-06-04T12:00:00-08:00.

Opérateurs de requête

Le tableau suivant répertorie les opérateurs de requête valides :

Opérateur Utilisation
contains Le contenu d'une chaîne est présent dans l'autre.
= Le contenu d'une chaîne ou d'un booléen est égal à l'autre.
!= Le contenu d'une chaîne ou d'une valeur booléenne n'est pas égal à l'autre.
< Une valeur est inférieure à une autre.
<= Une valeur est inférieure ou égale à une autre.
> Une valeur est supérieure à une autre.
>= Une valeur est supérieure ou égale à une autre.
in Un élément est contenu dans une collection.
and Renvoyer les éléments correspondant aux deux requêtes.
or Renvoie les éléments correspondant à l'une ou l'autre des requêtes.
not Annule une requête de recherche.
has Une collection contient un élément correspondant aux paramètres.

Voici quelques exemples de requêtes :

  • title contains 'hello' and title contains 'goodbye'
  • modifiedTime > '2024-01-01T00:00:00Z' and (mimeType contains 'image/' or mimeType contains 'video/')
  • parentId = '1234567'
  • fullText contains 'hello'
  • owner = 'test@example.org'
  • sharedWithMe = true
  • owner = 'me' (pour les fichiers appartenant à l'utilisateur)

Utilisez next_page_token pour parcourir les résultats. Une réponse vide indique qu'il n'y a pas de résultats ou qu'il n'y a plus de résultats à renvoyer.

Obtenir les spécifications de l'outil 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 sur le serveur MCP.

Requête curl
curl --location 'https://drivemcp.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
}'