MCP Tools Reference: dataform.googleapis.com

ツール: create_workflow_invocation

指定された Dataform リポジトリに新しいワークフロー呼び出しを作成します。

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

compilation_result または workflow_config パラメータ値のいずれかが必要です。

  • compilation_result を使用する場合、パラメータ値は projects/{project_id}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result} の形式にする必要があります。
  • workflow_config を使用する場合、パラメータ値は projects/{project_id}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config} の形式にする必要があります。

前提条件: 呼び出しをトリガーするには、まず create_compilation_result ツールを使用して compilation_result を作成するか、create_workflow_config ツールを使用して workflow_config を作成する必要があります。未加工のリポジトリ コードから直接呼び出しをトリガーすることはできません。

ワークフローの呼び出しは、コンパイル ソースによって決定されるサービス アカウントで実行されます。

  • compilation_result を使用する場合は、invocationConfig.serviceAccount パラメータ値を設定します。省略すると、リポジトリのデフォルトの service_account が使用されます。
  • workflow_config を使用する場合は、invocationConfig パラメータを設定しないでください。呼び出しは、そのワークフロー構成で構成されたサービス アカウントで自動的に実行されます。

サービス アカウントはデフォルトの Dataform サービス エージェントにできません。サービス アカウントにはワークフローを実行するために必要な権限が付与されている必要があり、ユーザーには選択したサービス アカウントとして機能する権限が付与されている必要があります。この承認は通常、サービス アカウント ユーザーのロール(roles/iam.serviceAccountUser)を介して付与されます。このロールは、サービス アカウント自体またはそれを含むプロジェクトに付与できます。

次のコードサンプルは、curl を使用して create_workflow_invocation 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_workflow_invocation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

入力スキーマ

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

CreateWorkflowInvocationRequest

JSON 表現
{
  "parent": string,
  "workflowInvocation": {
    object (WorkflowInvocation)
  }
}
フィールド
parent

string

