MCP Tools Reference: bigquery.googleapis.com

ツール: execute_sql

プロジェクトで SQL クエリを実行し、結果を返します。可能であれば、execute_sql_readonly ツールを使用します。

このツールは、BigQuery がサポートするあらゆるクエリ(SQL クエリ(SELECT、INSERT、UPDATE、DELETE、CREATE など))を実行できます。* AI.FORECAST、ML.EVALUATE、ML.PREDICT などの AI/ML 関数 * BigQuery がサポートするその他のクエリ。

execute_sql ツールを使用して実行されたクエリには、ジョブラベル goog-mcp-server: true が自動的に設定されます。クエリにより、project_id フィールドで指定されたプロジェクトに対して料金が発生します。

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

Curl リクエスト
                  
curl --location 'https://bigquery.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "execute_sql",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

BigQuery SQL クエリを同期的に実行し、指定したタイムアウト期間内にクエリが完了した場合はクエリ結果を返します。

QueryRequest

JSON 表現
{
  "projectId": string,
  "query": string,
  "dryRun": boolean
}
フィールド
projectId

string

必須。クエリの実行と課金に使用されるプロジェクト。

query

string

必須。実行するクエリ(GoogleSQL クエリ形式)。

dryRun

boolean

省略可。true に設定すると、BigQuery はジョブを実行しません。代わりに、クエリが有効な場合は、BigQuery はジョブに関する統計情報(処理されるバイト数など)を返します。クエリが無効な場合は、エラーが返されます。デフォルト値は false です。

出力スキーマ

BigQuery SQL クエリのレスポンス。

QueryResponse

JSON 表現
{
  "schema": {
    object (TableSchema)
  },
  "rows": [
    {
      object
    }
  ],
  "jobComplete": boolean,
  "errors": [
    {
      object (ErrorProto)
    }
  ],
  "queryId": string,
  "totalBytesBilled": string,
  "totalSlotMs": string,
  "numDmlAffectedRows": string,
  "totalBytesProcessed": string
}
フィールド
schema

object (TableSchema)

結果のスキーマ。クエリが正常に完了した場合にのみ存在します。

rows[]

object (Struct format)

最大許容応答サイズ内でいくつでも結果を格納するオブジェクト。追加の行を取得するには、GetQueryResults を呼び出して、上記で返された jobReference を指定します。

jobComplete

boolean

クエリが完了したかどうか。行または totalRows が存在する場合、この値は常に true になります。これが false の場合、totalRows は使用できません。

errors[]

object (ErrorProto)

出力専用。ジョブの実行中に発生した最初のエラーまたは警告。最終メッセージには、プロセスの停止の原因となったエラーの数が含まれます。ここにエラーがあっても、必ずしもジョブが完了または失敗したことを意味しません。エラー メッセージの詳細については、エラー メッセージをご覧ください。

queryId

string

出力専用。クエリの ID。

totalBytesBilled

string (Int64Value format)

出力専用。クエリに対して課金された合計バイト数。プロジェクトがオンデマンド料金を使用するように構成されている場合にのみ適用されます。

totalSlotMs

string (Int64Value format)

出力専用。ユーザーに実際に請求されるスロットのミリ秒数。

numDmlAffectedRows

string (Int64Value format)

出力専用。DML ステートメントによって影響を受ける行数。

totalBytesProcessed

string (Int64Value format)

出力専用。このクエリで処理されたバイト数の合計。

TableSchema

JSON 表現
{
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "foreignTypeInfo": {
    object (ForeignTypeInfo)
  }
}
フィールド
fields[]

object (TableFieldSchema)

テーブルのフィールドを記述します。

foreignTypeInfo

object (ForeignTypeInfo)

省略可。フィールド スキーマ(TableFieldSchema.foreign_type_definition)で外部データ型定義のメタデータを指定します。

TableFieldSchema

JSON 表現
{
  "name": string,
  "type": string,
  "mode": string,
  "fields": [
    {
      object (TableFieldSchema)
    }
  ],
  "description": string,
  "policyTags": {
    object (PolicyTagList)
  },
  "dataPolicies": [
    {
      object (DataPolicyOption)
    }
  ],
  "maxLength": string,
  "precision": string,
  "scale": string,
  "timestampPrecision": string,
  "roundingMode": enum (RoundingMode),
  "collation": string,
  "defaultValueExpression": string,
  "rangeElementType": {
    object (FieldElementType)
  },
  "foreignTypeDefinition": string,
  "generatedColumn": {
    object (GeneratedColumn)
  }
}
フィールド
name

