MCP Tools Reference: dataform.googleapis.com

Alat: list_workspaces

Mencantumkan ruang kerja pengembangan di repositori Dataform tertentu.

Gunakan alat ini untuk menemukan ruang kerja yang ada sebelum melakukan operasi file (menggunakan alat seperti read_file atau write_file) atau melakukan kode (menggunakan alat seperti commit_workspace_changes).

Nilai parameter parent harus dalam format projects/{project_id}/locations/{location}/repositories/{repository}.

Contoh kode berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP list_workspaces.

Permintaan 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
}'

Skema Input

Pesan permintaan ListWorkspaces.

ListWorkspacesRequest

Representasi JSON
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "orderBy": string,
  "filter": string
}
Kolom
parent

string

Wajib. Repositori tempat mencantumkan ruang kerja. Harus dalam format projects/*/locations/*/repositories/*.

pageSize

integer

Opsional. Jumlah maksimum ruang kerja yang akan ditampilkan. Server dapat menampilkan lebih sedikit item daripada yang diminta. Jika tidak ditentukan, server akan memilih default yang sesuai.

pageToken

string

Opsional. Token halaman yang diterima dari panggilan ListWorkspaces sebelumnya. Berikan ini untuk mengambil halaman selanjutnya.

Saat melakukan penomoran halaman, semua parameter lain yang disediakan untuk ListWorkspaces, kecuali page_size, harus sesuai dengan panggilan yang menyediakan token halaman.

orderBy

string

Opsional. Kolom ini hanya mendukung pengurutan berdasarkan name. Jika tidak ditentukan, server akan memilih pengurutan. Jika ditentukan, urutan defaultnya adalah menaik untuk kolom name.

filter

string

Opsional. Filter untuk daftar yang ditampilkan.

Skema Output

Pesan respons ListWorkspaces.

ListWorkspacesResponse

Representasi JSON
{
  "workspaces": [
    {
      object (Workspace)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
Kolom
workspaces[]

object (Workspace)

Daftar ruang kerja.

nextPageToken

string

Token yang dapat dikirim sebagai page_token untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak akan ada halaman berikutnya.

unreachable[]

string

Lokasi yang tidak dapat dijangkau.

Workspace

Representasi 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.
}
Kolom
name

string

ID. Nama ruang kerja.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat ruang kerja dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

dataEncryptionState

object (DataEncryptionState)

Hanya output. Status enkripsi data repositori Git jika Workspace ini dilindungi oleh kunci KMS.

privateResourceMetadata

object (PrivateResourceMetadata)

Hanya output. Metadata yang menunjukkan apakah resource ini tercakup dalam cakupan pengguna. Untuk resource Workspace, kolom user_scoped selalu true.

depth

integer

Opsional. Hanya input. Tidak dapat diubah. Kedalaman maksimum repositori Git yang akan di-checkout untuk ruang kerja ini. Jika ditentukan dan lebih besar dari 0, repositori Git akan dibuat sebagai clone dangkal dengan kedalaman yang diberikan, jika tidak, clone penuh akan dilakukan. Kolom ini hanya tersedia untuk repositori pihak pertama GitHub dan GitLab dengan pengelolaan cabang yang diaktifkan.

Kolom union _internal_metadata.

_internal_metadata hanya dapat berupa salah satu dari hal berikut:

internalMetadata

string

Hanya output. Semua informasi metadata yang digunakan secara internal untuk menayangkan resource. Misalnya: stempel waktu, tanda, kolom status, dll. Format kolom ini adalah string JSON.

Kolom union _disable_moves.

_disable_moves hanya dapat berupa salah satu dari hal berikut:

disableMoves

boolean

Opsional. Jika disetel ke benar (true), ruang kerja tidak akan dipindahkan jika Repositorinya yang ditautkan dipindahkan. Sebagai gantinya, data akan dihapus.

Kolom union _original_branch.

_original_branch hanya dapat berupa salah satu dari hal berikut:

originalBranch

string

Opsional. Hanya input. Tidak dapat diubah. Nama cabang upstream default untuk semua operasi pull/push di repositori jarak jauh untuk ruang kerja ini. Jika kosong, cabang HEAD dari repositori akan digunakan.

Kolom union _enable_branch_management.

_enable_branch_management hanya dapat berupa salah satu dari hal berikut:

enableBranchManagement

boolean

Tidak dapat diubah. Mengontrol pengaktifan checkout cabang untuk ruang kerja.

Jika disetel ke True, ruang kerja akan diizinkan untuk meng-checkout cabang.

Kolom union _shallow.

_shallow hanya dapat berupa salah satu dari hal berikut:

shallow

boolean

Hanya output. Jika disetel ke benar (true), ruang kerja dibuat sebagai clone dangkal. Akan ditetapkan ke benar (true) jika kolom kedalaman ditetapkan ke nilai yang lebih besar dari 0, atau akan ditetapkan ke salah (false).

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nanos non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

DataEncryptionState

Representasi JSON
{
  "kmsKeyVersionName": string
}
Kolom
kmsKeyVersionName

string

Wajib. Nama versi kunci KMS yang digunakan untuk mengenkripsi data resource.

PrivateResourceMetadata

Representasi JSON
{
  "userScoped": boolean
}
Kolom
userScoped

boolean

Hanya output. Jika benar (true), resource ini memiliki cakupan pengguna, yang berarti resource ini berasal dari ruang kerja atau merupakan ruang kerja.

Anotasi Alat

Anotasi alat dikirim ke klien MCP untuk menjelaskan risiko dasar alat tertentu. Sebagian besar klien memperlakukan petunjuk ini sebagai tidak tepercaya, tetapi petunjuk ini dapat digunakan untuk memutuskan kapan perintah konfirmasi dapat dikirim ke pengguna.

Selain string judul, petunjuk boolean berikut ditentukan sebagai berikut:

  • readOnlyHint: Jika benar, alat tidak akan mengubah lingkungannya. Default: false.
  • destructiveHint: Jika benar, alat dapat melakukan tindakan destruktif. Jika salah (false), alat hanya dapat melakukan tindakan tambahan. Default: true.
  • idempotentHint: Jika benar (true), memanggil alat berulang kali dengan argumen yang sama tidak akan memberikan efek tambahan pada lingkungannya. Default: false.
  • openWorldHint: Jika benar, alat dapat berinteraksi dengan 'dunia terbuka' entitas eksternal. Jika salah (false), alat hanya dapat berinteraksi dengan entitas internal. Misalnya, alat penelusuran web akan menjadi open world, sedangkan alat memori tidak akan menjadi open world.

Petunjuk Destruktif: ❌ | Petunjuk Idempoten: ✅ | Petunjuk Hanya Baca: ✅ | Petunjuk Dunia Terbuka: ❌