Tool: list_workspaces
Entwicklungsarbeitsbereiche in einem bestimmten Dataform-Repository auflisten
Mit diesem Tool können Sie vorhandene Arbeitsbereiche ermitteln, bevor Sie Dateivorgänge (mit Tools wie read_file oder write_file) ausführen oder Code (mit einem Tool wie commit_workspace_changes) committen.
Der Parameterwert parent muss das Format projects/{project_id}/locations/{location}/repositories/{repository} haben.
Das folgende Codebeispiel zeigt, wie Sie mit curl das MCP-Tool list_workspaces aufrufen.
| Curl-Anfrage |
|---|
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 }' |
Eingabeschema
ListWorkspaces-Anfragenachricht.
ListWorkspacesRequest
| JSON-Darstellung |
|---|
{ "parent": string, "pageSize": integer, "pageToken": string, "orderBy": string, "filter": string } |
| Felder | |
|---|---|
parent |
Erforderlich. Das Repository, in dem Arbeitsbereiche aufgelistet werden sollen. Muss das Format |
pageSize |
Optional. Maximale Anzahl der zurückzugebenden Arbeitsbereiche. Der Server gibt möglicherweise weniger Elemente als angefordert zurück. Wenn kein Wert angegeben wurde, wählt der Server ein geeignetes Standardmodell aus. |
pageToken |
Optional. Ein Seitentoken, das von einem vorherigen Beim Paginieren müssen alle anderen für |
orderBy |
Optional. In diesem Feld wird nur die Sortierung nach |
filter |
Optional. Filter für die zurückgegebene Liste. |
Ausgabeschema
ListWorkspaces-Antwortnachricht.
ListWorkspacesResponse
| JSON-Darstellung |
|---|
{
"workspaces": [
{
object ( |
| Felder | |
|---|---|
workspaces[] |
Liste der Arbeitsbereiche. |
nextPageToken |
Ein Token, das als |
unreachable[] |
Standorte, die nicht erreicht werden konnten. |
Arbeitsbereich
| JSON-Darstellung |
|---|
{ "name": string, "createTime": string, "dataEncryptionState": { object ( |
| Felder | |
|---|---|
name |
ID. Der Name des Arbeitsbereichs. |
createTime |
Nur Ausgabe. Der Zeitstempel für den Zeitpunkt, zu dem der Arbeitsbereich erstellt wurde. Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
dataEncryptionState |
Nur Ausgabe. Der Datenverschlüsselungsstatus eines Git-Repositorys, wenn dieser Arbeitsbereich durch einen KMS-Schlüssel geschützt ist. |
privateResourceMetadata |
Nur Ausgabe. Metadaten, die angeben, ob diese Ressource auf Nutzerebene ist. Bei |
depth |
Optional. Nur Eingabe. Nicht veränderbar. Die maximale Tiefe des Git-Repositorys, das für diesen Arbeitsbereich ausgecheckt werden soll. Wenn dieser Wert definiert und größer als 0 ist, wird das Git-Repository als flacher Klon mit der angegebenen Tiefe erstellt. Andernfalls wird ein vollständiger Klon durchgeführt. Dieses Feld ist nur für GitHub-, GitLab- und 1P-Repositories mit aktivierter Zweigverwaltung verfügbar. |
Union-Feld Für |
|
internalMetadata |
Nur Ausgabe. Alle Metadateninformationen, die intern zum Bereitstellen der Ressource verwendet werden. Beispiele: Zeitstempel, Flags, Statusfelder usw. Das Format dieses Felds ist ein JSON-String. |
Union-Feld Für |
|
disableMoves |
Optional. Wenn auf „true“ gesetzt, werden Arbeitsbereiche nicht verschoben, wenn das verknüpfte Repository verschoben wird. Stattdessen wird sie gelöscht. |
Union-Feld Für |
|
originalBranch |
Optional. Nur Eingabe. Nicht veränderbar. Der Name des standardmäßigen Upstream-Zweigs für alle Pull-/Push-Vorgänge im Remote-Repository für diesen Arbeitsbereich. Wenn leer, wird der HEAD-Zweig aus dem Repository verwendet. |
Union-Feld Für |
|
enableBranchManagement |
Nicht veränderbar. Steuert die Aktivierung des Auscheckens von Zweigen für den Arbeitsbereich. Bei Auswahl von „True“ darf der Arbeitsbereich Zweige auschecken. |
Union-Feld Für |
|
shallow |
Nur Ausgabe. Wenn „true“ festgelegt ist, wurde der Arbeitsbereich als flacher Klon erstellt. Wird auf „true“ gesetzt, wenn das Tiefenfeld auf einen Wert größer als 0 gesetzt ist. Andernfalls wird es auf „false“ gesetzt. |
Zeitstempel
| JSON-Darstellung |
|---|
{ "seconds": string, "nanos": integer } |
| Felder | |
|---|---|
seconds |
Stellt Sekunden der UTC-Zeit seit Unix-Epoche 1970-01-01T00:00:00Z dar. Muss einschließlich zwischen -62135596800 und 253402300799 liegen (entspricht 0001-01-01T00:00:00Z bis 9999-12-31T23:59:59Z). |
nanos |
Nicht negative Sekundenbruchteile Nanosekunden-Auflösung. Dieses Feld enthält den Nanosekundenanteil der Dauer und ist keine Alternative zu Sekunden. Negative Sekundenwerte mit Bruchteilen müssen weiterhin nicht negative Nano-Werte haben, die zeitlich vorwärts gezählt werden. Muss zwischen 0 und 999.999.999 liegen (einschließlich). |
DataEncryptionState
| JSON-Darstellung |
|---|
{ "kmsKeyVersionName": string } |
| Felder | |
|---|---|
kmsKeyVersionName |
Erforderlich. Der Name der KMS-Schlüsselversion, mit der die Daten einer Ressource verschlüsselt werden. |
PrivateResourceMetadata
| JSON-Darstellung |
|---|
{ "userScoped": boolean } |
| Felder | |
|---|---|
userScoped |
Nur Ausgabe. Wenn „true“, ist diese Ressource auf Nutzerebene. Das bedeutet, dass sie entweder ein Arbeitsbereich ist oder aus einem Arbeitsbereich stammt. |
Tool-Annotationen
Tool-Anmerkungen werden an MCP-Clients gesendet, um das grundlegende Risiko eines bestimmten Tools zu beschreiben. Die meisten Clients behandeln diese Hinweise als nicht vertrauenswürdig, sie können aber verwendet werden, um zu entscheiden, wann eine Bestätigungsaufforderung an einen Nutzer gesendet wird.
Zusammen mit dem Titelstring sind die folgenden booleschen Hinweise definiert:
readOnlyHint: Wenn „true“, ändert das Tool seine Umgebung nicht. Standardeinstellung: false.destructiveHint: Wenn „true“, kann das Tool destruktive Aktionen ausführen. Wenn „false“, kann das Tool nur additive Aktionen ausführen. Standardeinstellung: true.idempotentHint: Wenn „true“, hat das wiederholte Aufrufen des Tools mit denselben Argumenten keine zusätzlichen Auswirkungen auf die Umgebung. Standardeinstellung: false.openWorldHint: Wenn „true“, kann das Tool mit einer „offenen Welt“ externer Einheiten interagieren. Wenn „false“, kann das Tool nur mit internen Einheiten interagieren. Ein Web-Suchtool wäre beispielsweise frei verfügbar, ein Tool für das Gedächtnis jedoch nicht.
Destruktiver Hinweis: ❌ | Idempotenter Hinweis: ✅ | Nur-Lese-Hinweis: ✅ | Open-World-Hinweis: ❌