string

必須。フィールド名。名前には、英字(a~z、A~Z)、数字(0~9)、アンダースコア(_)のみを使用できます。先頭文字は英字またはアンダースコアにする必要があります。最大長は 300 文字です。

type

string

必須。フィールドのデータ型。値は次のとおりです。

  • STRING
  • BYTES
  • INTEGER(または INT64)
  • FLOAT(または FLOAT64)
  • BOOLEAN(または BOOL)
  • TIMESTAMP
  • DATE
  • 時間
  • DATETIME
  • GEOGRAPHY
  • NUMERIC
  • BIGNUMERIC
  • JSON
  • RECORD(または STRUCT)
  • RANGE

RECORD / STRUCT は、フィールドにネストされたスキーマが含まれていることを示します。

mode

string

省略可。フィールド モード。有効な値は、NULLABLE、REQUIRED、REPEATED です。デフォルト値は NULLABLE です。

fields[]

object (TableFieldSchema)

省略可。type プロパティが RECORD に設定されている場合に、ネストされたスキーマ フィールドを記述します。

description

string

省略可。フィールドの説明。最大長は 1,024 文字です。

policyTags

object (PolicyTagList)

省略可。このフィールドにアタッチされるポリシータグ。フィールド レベルのアクセス制御に使用されます。設定されていない場合、空の policy_tags がデフォルトで使用されます。

dataPolicies[]

object (DataPolicyOption)

省略可。このフィールドにアタッチされるデータポリシー。フィールド レベルのアクセス制御に使用されます。

maxLength

string (int64 format)

省略可。このフィールドの STRING または BYTES の値の最大長。

max_length が指定されていない場合、このフィールドに最大長の制約は課されません。

type が "STRING" の場合、max_length はこのフィールドの UTF-8 文字列の最大長を表します。

type が "BYTES" の場合、max_length はこのフィールドの最大バイト数を表します。

type が "STRING" や "BYTES" でない場合、このフィールドの設定は無効になります。

precision

string (int64 format)

省略可。このフィールドの NUMERIC または BIGNUMERIC の値の精度(10 進数の合計桁数の最大値)とスケール(10 進数の小数部の桁数の最大値)の制約。

type が "NUMERIC" や "BIGNUMERIC" でない場合、精度やスケールの設定は無効になります。

精度とスケールが指定されていない場合、値が型で許可されている限り、このフィールドに値の範囲の制約は課されません。

この NUMERIC フィールドまたは BIGNUMERIC フィールドの値が満たす必要がある範囲は次のとおりです。

  • 精度(P)とスケール(S)が指定されている場合: [-10P-S + 10-S, 10P-S - 10-S]
  • 精度(P)が指定されていてスケールが指定されていない場合(スケールは 0 と解釈される): [-10P + 1, 10P - 1]

精度とスケールの両方を指定する場合の有効な値は次のとおりです。

  • type が "NUMERIC" の場合: 1 ≤ 精度 - スケール ≤ 29、0 ≤ スケール ≤ 9
  • type が "BIGNUMERIC" の場合: 1 ≤ 精度 - スケール ≤ 38、0 ≤ スケール ≤ 38

精度のみを指定してスケールは指定しない(スケールは 0 と解釈される)場合の精度の有効な値は次のとおりです。

  • type が "NUMERIC" の場合: 1 ≤ 精度 ≤ 29
  • type が "BIGNUMERIC" の場合: 1 ≤ 精度 ≤ 38

スケールが指定されていて精度が指定されていない場合は無効になります。

scale

string (int64 format)

省略可。精度については、ドキュメントをご覧ください。

timestampPrecision

string (Int64Value format)

省略可。TIMESTAMP 型の秒の精度(10 進数の合計桁数の最大値)。

有効な値は次のとおりです。* 6(デフォルト、マイクロ秒精度の TIMESTAMP 型の場合)* 12(ピコ秒精度の TIMESTAMP 型の場合)

roundingMode

enum (RoundingMode)

省略可。NUMERIC 型と BIGNUMERIC 型の値を格納するときに使用する丸めモードを示します。

collation

string

省略可。フィールドの照合方法。フィールドの型が STRING の場合にのみ設定できます。次の値を使用できます。

  • 'und:ci': 不明なロケール、大文字と小文字を区別しない。
  • '': 空の文字列。デフォルトでは大文字と小文字を区別。
