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 ( |
| Fields | |
|---|---|
projectId |
Required. Project ID or project number. |
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 ( |
| Fields | |
|---|---|
name |
Output only. Data source resource name. |
dataSourceId |
Data source id. |
displayName |
User friendly data source name. |
description |
User friendly data source description string. |
clientId |
Data source client id which should be used to receive refresh token. |
scopes[] |
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. This field has no effect. |
supportsMultipleTransfers |
Deprecated. This field has no effect. |
updateDeadlineSeconds |
The number of seconds to wait for an update from the data source before the Data Transfer Service marks the transfer as FAILED. |
defaultSchedule |
Default data transfer schedule. Examples of valid schedules include: |
supportsCustomSchedule |
Specifies whether the data source supports a user defined schedule, or operates on the default schedule. When set to |
parameters[] |
Data source parameters. |
helpUrl |
Url for the help document for this data source. |
authorizationType |
Indicates the type of authorization. |
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 |
Default data refresh window on days. Only meaningful when |
manualRunsDisabled |
Disables backfilling and manual run scheduling for the data source. |
minimumScheduleInterval |
The minimum interval for scheduler to schedule runs. A duration in seconds with up to nine fractional digits, ending with ' |
DataSourceParameter
| JSON representation |
|---|
{ "paramId": string, "displayName": string, "description": string, "type": enum ( |
| Fields | |
|---|---|
paramId |
Parameter identifier. |
displayName |
Parameter display name in the user interface. |
description |
Parameter description. |
type |
Parameter type. |
required |
Is parameter required. |
repeated |
Deprecated. This field has no effect. |
validationRegex |
Regular expression which can be used for parameter validation. |
allowedValues[] |
All possible values for the parameter. |
minValue |
For integer and double values specifies minimum allowed value. |
maxValue |
For integer and double values specifies maximum allowed value. |
fields[] |
Deprecated. This field has no effect. |
validationDescription |
Description of the requirements for this field, in case the user input does not fulfill the regex pattern or min/max values. |
validationHelpUrl |
URL to a help document to further explain the naming requirements. |
immutable |
Cannot be changed after initial creation. |
recurse |
Deprecated. This field has no effect. |
deprecated |
If true, it should not be used in new transfers, and it should not be visible to users. |
Union field
|
|
maxListSize |
For list parameters, the max size of the list. |
DoubleValue
| JSON representation |
|---|
{ "value": number } |
| Fields | |
|---|---|
value |
The double value. |
Duration
| JSON representation |
|---|
{ "seconds": string, "nanos": integer } |
| Fields | |
|---|---|
seconds |
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 |
Signed fractions of a second at nanosecond resolution of the span of time. Durations less than one second are represented with a 0 |
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: ❌