ツール: create_folder
指定された Google Cloud プロジェクトとロケーションに新しい Dataform フォルダを作成します。
フォルダは、Dataform リポジトリを階層に整理します。フォルダを作成しても、リポジトリがそのフォルダに移動することはありません。リポジトリをフォルダ内に配置するには、create_repository ツールを使用するときに containing_folder パラメータ値を設定します。
update_repository ツールを使用して既存のリポジトリをフォルダに移動しないでください。リポジトリを作成した後は、MCP ツールを使用して containing_folder フィールドを変更することはできません。
parent パラメータの値は projects/{project_id}/locations/{location} 形式にする必要があります。
folder.display_name パラメータ値は必須で、フォルダのわかりやすい名前を指定します。
次のコードサンプルは、curl を使用して create_folder 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": "create_folder", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
入力スキーマ
CreateFolder リクエスト メッセージ。
CreateFolderRequest
| JSON 表現 |
|---|
{
"parent": string,
"folder": {
object ( |
| フィールド | |
|---|---|
parent |
必須。フォルダを作成するロケーション。 |
folder |
必須。作成するフォルダ。 |
folderId |
非推奨: このフィールドは使用されません。リソース名は自動的に生成されます。フォルダに使用する ID。フォルダのリソース名の最終的なコンポーネントになります。 |
フォルダ
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| フィールド | |
|---|---|
name |
ID。フォルダの名前。 |
displayName |
必須。フォルダのわかりやすい名前。 |
containingFolder |
省略可。包含するフォルダのリソース名。形式は projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder}、またはルートフォルダの場合は "" にする必要があります。このフィールドは MoveFolder でのみ更新できます。 |
teamFolderName |
出力専用。このフォルダが関連付けられている TeamFolder のリソース名。形式は projects/{project}/locations/{location}/teamFolders/{teamFolder} にする必要があります。この値が設定されていない場合、フォルダは TeamFolder に関連付けられておらず、UserFolder になります。 |
createTime |
出力専用。フォルダが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。フォルダが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
internalMetadata |
出力専用。リソースの提供に内部で使用されるすべてのメタデータ情報。たとえば、タイムスタンプ、フラグ、ステータス フィールドなどです。このフィールドの形式は JSON 文字列です。 |
共用体フィールド
|
|
creatorIamPrincipal |
出力専用。フォルダの作成者の IAM プリンシパル ID。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
出力スキーマ
Dataform フォルダを表します。これは、ファイルや他のフォルダを整理し、階層的なアクセス制御を提供するリソースです。
フォルダ
| JSON 表現 |
|---|
{ "name": string, "displayName": string, "containingFolder": string, "teamFolderName": string, "createTime": string, "updateTime": string, // Union field |
| フィールド | |
|---|---|
name |
ID。フォルダの名前。 |
displayName |
必須。フォルダのわかりやすい名前。 |
containingFolder |
省略可。包含するフォルダのリソース名。形式は projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder}、またはルートフォルダの場合は "" にする必要があります。このフィールドは MoveFolder でのみ更新できます。 |
teamFolderName |
出力専用。このフォルダが関連付けられている TeamFolder のリソース名。形式は projects/{project}/locations/{location}/teamFolders/{teamFolder} にする必要があります。この値が設定されていない場合、フォルダは TeamFolder に関連付けられておらず、UserFolder になります。 |
createTime |
出力専用。フォルダが作成されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
updateTime |
出力専用。フォルダが最後に更新されたときのタイムスタンプ。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド
|
|
internalMetadata |
出力専用。リソースの提供に内部で使用されるすべてのメタデータ情報。たとえば、タイムスタンプ、フラグ、ステータス フィールドなどです。このフィールドの形式は JSON 文字列です。 |
共用体フィールド
|
|
creatorIamPrincipal |
出力専用。フォルダの作成者の IAM プリンシパル ID。 |
タイムスタンプ
| JSON 表現 |
|---|
{ "seconds": string, "nanos": integer } |
| フィールド | |
|---|---|
seconds |
UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。 |
nanos |
ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。 |
ツールのアノテーション
ツールのアノテーションは、特定のツールの基本的なリスクを説明するために MCP クライアントに送信されます。ほとんどのクライアントはこれらのヒントを信頼できないものとして扱いますが、確認プロンプトをユーザーに送信するタイミングを決定するために使用できます。
タイトル文字列とともに、次のブール値のヒントが次のように定義されています。
readOnlyHint: true の場合、ツールは環境を変更しません。デフォルトは false です。destructiveHint: true の場合、ツールは破壊的なアクションを実行できます。false の場合、ツールは追加アクションのみを実行できます。デフォルト値は true です。idempotentHint: true の場合、同じ引数でツールを繰り返し呼び出しても、環境に影響はありません。デフォルトは false です。openWorldHint: true の場合、ツールは外部エンティティの「オープン ワールド」とやり取りできます。false の場合、ツールは内部エンティティとのみやり取りできます。たとえば、ウェブ検索ツールはオープン ワールドですが、メモリツールはオープン ワールドではありません。
破壊的ヒント: ❌ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