MCP Tools Reference: dataform.googleapis.com

工具: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 (Folder)
  },
  "folderId": string
}
字段
parent

string

必需。要在其中创建文件夹的位置。必须采用 projects/*/locations/* 格式。

folder

object (Folder)

必需。要创建的文件夹。

folderId
(deprecated)

string

已弃用:此字段未使用。系统会自动生成资源名称。要用于文件夹的 ID,该 ID 将成为文件夹资源名称的最后一个组成部分。

文件夹

JSON 表示法
{
  "name": string,
  "displayName": string,
  "containingFolder": string,
  "teamFolderName": string,
  "createTime": string,
  "updateTime": string,

  // 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 _creator_iam_principal can be only one of the following:
  "creatorIamPrincipal": string
  // End of list of possible types for union field _creator_iam_principal.
}
字段
name

string

标识符。文件夹的名称。

displayName

string

必需。文件夹的易记名称。

containingFolder

string

可选。包含相应资源的文件夹的资源名称。此参数应采用以下格式:projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder},如果这是根文件夹,则只需采用 "" 格式。此字段只能通过 MoveFolder 进行更新。

teamFolderName

string

仅限输出。相应文件夹所关联的 TeamFolder 的资源名称。此参数应采用以下格式:projects/{project}/locations/{location}/teamFolders/{teamFolder}。如果未设置此属性,则相应文件夹不会与团队文件夹关联,而是用户文件夹。

createTime

string (Timestamp format)

仅限输出。相应文件夹的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。相应文件夹上次更新的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _internal_metadata

_internal_metadata 只能是下列其中一项:

internalMetadata

string

仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。

联合字段 _creator_iam_principal

_creator_iam_principal 只能是下列其中一项:

creatorIamPrincipal

string

仅限输出。文件夹创建者的 IAM 主账号标识符。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

输出架构

代表 Dataform 文件夹。此资源用于整理文件和其他文件夹,并提供分层访问权限控制。

文件夹

JSON 表示法
{
  "name": string,
  "displayName": string,
  "containingFolder": string,
  "teamFolderName": string,
  "createTime": string,
  "updateTime": string,

  // 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 _creator_iam_principal can be only one of the following:
  "creatorIamPrincipal": string
  // End of list of possible types for union field _creator_iam_principal.
}
字段
name

string

标识符。文件夹的名称。

displayName

string

必需。文件夹的易记名称。

containingFolder

string

可选。包含相应资源的文件夹的资源名称。此参数应采用以下格式:projects/{project}/locations/{location}/folders/{folder}、projects/{project}/locations/{location}/teamFolders/{teamFolder},如果这是根文件夹,则只需采用 "" 格式。此字段只能通过 MoveFolder 进行更新。

teamFolderName

string

仅限输出。相应文件夹所关联的 TeamFolder 的资源名称。此参数应采用以下格式:projects/{project}/locations/{location}/teamFolders/{teamFolder}。如果未设置此属性,则相应文件夹不会与团队文件夹关联,而是用户文件夹。

createTime

string (Timestamp format)

仅限输出。相应文件夹的创建时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

仅限输出。相应文件夹上次更新的时间戳。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 _internal_metadata

_internal_metadata 只能是下列其中一项:

internalMetadata

string

仅限输出。用于在内部提供资源的所有元数据信息。例如:时间戳、标志、状态字段等。此字段的格式为 JSON 字符串。

联合字段 _creator_iam_principal

_creator_iam_principal 只能是下列其中一项:

creatorIamPrincipal

string

仅限输出。文件夹创建者的 IAM 主账号标识符。

时间戳

JSON 表示法
{
  "seconds": string,
  "nanos": integer
}
字段
seconds

string (int64 format)

表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。

nanos

integer

秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。

工具注释

工具注释会发送给 MCP 客户端,用于描述指定工具的基本风险。大多数客户端会将这些提示视为不受信任的,但它们可用于确定何时向用户发送确认提示。

除了标题字符串之外,还定义了以下布尔值提示:

  • readOnlyHint:如果为 true,则工具不会修改其环境。默认值:false。
  • destructiveHint:如果为 true,则工具可以执行破坏性操作。如果为 false,则该工具只能执行添加操作。默认值:true。
  • idempotentHint:如果为 true,则使用相同实参重复调用该工具不会对其环境产生任何额外影响。默认值:false。
  • openWorldHint:如果为 true,则工具可以与外部实体的“开放世界”进行交互。如果为 false,则该工具只能与内部实体互动。例如,网络搜索工具是开放世界工具,而内存工具不是开放世界工具。

破坏性提示:❌ | 等幂性提示:❌ | 只读提示:❌ | 开放世界提示:❌