MCP Reference: drivemcp.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 drivemcp.googleapis.com dispose des 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 une fois la création réussie.

Les types MIME propriétaires 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 :

  • text/plain vers application/vnd.google-apps.document
  • text/csv vers 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 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 le 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 afficher la liste des 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 : horodatage le plus récent des champs de date et d'heure du fichier.
  • lastModified : dernière modification du fichier par un utilisateur.
  • lastModifiedByMe : 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 du fichier peut être incomplet pour les fichiers très volumineux. La représentation textuelle changera au fil du temps. Ne faites donc pas d'hypothèses sur le format particulier 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 à l'aide 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 à rechercher.
  • 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 la 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. Placez le titre entre 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 correspond. Placez le titre entre guillemets simples ('). Échappez les guillemets simples dans les requêtes avec \', par exemple 'Valentine\'s Day'.
mimeType contains, =, != Type MIME du fichier. Placez le titre entre 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 fonctionne comme sa 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 qui se trouvent dans la collection "Partagés avec moi" de l'utilisateur. Tous les utilisateurs de fichiers figurent dans la liste de contrôle d'accès (LCA) du fichier. Peut être true ou false.
createdTime <=, <, =, !=, >, >= Date de création du fichier. Utilisez le format RFC 3339, fuseau horaire par défaut UTC, par exemple 2012-06-04T12:00:00-08:00.

Opérateurs de requêtes

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'un booléen 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 Renvoie les éléments qui correspondent aux deux requêtes.
or Renvoie les éléments qui correspondent à l'une ou l'autre des requêtes.
not Nie 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 aucun résultat ou qu'il n'y a plus de résultats à renvoyer.

Obtenir les spécifications de l'outil MCP

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

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