defaultValueExpression

string

省略可。このフィールドのデフォルト値を指定する SQL 式。

rangeElementType

object (FieldElementType)

省略可。RANGE のサブタイプ(このフィールドの型が RANGE の場合)。このフィールドは型が RANGE の場合は必須です。このフィールドの要素の型の値は次のいずれかになります。

  • DATE
  • DATETIME
  • TIMESTAMP
foreignTypeDefinition

string

省略可。外部データ型の定義。最上位のスキーマ フィールド(ネストされたフィールドでない)でのみ有効です。このフィールドは型が FOREIGN の場合は必須です。

generatedColumn

object (GeneratedColumn)

省略可。フィールドの値が生成される方法の定義。最上位のスキーマ フィールド(ネストされたフィールドでない)でのみ有効です。

StringValue

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

string

文字列値。

PolicyTagList

JSON 表現
{
  "names": [
    string
  ]
}
フィールド
names[]

string

ポリシータグのリソース名のリスト。例: 「projects/1/locations/eu/taxonomies/2/policyTags/3」。ポリシータグは、現在は最大 1 つのみ許可されています。

DataPolicyOption

JSON 表現
{

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

共用体フィールド _name

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

name

string

データポリシーのリソース名。形式は projects/project_id/locations/location_id/dataPolicies/data_policy_id です。

Int64Value

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

string (int64 format)

int64 値。

FieldElementType

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

string

必須。フィールドの要素の型。詳しくは、TableFieldSchema.type をご覧ください。

GeneratedColumn

JSON 表現
{

  // Union field _generated_mode can be only one of the following:
  "generatedMode": enum (GeneratedMode)
  // End of list of possible types for union field _generated_mode.

  // Union field definition can be only one of the following:
  "generatedExpressionInfo": {
    object (GeneratedExpressionInfo)
  }
  // End of list of possible types for union field definition.
}
フィールド

共用体フィールド _generated_mode

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

generatedMode

enum (GeneratedMode)

省略可。システム生成値を使用してフィールドを設定するタイミングを指定します。

共用体フィールド definition

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

generatedExpressionInfo

object (GeneratedExpressionInfo)

フィールドの生成に使用される式の定義。

GeneratedExpressionInfo

JSON 表現
{

  // Union field _generation_expression can be only one of the following:
  "generationExpression": string
  // End of list of possible types for union field _generation_expression.

  // Union field _asynchronous can be only one of the following:
  "asynchronous": boolean
  // End of list of possible types for union field _asynchronous.

  // Union field _stored can be only one of the following:
  "stored": boolean
  // End of list of possible types for union field _stored.
}
フィールド

共用体フィールド _generation_expression

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

generationExpression

string

省略可。フィールドの生成に使用される生成式(AI.EMBED(...) など)。

共用体フィールド _asynchronous

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

asynchronous

boolean

省略可。列の生成が非同期で行われるかどうか。

共用体フィールド _stored

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

stored

boolean

省略可。生成された列がテーブルに格納されているかどうか。

ForeignTypeInfo

JSON 表現
{
  "typeSystem": enum (TypeSystem)
}
フィールド
typeSystem

enum (TypeSystem)

必須。外部データ型を定義するシステムを指定します。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

map (key: string, value: value (Value format))

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

JSON 表現
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

JSON null を表します。

numberValue

number

JSON 数値を表します。NaNInfinity-Infinity は JSON でサポートされていないため、使用できません。また、JSON 形式では通常、数値型で大きな Int64 値がサポートされていないため、大きな Int64 値も表現できません。

stringValue

string

JSON 文字列を表します。

boolValue

boolean

JSON ブール値(JSON の true または false リテラル)を表します。

structValue

object (Struct format)

JSON オブジェクトを表します。

listValue

array (ListValue format)

JSON 配列を表します。

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

BoolValue

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

boolean

ブール値。

ErrorProto

JSON 表現
{
  "reason": string,
  "location": string,
  "debugInfo": string,
  "message": string
}
フィールド
reason

string

エラーを要約した短いエラーコード。

location

string

エラーが発生した場合に、その発生場所を示します。

debugInfo

string

デバッグ情報このプロパティは Google 内部で使用されるものであり、使用しないでください。

message

string

エラーの説明(人が読める形式)。

ツールのアノテーション

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