MCP Tools Reference: dataform.googleapis.com

Outil : create_folder

Crée un dossier Dataform dans un projet et un emplacement Google Cloud donnés.

Les dossiers organisent les dépôts Dataform dans une hiérarchie. La création d'un dossier ne déplace aucun dépôt. Pour placer un dépôt dans un dossier, définissez la valeur du paramètre containing_folder lorsque vous utilisez l'outil create_repository.

N'essayez pas de déplacer un dépôt existant dans un dossier à l'aide de l'outil update_repository. Une fois qu'un dépôt est créé, son champ containing_folder ne peut pas être modifié à l'aide des outils MCP.

La valeur du paramètre parent doit être au format projects/{project_id}/locations/{location}.

La valeur du paramètre folder.display_name est obligatoire et spécifie le nom convivial du dossier.

L'exemple de code suivant montre comment utiliser curl pour appeler l'outil MCP create_folder.

Requête curl
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_folder",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schéma d'entrée

Message de requête CreateFolder.

CreateFolderRequest

Représentation JSON
{
  "parent": string,
  "folder": {
    object (Folder)
  },
  "folderId": string
}
Champs
parent

string

Obligatoire. Emplacement dans lequel créer le dossier. Il doit respecter le format projects/*/locations/*.

folder

object (Folder)

Obligatoire. Dossier à créer.

folderId
(deprecated)

string

Obsolète : ce champ n'est pas utilisé. Le nom de ressource est généré automatiquement. ID à utiliser pour le dossier, qui constituera le composant final du nom de ressource du dossier.

Dossier

Représentation JSON
{
  "name": string,
  "displayName": string,
  "containingFolder": string,
  "teamFolderName": string,
  "createTime": string,
  "updateTime": string,

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.

  // Union field _creator_iam_principal can be only one of the following:
  "creatorIamPrincipal": string
  // End of list of possible types for union field _creator_iam_principal.
}
Champs
name

string

Identifiant. Nom du dossier.

displayName

string

Obligatoire. Nom convivial du dossier.

containingFolder

string

Facultatif. Nom de ressource du dossier parent. Ce champ doit être au format suivant : projects/{project}/locations/{location}/folders/{folder}, projects/{project}/locations/{location}/teamFolders/{teamFolder} ou "" s'il s'agit d'un dossier racine. Ce champ ne peut être modifié que via MoveFolder.

teamFolderName

string

Uniquement en sortie. Nom de la ressource TeamFolder à laquelle ce dossier est associé. Il doit être au format suivant : projects/{project}/locations/{location}/teamFolders/{teamFolder}. Si ce paramètre n'est pas défini, le dossier n'est pas associé à un dossier d'équipe et est un dossier utilisateur.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création du dossier.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour du dossier.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Champ d'union _internal_metadata.

_internal_metadata ne peut être qu'un des éléments suivants :

internalMetadata

string

Uniquement en sortie. Toutes les informations de métadonnées utilisées en interne pour diffuser la ressource. Par exemple : codes temporels, indicateurs, champs d'état, etc. Le format de ce champ est une chaîne JSON.

Champ d'union _creator_iam_principal.

_creator_iam_principal ne peut être qu'un des éléments suivants :

creatorIamPrincipal

string

Uniquement en sortie. Identifiant principal IAM du créateur du dossier.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

Schéma de sortie

Représente un dossier Dataform. Il s'agit d'une ressource utilisée pour organiser les fichiers et les autres dossiers, et pour fournir des contrôles d'accès hiérarchiques.

Dossier

Représentation JSON
{
  "name": string,
  "displayName": string,
  "containingFolder": string,
  "teamFolderName": string,
  "createTime": string,
  "updateTime": string,

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.

  // Union field _creator_iam_principal can be only one of the following:
  "creatorIamPrincipal": string
  // End of list of possible types for union field _creator_iam_principal.
}
Champs
name

string

Identifiant. Nom du dossier.

displayName

string

Obligatoire. Nom convivial du dossier.

containingFolder

string

Facultatif. Nom de ressource du dossier parent. Ce champ doit être au format suivant : projects/{project}/locations/{location}/folders/{folder}, projects/{project}/locations/{location}/teamFolders/{teamFolder} ou "" s'il s'agit d'un dossier racine. Ce champ ne peut être modifié que via MoveFolder.

teamFolderName

string

Uniquement en sortie. Nom de la ressource TeamFolder à laquelle ce dossier est associé. Il doit être au format suivant : projects/{project}/locations/{location}/teamFolders/{teamFolder}. Si ce paramètre n'est pas défini, le dossier n'est pas associé à un dossier d'équipe et est un dossier utilisateur.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création du dossier.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la dernière mise à jour du dossier.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

Champ d'union _internal_metadata.

_internal_metadata ne peut être qu'un des éléments suivants :

internalMetadata

string

Uniquement en sortie. Toutes les informations de métadonnées utilisées en interne pour diffuser la ressource. Par exemple : codes temporels, indicateurs, champs d'état, etc. Le format de ce champ est une chaîne JSON.

Champ d'union _creator_iam_principal.

_creator_iam_principal ne peut être qu'un des éléments suivants :

creatorIamPrincipal

string

Uniquement en sortie. Identifiant principal IAM du créateur du dossier.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

Annotations d'outils

Les annotations d'outil sont envoyées aux clients MCP pour décrire le risque de base d'un outil donné. La plupart des clients traitent ces indices comme non fiables, mais ils peuvent être utilisés pour déterminer quand un message de confirmation peut être envoyé à un utilisateur.

En plus de la chaîne de titre, les indications booléennes suivantes sont définies comme suit :

  • readOnlyHint : si la valeur est "true", l'outil ne modifie pas son environnement. Valeur par défaut : "false".
  • destructiveHint : si la valeur est "true", l'outil peut effectuer des actions destructrices. Si la valeur est "false", l'outil ne peut effectuer que des actions d'ajout. Valeur par défaut : "true".
  • idempotentHint : si la valeur est "true", appeler l'outil à plusieurs reprises avec les mêmes arguments n'aura aucun effet supplémentaire sur son environnement. Valeur par défaut : "false".
  • openWorldHint : si la valeur est "true", l'outil peut interagir avec un "monde ouvert" d'entités externes. Si la valeur est "false", l'outil ne peut interagir qu'avec des entités internes. Par exemple, un outil de recherche Web serait en monde ouvert, tandis qu'un outil de mémoire ne le serait pas.

Indication destructive : ❌ | Indication d'idempotence : ❌ | Indication de lecture seule : ❌ | Indication de monde ouvert : ❌