必須。ワークフロー呼び出しを作成するリポジトリ。projects/*/locations/*/repositories/* の形式で指定してください。

workflowInvocation

object (WorkflowInvocation)

必須。作成するワークフロー呼び出しリソース。

WorkflowInvocation

JSON 表現
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
フィールド
name

string

出力専用。ワークフロー呼び出しの名前。

invocationConfig

object (InvocationConfig)

変更不可。設定しない場合は、デフォルトの InvocationConfig が使用されます。

state

enum (State)

出力専用。このワークフロー呼び出しの現在の状態。

invocationTiming

object (Interval)

出力専用。このワークフロー呼び出しのタイミングの詳細。

resolvedCompilationResult

string

出力専用。この呼び出しの作成に使用された解決済みのコンパイル結果。projects/*/locations/*/repositories/*/compilationResults/* の形式になります。

dataEncryptionState

object (DataEncryptionState)

出力専用。リポジトリに KMS 鍵がある場合にのみ設定します。

privateResourceMetadata

object (PrivateResourceMetadata)

出力専用。このリソースがユーザー スコープかどうかを示すメタデータ。WorkflowInvocation リソースは、コンパイル結果から取得され、コンパイル結果がユーザー スコープの場合にのみ user_scoped になります。

pipelineConfig

object (PipelineConfig)

出力専用。パイプラインのタイプと Git リポジトリ内のパスを定義するパイプライン オプション。

共用体フィールド compilation_source。この呼び出しに使用するコンパイル結果のソース。compilation_source は次のいずれかになります。
compilationResult

string

変更不可。この呼び出しに使用するコンパイル結果の名前。projects/*/locations/*/repositories/*/compilationResults/* の形式で指定してください。

workflowConfig

string

変更不可。呼び出すワークフロー構成の名前。projects/*/locations/*/repositories/*/workflowConfigs/* の形式で指定してください。

共用体フィールド _internal_metadata。

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

internalMetadata

string

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

InvocationConfig

JSON 表現
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
フィールド
includedTargets[]

object (Target)

省略可。含めるアクション ID のセット。

includedTags[]

string

省略可。含めるタグのセット。

transitiveDependenciesIncluded

boolean

省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。

transitiveDependentsIncluded

boolean

省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。

fullyRefreshIncrementalTablesEnabled

boolean

省略可。true に設定すると、増分テーブルが完全に更新されます。

serviceAccount

string

省略可。ワークフロー呼び出しの実行に使用するサービス アカウント。

共用体フィールド _query_priority。

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

queryPriority

enum (QueryPriority)

省略可。BigQuery でのクエリ実行の優先度を指定します。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。

ターゲット

JSON 表現
{
  "database": string,
  "schema": string,
  "name": string
}
フィールド
database

string

省略可。アクションのデータベース(Google Cloud プロジェクト ID)。

schema

string

省略可。database 内のアクションのスキーマ(BigQuery データセット ID)。

name

string

省略可。database と schema 内のアクションの名前。

間隔

JSON 表現
{
  "startTime": string,
  "endTime": string
}
フィールド
startTime

string (Timestamp format)

省略可。時間間隔の開始日時(この日時を含む)。

指定した場合、開始日時と同じかそれ以降の Timestamp がこの時間間隔に一致します。

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"。

endTime

string (Timestamp format)

省略可。時間間隔の終了日時(この日時を含まない)。

指定した場合、終了時刻より前の Timestamp がこの時間間隔に一致します。

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"。

タイムスタンプ

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 の場合、このリソースはユーザー スコープです。つまり、ワークスペースであるか、ワークスペースから取得されています。

PipelineConfig

JSON 表現
{
  "pipelineType": enum (PipelineType),
  "path": string
}
フィールド
pipelineType

enum (PipelineType)

必須。パイプラインのタイプ。

path

string

必須。パイプラインが定義されている Git リポジトリ内の相対パス。たとえば、Dataform パイプラインの場合、workflow_settings.yaml または dataform.json があるフォルダへのパスです。

QueryPriority

BigQuery でのクエリ実行の優先度のタイプ。

列挙型
QUERY_PRIORITY_UNSPECIFIED デフォルト値。この値は使用されません。
INTERACTIVE クエリは BigQuery でインタラクティブ優先度で実行されます。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。
BATCH クエリは BigQuery でバッチ優先度で実行されます。詳細については、https://cloud.google.com/bigquery/docs/running-queries#batchqueries をご覧ください。

状態

ワークフロー呼び出しの現在の状態を表します。

列挙型
STATE_UNSPECIFIED デフォルト値。この値は使用されません。
RUNNING ワークフローの呼び出しは現在実行中です。
SUCCEEDED ワークフローの呼び出しが成功しました。終了状態。
CANCELLED ワークフローの呼び出しがキャンセルされました。終了状態。
FAILED ワークフローの呼び出しに失敗しました。終了状態。
CANCELING ワークフローの呼び出しはキャンセルされていますが、一部のアクションはまだ実行されています。

PipelineType

パイプラインのタイプ。この期間は今後延長される可能性があります。UNSPECIFIED の場合は、エラーがスローされます。

列挙型
PIPELINE_TYPE_UNSPECIFIED デフォルト値。この値は使用されません。
DATAFORM 通常の Dataform パイプライン。
SQL SQL 単一ファイル アセット。
NOTEBOOK ノートブックの単一ファイル アセット。

出力スキーマ

コンパイル結果の単一の呼び出しを表します。

WorkflowInvocation

JSON 表現
{
  "name": string,
  "invocationConfig": {
    object (InvocationConfig)
  },
  "state": enum (State),
  "invocationTiming": {
    object (Interval)
  },
  "resolvedCompilationResult": string,
  "dataEncryptionState": {
    object (DataEncryptionState)
  },
  "privateResourceMetadata": {
    object (PrivateResourceMetadata)
  },
  "pipelineConfig": {
    object (PipelineConfig)
  },

  // Union field compilation_source can be only one of the following:
  "compilationResult": string,
  "workflowConfig": string
  // End of list of possible types for union field compilation_source.

  // Union field _internal_metadata can be only one of the following:
  "internalMetadata": string
  // End of list of possible types for union field _internal_metadata.
}
フィールド
name

string

出力専用。ワークフロー呼び出しの名前。

invocationConfig

object (InvocationConfig)

変更不可。設定しない場合は、デフォルトの InvocationConfig が使用されます。

state

enum (State)

出力専用。このワークフロー呼び出しの現在の状態。

invocationTiming

object (Interval)

出力専用。このワークフロー呼び出しのタイミングの詳細。

resolvedCompilationResult

string

出力専用。この呼び出しの作成に使用された解決済みのコンパイル結果。projects/*/locations/*/repositories/*/compilationResults/* の形式になります。

dataEncryptionState

object (DataEncryptionState)

出力専用。リポジトリに KMS 鍵がある場合にのみ設定します。

privateResourceMetadata

object (PrivateResourceMetadata)

出力専用。このリソースがユーザー スコープかどうかを示すメタデータ。WorkflowInvocation リソースは、コンパイル結果から取得され、コンパイル結果がユーザー スコープの場合にのみ user_scoped になります。

pipelineConfig

object (PipelineConfig)

出力専用。パイプラインのタイプと Git リポジトリ内のパスを定義するパイプライン オプション。

共用体フィールド compilation_source。この呼び出しに使用するコンパイル結果のソース。compilation_source は次のいずれかになります。
compilationResult

string

変更不可。この呼び出しに使用するコンパイル結果の名前。projects/*/locations/*/repositories/*/compilationResults/* の形式で指定してください。

workflowConfig

string

変更不可。呼び出すワークフロー構成の名前。projects/*/locations/*/repositories/*/workflowConfigs/* の形式で指定してください。

共用体フィールド _internal_metadata。

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

internalMetadata

string

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

InvocationConfig

JSON 表現
{
  "includedTargets": [
    {
      object (Target)
    }
  ],
  "includedTags": [
    string
  ],
  "transitiveDependenciesIncluded": boolean,
  "transitiveDependentsIncluded": boolean,
  "fullyRefreshIncrementalTablesEnabled": boolean,
  "serviceAccount": string,

  // Union field _query_priority can be only one of the following:
  "queryPriority": enum (QueryPriority)
  // End of list of possible types for union field _query_priority.
}
フィールド
includedTargets[]

object (Target)

省略可。含めるアクション ID のセット。

includedTags[]

string

省略可。含めるタグのセット。

transitiveDependenciesIncluded

boolean

省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。

transitiveDependentsIncluded

boolean

省略可。true に設定すると、含まれるアクションの一時的な依存関係が実行されます。

fullyRefreshIncrementalTablesEnabled

boolean

省略可。true に設定すると、増分テーブルが完全に更新されます。

serviceAccount

string

省略可。ワークフロー呼び出しの実行に使用するサービス アカウント。

共用体フィールド _query_priority。

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

queryPriority

enum (QueryPriority)

省略可。BigQuery でのクエリ実行の優先度を指定します。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。

ターゲット

JSON 表現
{
  "database": string,
  "schema": string,
  "name": string
}
フィールド
database

string

省略可。アクションのデータベース(Google Cloud プロジェクト ID)。

schema

string

省略可。database 内のアクションのスキーマ(BigQuery データセット ID)。

name

string

省略可。database と schema 内のアクションの名前。

間隔

JSON 表現
{
  "startTime": string,
  "endTime": string
}
フィールド
startTime

string (Timestamp format)

省略可。時間間隔の開始日時(この日時を含む)。

指定した場合、開始日時と同じかそれ以降の Timestamp がこの時間間隔に一致します。

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"。

endTime

string (Timestamp format)

省略可。時間間隔の終了日時(この日時を含まない)。

指定した場合、終了時刻より前の Timestamp がこの時間間隔に一致します。

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"。

タイムスタンプ

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 の場合、このリソースはユーザー スコープです。つまり、ワークスペースであるか、ワークスペースから取得されています。

PipelineConfig

JSON 表現
{
  "pipelineType": enum (PipelineType),
  "path": string
}
フィールド
pipelineType

enum (PipelineType)

必須。パイプラインのタイプ。

path

string

必須。パイプラインが定義されている Git リポジトリ内の相対パス。たとえば、Dataform パイプラインの場合、workflow_settings.yaml または dataform.json があるフォルダへのパスです。

QueryPriority

BigQuery でのクエリ実行の優先度のタイプ。

列挙型
QUERY_PRIORITY_UNSPECIFIED デフォルト値。この値は使用されません。
INTERACTIVE クエリは BigQuery でインタラクティブ優先度で実行されます。詳細については、https://cloud.google.com/bigquery/docs/running-queries#queries をご覧ください。
BATCH クエリは BigQuery でバッチ優先度で実行されます。詳細については、https://cloud.google.com/bigquery/docs/running-queries#batchqueries をご覧ください。

状態

ワークフロー呼び出しの現在の状態を表します。

列挙型
STATE_UNSPECIFIED デフォルト値。この値は使用されません。
RUNNING ワークフローの呼び出しは現在実行中です。
SUCCEEDED ワークフローの呼び出しが成功しました。終了状態。
CANCELLED ワークフローの呼び出しがキャンセルされました。終了状態。
FAILED ワークフローの呼び出しに失敗しました。終了状態。
CANCELING ワークフローの呼び出しはキャンセルされていますが、一部のアクションはまだ実行されています。

PipelineType

パイプラインのタイプ。この期間は今後延長される可能性があります。UNSPECIFIED の場合は、エラーがスローされます。

列挙型
PIPELINE_TYPE_UNSPECIFIED デフォルト値。この値は使用されません。
DATAFORM 通常の Dataform パイプライン。
SQL SQL 単一ファイル アセット。
NOTEBOOK ノートブックの単一ファイル アセット。

ツールのアノテーション

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

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

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

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