MCP Tools Reference: dataform.googleapis.com

Strumento: get_workspace

Recupera un singolo workspace di sviluppo Dataform.

Il valore parametro name deve essere nel formato projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

Se non conosci il nome esatto dello spazio di lavoro, utilizza lo strumento list_workspaces per trovarlo.

Il seguente esempio di codice mostra come utilizzare curl per chiamare lo strumento MCP get_workspace.

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

Schema di input

GetWorkspace messaggio di richiesta.

GetWorkspaceRequest

Rappresentazione JSON
{
  "name": string
}
Campi
name

string

Obbligatorio. Il nome del workspace.

Schema di output

Rappresenta uno spazio di lavoro Git Dataform.

Workspace

Rappresentazione 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.
}
Campi
name

string

Identificatore. Il nome del workspace.

createTime

string (Timestamp format)

Solo output. Il timestamp di creazione dello spazio di lavoro.

Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

dataEncryptionState

object (DataEncryptionState)

Solo output. Stato di crittografia dei dati di un repository Git se questo spazio di lavoro è protetto da una chiave KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Solo output. Metadati che indicano se questa risorsa è limitata all'utente. Per le risorse Workspace, il campo user_scoped è sempre true.

depth

integer

Facoltativo. Solo input. Immutabile. La profondità massima del repository Git da estrarre per questo workspace. Se definito e maggiore di 0, il repository Git verrà creato come clone shallow con la profondità specificata, altrimenti verrà eseguito un clone completo. Questo campo è disponibile solo per i repository GitHub, GitLab e di prima parte con la gestione dei rami attivata.

Campo unione _internal_metadata.

_internal_metadata può essere solo uno dei seguenti tipi:

internalMetadata

string

Solo output. Tutte le informazioni sui metadati utilizzate internamente per pubblicare la risorsa. Ad esempio, timestamp, flag, campi di stato e così via. Il formato di questo campo è una stringa JSON.

Campo unione _disable_moves.

_disable_moves può essere solo uno dei seguenti tipi:

disableMoves

boolean

Facoltativo. Se impostato su true, gli spazi di lavoro non verranno spostati se il repository collegato viene spostato. Verrà invece eliminato.

Campo unione _original_branch.

_original_branch può essere solo uno dei seguenti tipi:

originalBranch

string

Facoltativo. Solo input. Immutabile. Il nome del ramo upstream predefinito per tutte le operazioni pull/push nel repository remoto per questo workspace. Se il campo è vuoto, verrà utilizzato il ramo HEAD del repository.

Campo unione _enable_branch_management.

_enable_branch_management può essere solo uno dei seguenti tipi:

enableBranchManagement

boolean

Immutabile. Controlla l'attivazione del checkout del ramo per lo spazio di lavoro.

Se viene impostato su true, lo spazio di lavoro potrà estrarre i rami.

Campo unione _shallow.

_shallow può essere solo uno dei seguenti tipi:

shallow

boolean

Solo output. Se impostato su true, lo spazio di lavoro è stato creato come clone shallow. Verrà impostato su true se il campo Profondità è impostato su un valore maggiore di 0, altrimenti verrà impostato su false.

Timestamp

Rappresentazione JSON
{
  "seconds": string,
  "nanos": integer
}
Campi
seconds

string (int64 format)

Rappresenta i secondi di tempo UTC dall'epoca di Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z).

nanos

integer

Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la parte in nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi.

DataEncryptionState

Rappresentazione JSON
{
  "kmsKeyVersionName": string
}
Campi
kmsKeyVersionName

string

Obbligatorio. Il nome della versione della chiave KMS con cui vengono criptati i dati di una risorsa.

PrivateResourceMetadata

Rappresentazione JSON
{
  "userScoped": boolean
}
Campi
userScoped

boolean

Solo output. Se true, questa risorsa è limitata all'utente, il che significa che è uno spazio di lavoro o proviene da uno spazio di lavoro.

Annotazioni dello strumento

Le annotazioni dello strumento vengono inviate ai client MCP per descrivere il rischio di base di un determinato strumento. La maggior parte dei client considera questi suggerimenti non attendibili, ma possono essere utilizzati per decidere quando inviare a un utente una richiesta di conferma.

Oltre alla stringa del titolo, sono definiti i seguenti suggerimenti booleani:

  • readOnlyHint: se è true, lo strumento non modifica il suo ambiente. Valore predefinito: false.
  • destructiveHint: se è true, lo strumento può eseguire azioni distruttive. Se il valore è false, lo strumento può eseguire solo azioni additive. Valore predefinito: true.
  • idempotentHint: se è true, chiamare ripetutamente lo strumento con gli stessi argomenti non avrà alcun effetto aggiuntivo sul suo ambiente. Valore predefinito: false.
  • openWorldHint: se è true, lo strumento può interagire con un "open world" di entità esterne. Se è false, lo strumento può interagire solo con le entità interne. Ad esempio, uno strumento di ricerca web sarebbe open world, mentre uno strumento di memoria no.

Suggerimento distruttivo: ❌ | Suggerimento idempotente: ✅ | Suggerimento di sola lettura: ✅ | Suggerimento open world: ❌