MCP Tools Reference: bigquerydatatransfer.googleapis.com

Tool: get_data_source

Get details about a data source.

The following sample demonstrate how to use curl to invoke the get_data_source MCP tool.

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

Input Schema

Request for getting a data source.

GetDataSourceRequest

JSON representation
{
  "projectId": string,
  "dataSource": enum (DataSource)
}
Fields
projectId

string

Required. Project ID or project number.

dataSource

enum (DataSource)

Required. Data source.

DataSource

Data sources that are currently supported.

Enums
DATA_SOURCE_UNSPECIFIED Unspecified data source.
CROSS_REGION_COPY data_source_id: cross_region_copy
CSS_CENTER data_source_id: css_center
DCM_DT data_source_id: dcm_dt
DFP_DT data_source_id: dfp_dt
DISPLAYVIDEO data_source_id: displayvideo
GA4 data_source_id: ga4
GOOGLE_ADS data_source_id: google_ads
GOOGLE_CLOUD_STORAGE data_source_id: google_cloud_storage
MERCHANT_CENTER data_source_id: merchant_center
PLAY data_source_id: play
SCHEDULED_QUERY data_source_id: scheduled_query
SEARCH_ADS data_source_id: search_ads
YOUTUBE_CHANNEL data_source_id: youtube_channel
YOUTUBE_CONTENT_OWNER data_source_id: youtube_content_owner

Output Schema

Defines the properties and custom parameters for a data source.

DataSource

JSON representation
{
  "name": string,
  "dataSourceId": string,
  "displayName": string,
  "description": string,
  "clientId": string,
  "scopes": [
    string
  ],
  "transferType": enum (TransferType),
  "supportsMultipleTransfers": boolean,
  "updateDeadlineSeconds": integer,
  "defaultSchedule": string,
  "supportsCustomSchedule": boolean,
  "parameters": [
    {
      object (DataSourceParameter)
    }
  ],
  "helpUrl": string,
  "authorizationType": enum (AuthorizationType),
  "dataRefreshType": enum (DataRefreshType),
  "defaultDataRefreshWindowDays": integer,
  "manualRunsDisabled": boolean,
  "minimumScheduleInterval": string
}
Fields
name

string

Output only. Data source resource name.

dataSourceId

string

Data source id.

displayName

string

User friendly data source name.

description

string

User friendly data source description string.

clientId

string

Data source client id which should be used to receive refresh token.

scopes[]

string

Api auth scopes for which refresh token needs to be obtained. These are scopes needed by a data source to prepare data and ingest them into BigQuery, e.g., https://www.googleapis.com/auth/bigquery

transferType
(deprecated)

enum (TransferType)

Deprecated. This field has no effect.

supportsMultipleTransfers
(deprecated)

boolean

Deprecated. This field has no effect.

updateDeadlineSeconds

integer

The number of seconds to wait for an update from the data source before the Data Transfer Service marks the transfer as FAILED.

defaultSchedule

string

Default data transfer schedule. Examples of valid schedules include: 1st,3rd monday of month 15:30, every wed,fri of jan,jun 13:15, and first sunday of quarter 00:00.

supportsCustomSchedule

boolean

Specifies whether the data source supports a user defined schedule, or operates on the default schedule. When set to true, user can override default schedule.

parameters[]

object (DataSourceParameter)

Data source parameters.

helpUrl

string

Url for the help document for this data source.

authorizationType

enum (AuthorizationType)

Indicates the type of authorization.

dataRefreshType

enum (DataRefreshType)

Specifies whether the data source supports automatic data refresh for the past few days, and how it's supported. For some data sources, data might not be complete until a few days later, so it's useful to refresh data automatically.

defaultDataRefreshWindowDays

integer

Default data refresh window on days. Only meaningful when data_refresh_type = SLIDING_WINDOW.

manualRunsDisabled

boolean

Disables backfilling and manual run scheduling for the data source.

minimumScheduleInterval

string (Duration format)

