MCP Tools Reference: dataform.googleapis.com

ツール: list_workspaces

指定された Dataform リポジトリ内の開発ワークスペースを一覧表示します。

このツールを使用して、ファイル オペレーション(read_filewrite_file などのツールを使用)やコードの commit(commit_workspace_changes などのツールを使用)を行う前に、既存のワークスペースを検出します。

parent パラメータの値は projects/{project_id}/locations/{location}/repositories/{repository} 形式にする必要があります。

次のコードサンプルは、curl を使用して list_workspaces MCP ツールを呼び出す方法を示しています。

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

入力スキーマ

ListWorkspaces リクエスト メッセージ。

ListWorkspacesRequest

JSON 表現
{
  "parent": string,
  "pageSize": integer,
  "pageToken": string,
  "orderBy": string,
  "filter": string
}
フィールド
parent

string

必須。ワークスペースを一覧表示するリポジトリ。projects/*/locations/*/repositories/* の形式で指定してください。

pageSize

integer

省略可。返されるワークスペースの最大数。サーバーが返すアイテムが、リクエストされた数よりも少ないことがあります。指定しない場合は、サーバーで適切なデフォルトが選択されます。

pageToken

string

省略可。前回の ListWorkspaces 呼び出しから受け取ったページトークン。後続のページを取得するにはこれを指定します。

ページ分割を行う場合、page_size を除く ListWorkspaces に指定する他のすべてのパラメータは、ページトークンを提供した呼び出しと一致する必要があります。

orderBy

string

省略可。このフィールドは name による並べ替えのみをサポートしています。指定しない場合、サーバーは順序を選択します。指定した場合、name フィールドのデフォルトの順序は昇順になります。

filter

string

省略可。返されるリストのフィルタ。

出力スキーマ

ListWorkspaces レスポンス メッセージ。

ListWorkspacesResponse

JSON 表現
{
  "workspaces": [
    {
      object (Workspace)
    }
  ],
  "nextPageToken": string,
  "unreachable": [
    string
  ]
}
フィールド
workspaces[]

object (Workspace)

ワークスペースのリスト。

nextPageToken

string

次のページを取得するために page_token として送信できるトークン。このフィールドを省略すると、後続のページはなくなります。

unreachable[]

string

到達できなかったロケーション。

ワークスペース

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.
}
フィールド
name

string

ID。ワークスペースの名前。

createTime

string (Timestamp format)

出力専用。ワークスペースが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

dataEncryptionState

object (DataEncryptionState)

出力専用。この Workspace が KMS 鍵で保護されている場合の Git リポジトリのデータ暗号化状態。

privateResourceMetadata

object (PrivateResourceMetadata)

出力専用。このリソースがユーザー スコープかどうかを示すメタデータ。Workspace リソースの場合、user_scoped フィールドは常に true です。

depth

integer

省略可。入力専用。変更不可。このワークスペースでチェックアウトする Git リポジトリの最大深度。定義されていて 0 より大きい場合、Git リポジトリは指定された深さのシャロー クローンとして作成されます。それ以外の場合は、フルクローンが実行されます。このフィールドは、ブランチ管理が有効になっている GitHub、GitLab、1p リポジトリでのみ使用できます。

共用体フィールド _internal_metadata

_internal_metadata は次のいずれかになります。

internalMetadata

string

出力専用。リソースの提供に内部で使用されるすべてのメタデータ情報。たとえば、タイムスタンプ、フラグ、ステータス フィールドなどです。このフィールドの形式は JSON 文字列です。

共用体フィールド _disable_moves

_disable_moves は次のいずれかになります。

disableMoves

boolean

省略可。true に設定すると、リンクされたリポジトリが移動しても、ワークスペースは移動されません。代わりに、削除されます。

共用体フィールド _original_branch

_original_branch は次のいずれかになります。

originalBranch

string

省略可。入力専用。変更不可。このワークスペースのリモート リポジトリ内のすべての pull/push オペレーションのデフォルトの上流ブランチの名前。空の場合、リポジトリの HEAD ブランチが使用されます。

共用体フィールド _enable_branch_management

_enable_branch_management は次のいずれかになります。

enableBranchManagement

boolean

変更不可。ワークスペースのブランチ チェックアウトの有効化を制御します。

True に設定すると、ワークスペースでブランチのチェックアウトが許可されます。

共用体フィールド _shallow

_shallow は次のいずれかになります。

shallow

boolean

出力専用。true に設定されている場合、ワークスペースはシャロー クローンとして作成されています。depth フィールドが 0 より大きい値に設定されている場合は true に設定され、それ以外の場合は false に設定されます。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

DataEncryptionState

JSON 表現
{
  "kmsKeyVersionName": string
}
フィールド
kmsKeyVersionName

string

必須。リソースのデータの暗号化に使用される KMS 鍵バージョンの名前。

PrivateResourceMetadata

JSON 表現
{
  "userScoped": boolean
}
フィールド
userScoped

boolean

出力専用。true の場合、このリソースはユーザー スコープです。つまり、ワークスペースであるか、ワークスペースから取得されています。

ツールのアノテーション

ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントはこれらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。

タイトル文字列とともに、次のブール値のヒントが次のように定義されています。

  • readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。
  • destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。
  • idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に影響はありません。デフォルトは false です。
  • openWorldHint: true の場合、ツールは外部エンティティの「オープン ワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。

破壊的ヒント: ❌ | べき等ヒント: ✅ | 読み取り専用ヒント: ✅ | オープン ワールド ヒント: ❌