MCP Tools Reference: dataform.googleapis.com

Outil : list_workspaces

Répertoriez les espaces de travail de développement dans un dépôt Dataform donné.

Utilisez cet outil pour découvrir les espaces de travail existants avant d'effectuer des opérations sur les fichiers (à l'aide d'outils tels que read_file ou write_file) ou de valider le code (à l'aide d'un outil tel que commit_workspace_changes).

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

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

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": "list_workspaces",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Schéma d'entrée

Message de requête ListWorkspaces.

ListWorkspacesRequest

Représentation JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "orderBy": string,
  "filter": string
}
Champs
parent

string

Obligatoire. Dépôt dans lequel lister les espaces de travail. Il doit respecter le format projects/*/locations/*/repositories/*.

pageSize

integer

Facultatif. Nombre maximal d'espaces de travail à renvoyer. Le serveur peut renvoyer un nombre d'éléments inférieur à celui demandé. Si aucune valeur n'est spécifiée, le serveur sélectionne une valeur par défaut appropriée.

pageToken

string

Facultatif. Jeton de page reçu d'un appel ListWorkspaces précédent. Fournissez-le pour récupérer la page suivante.

Lors de la pagination, tous les autres paramètres fournis à ListWorkspaces, à l'exception de page_size, doivent correspondre à l'appel ayant fourni le jeton de page.

orderBy

string

Facultatif. Ce champ n'accepte que le tri par name. Si aucune valeur n'est spécifiée, le serveur choisit l'ordre. Si elle est spécifiée, l'ordre par défaut est croissant pour le champ name.

filter

string

Facultatif. Filtre pour la liste renvoyée.

Schéma de sortie

Message de réponse ListWorkspaces.

ListWorkspacesResponse

Représentation JSON
{
  "workspaces": [
    {
      object (Workspace)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
Champs
workspaces[]

object (Workspace)

Liste des espaces de travail.

nextPageToken

string

Jeton pouvant être envoyé en tant que page_token pour récupérer la page suivante. Si ce champ est omis, il n'y a pas d'autres pages.

unreachable[]

string

Emplacements inaccessibles.

Espace de travail

Représentation JSON
{
  "name": string,
  "createTime": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "depth": integer,

  // 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 _disable_moves can be only one of the following:
  "disableMoves": boolean
  // End of list of possible types for union field _disable_moves.

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

  // Union field _enable_branch_management can be only one of the following:
  "enableBranchManagement": boolean
  // End of list of possible types for union field _enable_branch_management.

  // Union field _shallow can be only one of the following:
  "shallow": boolean
  // End of list of possible types for union field _shallow.
}
Champs
name

string

Identifiant. Nom de l'espace de travail.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de l'espace de travail.

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".

dataEncryptionState

object (DataEncryptionState)

Uniquement en sortie. État de chiffrement des données d'un dépôt Git si cet espace de travail est protégé par une clé KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Uniquement en sortie. Métadonnées indiquant si cette ressource est de portée utilisateur. Pour les ressources Workspace, le champ user_scoped est toujours true.

depth

integer

Facultatif. Uniquement en entrée. Immuable. Profondeur maximale du dépôt Git à extraire pour cet espace de travail. Si elle est définie et supérieure à 0, le dépôt Git sera créé en tant que clone superficiel avec la profondeur indiquée. Sinon, un clone complet sera effectué. Ce champ n'est disponible que pour les dépôts GitHub, GitLab et propriétaires pour lesquels la gestion des branches est activée.

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 _disable_moves.

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

disableMoves

boolean

Facultatif. Si la valeur est définie sur "true", les espaces de travail ne seront pas déplacés si leur dépôt associé l'est. Il sera supprimé.

Champ d'union _original_branch.

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

originalBranch

string

Facultatif. Uniquement en entrée. Immuable. Nom de la branche en amont par défaut pour toutes les opérations d'extraction/d'envoi dans le dépôt distant de cet espace de travail. Si ce champ est vide, la branche HEAD du dépôt sera utilisée.

Champ d'union _enable_branch_management.

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

enableBranchManagement

boolean

Immuable. Contrôle l'activation de l'extraction de branche pour l'espace de travail.

Lorsque cette règle est définie sur "True", l'espace de travail peut extraire des branches.

Champ d'union _shallow.

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

shallow

boolean

Uniquement en sortie. Si la valeur est "true", l'espace de travail a été créé en tant que clone superficiel. La valeur est définie sur "true" si le champ "depth" (profondeur) est défini sur une valeur supérieure à 0, et sur "false" dans le cas contraire.

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.

DataEncryptionState

Représentation JSON
{
  "kmsKeyVersionName": string
}
Champs
kmsKeyVersionName

string

Obligatoire. Nom de la version de clé KMS avec laquelle les données d'une ressource sont chiffrées.

PrivateResourceMetadata

Représentation JSON
{
  "userScoped": boolean
}
Champs
userScoped

boolean

Uniquement en sortie. Si la valeur est "true", cette ressource est de portée utilisateur, ce qui signifie qu'elle est associée à un espace de travail ou provient d'un espace de travail.

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 : ❌