The minimum interval for scheduler to schedule runs.

A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".

DataSourceParameter

JSON representation
{
  "paramId": string,
  "displayName": string,
  "description": string,
  "type": enum (Type),
  "required": boolean,
  "repeated": boolean,
  "validationRegex": string,
  "allowedValues": [
    string
  ],
  "minValue": number,
  "maxValue": number,
  "fields": [
    {
      object (DataSourceParameter)
    }
  ],
  "validationDescription": string,
  "validationHelpUrl": string,
  "immutable": boolean,
  "recurse": boolean,
  "deprecated": boolean,

  // Union field _max_list_size can be only one of the following:
  "maxListSize": string
  // End of list of possible types for union field _max_list_size.
}
Fields
paramId

string

Parameter identifier.

displayName

string

Parameter display name in the user interface.

description

string

Parameter description.

type

enum (Type)

Parameter type.

required

boolean

Is parameter required.

repeated

boolean

Deprecated. This field has no effect.

validationRegex

string

Regular expression which can be used for parameter validation.

allowedValues[]

string

All possible values for the parameter.

minValue

number

For integer and double values specifies minimum allowed value.

maxValue

number

For integer and double values specifies maximum allowed value.

fields[]

object (DataSourceParameter)

Deprecated. This field has no effect.

validationDescription

string

Description of the requirements for this field, in case the user input does not fulfill the regex pattern or min/max values.

validationHelpUrl

string

URL to a help document to further explain the naming requirements.

immutable

boolean

Cannot be changed after initial creation.

recurse

boolean

Deprecated. This field has no effect.

deprecated

boolean

If true, it should not be used in new transfers, and it should not be visible to users.

Union field _max_list_size.

_max_list_size can be only one of the following:

maxListSize

string (int64 format)

For list parameters, the max size of the list.

DoubleValue

JSON representation
{
  "value": number
}
Fields
value

number

The double value.

Duration

JSON representation
{
  "seconds": string,
  "nanos": integer
}
Fields
seconds

string (int64 format)

Signed seconds of the span of time. Must be from -315,576,000,000 to +315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years

nanos

integer

Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 seconds field and a positive or negative nanos field. For durations of one second or more, a non-zero value for the nanos field must be of the same sign as the seconds field. Must be from -999,999,999 to +999,999,999 inclusive.

TransferType

DEPRECATED. Represents data transfer type.

Enums
TRANSFER_TYPE_UNSPECIFIED Invalid or Unknown transfer type placeholder.
BATCH Batch data transfer.
STREAMING Streaming data transfer. Streaming data source currently doesn't support multiple transfer configs per project.

Type

Parameter type.

Enums
TYPE_UNSPECIFIED Type unspecified.
STRING String parameter.
INTEGER Integer parameter (64-bits). Will be serialized to json as string.
DOUBLE Double precision floating point parameter.
BOOLEAN Boolean parameter.
RECORD Deprecated. This field has no effect.
PLUS_PAGE Page ID for a Google+ Page.
LIST List of strings parameter.

AuthorizationType

The type of authorization needed for this data source.

Enums
AUTHORIZATION_TYPE_UNSPECIFIED Type unspecified.
AUTHORIZATION_CODE Use OAuth 2 authorization codes that can be exchanged for a refresh token on the backend.
GOOGLE_PLUS_AUTHORIZATION_CODE Return an authorization code for a given Google+ page that can then be exchanged for a refresh token on the backend.
FIRST_PARTY_OAUTH Use First Party OAuth.

DataRefreshType

Represents how the data source supports data auto refresh.

Enums
DATA_REFRESH_TYPE_UNSPECIFIED The data source won't support data auto refresh, which is default value.
SLIDING_WINDOW The data source supports data auto refresh, and runs will be scheduled for the past few days. Does not allow custom values to be set for each transfer config.
CUSTOM_SLIDING_WINDOW The data source supports data auto refresh, and runs will be scheduled for the past few days. Allows custom values to be set for each transfer config.

Tool Annotations

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