Tool: get_transfer_config
Get details about a transfer config.
The following example shows a MCP call to get details about a transfer configuration named transfer_config_id
in the project myproject
in the location myregion
.
If the location isn't explicitly specified, and it can't be determined from the resources in the request, then the default location
is used. If the default location isn't set, then the job runs in the US
multi-region.
get_transfer_config(project_id="myproject", location="myregion", transfer_config_id="mytransferconfig")
The following sample demonstrate how to use curl
to invoke the get_transfer_config
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_transfer_config", "arguments": { // provide these details according to the tool' s MCP specification } } , "jsonrpc" : "2.0" , "id" : 1 } ' |
Input Schema
A request to get data transfer information.
GetTransferConfigRequest
| JSON representation |
|---|
{ "name" : string } |
name
string
Required. The name of the resource requested. If you are using the regionless method, the location must be US
and the name should be in the following form:
-
projects/{project_id}/transferConfigs/{config_id}
If you are using the regionalized method, the name should be in the following form:
-
projects/{project_id}/locations/{location_id}/transferConfigs/{config_id}
Output Schema
Represents a data transfer configuration. A transfer configuration contains all metadata needed to perform a data transfer. For example, destination_dataset_id
specifies where data should be stored. When a new transfer configuration is created, the specified destination_dataset_id
is created when needed and shared with the appropriate data source service account.
TransferConfig
| JSON representation |
|---|
{ "name" : string , "displayName" : string , "dataSourceId" : string , "params" : { object } , "schedule" : string , "scheduleOptions" : { object ( |
name
string
Identifier. The resource name of the transfer config. Transfer config names have the form either projects/{project_id}/locations/{region}/transferConfigs/{config_id}
or projects/{project_id}/transferConfigs/{config_id}
, where config_id
is usually a UUID, even though it is not guaranteed or required. The name is ignored when creating a transfer config.
displayName
string
User specified display name for the data transfer.
dataSourceId
string
Data source ID. This cannot be changed once data transfer is created. The full list of available data source IDs can be returned through an API call: https://cloud.google.com/bigquery-transfer/docs/reference/datatransfer/rest/v1/projects.locations.dataSources/list
params
object (
Struct
format)
Parameters specific to each data source. For more information see the bq tab in the 'Setting up a data transfer' section for each data source. For example the parameters for Cloud Storage transfers are listed here: https://cloud.google.com/bigquery-transfer/docs/cloud-storage-transfer#bq
schedule
string
Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: 1st,3rd monday of month 15:30
, every wed,fri of jan,jun 13:15
, and first sunday of quarter 00:00
. See more explanation about the format here: https://cloud.google.com/appengine/docs/flexible/python/scheduling-jobs-with-cron-yaml#the_schedule_format
NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source.
scheduleOptions
object (
ScheduleOptions
)
Options customizing the data transfer schedule.
scheduleOptionsV2
object (
ScheduleOptionsV2
)
Options customizing different types of data transfer schedule. This field replaces "schedule" and "schedule_options" fields. ScheduleOptionsV2 cannot be used together with ScheduleOptions/Schedule.
dataRefreshWindowDays
integer
The number of days to look back to automatically refresh the data. For example, if data_refresh_window_days = 10
, then every day BigQuery reingests data for [today-10, today-1], rather than ingesting data for just [today-1]. Only valid if the data source supports the feature. Set the value to 0 to use the default value.
disabled
boolean
Is this config disabled. When set to true, no runs will be scheduled for this transfer config.
updateTime
string (
Timestamp
format)
Output only. Data transfer modification time. Ignored by server on input.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
nextRunTime
string (
Timestamp
format)
Output only. Next time when data transfer will run.
Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z"
, "2014-10-02T15:01:23.045123456Z"
or "2014-10-02T15:01:23+05:30"
.
state
enum (
TransferState
)
Output only. State of the most recently updated transfer run.
userId
string ( int64
format)
Deprecated. Unique ID of the user on whose behalf transfer is done.
datasetRegion
string
Output only. Region in which BigQuery dataset is located.
notificationPubsubTopic
string
Pub/Sub topic where notifications will be sent after transfer runs associated with this transfer config finish.
The format for specifying a pubsub topic is: projects/{project_id}/topics/{topic_id}
emailPreferences
object (
EmailPreferences
)
Email notifications will be sent according to these preferences to the email address of the user who owns this transfer config.
encryptionConfiguration
object (
EncryptionConfiguration
)
The encryption configuration part. Currently, it is only used for the optional KMS key name. The BigQuery service account of your project must be granted permissions to use the key. Read methods will return the key name applied in effect. Write methods will apply the key if it is present, or otherwise try to apply project default keys if it is absent.
error
object (
Status
)
Output only. Error code with detailed information about reason of the latest config failure.
managedTableType
enum (
ManagedTableType
)
The classification of the destination table.
destination
. The destination of the transfer config. destination
can be only one of the following:destinationDatasetId
string
The BigQuery target dataset id.
Union field _owner_info
.
_owner_info
can be only one of the following:
ownerInfo
object (
UserInfo
)
Output only. Information about the user whose credentials are used to transfer data. Populated only for transferConfigs.get
requests. In case the user information is not available, this field will not be populated.
Struct
| JSON representation |
|---|
{ "fields" : { string : value , ... } } |
| Fields | |
|---|---|
fields
|
Unordered map of dynamically typed values. An object containing a list of |
FieldsEntry
| JSON representation |
|---|
{ "key" : string , "value" : value } |
| Fields | |
|---|---|
key
|
|
value
|
|
Value
| JSON representation |
|---|
{ // Union field |
kind
. The kind of value. kind
can be only one of the following:nullValue
null
Represents a JSON null
.
numberValue
number
Represents a JSON number. Must not be NaN
, Infinity
or -Infinity
, since those are not supported in JSON. This also cannot represent large Int64 values, since JSON format generally does not support them in its number type.
stringValue
string
Represents a JSON string.
boolValue
boolean
Represents a JSON boolean ( true
or false
literal in JSON).
structValue
object (
Struct
format)
Represents a JSON object.
listValue
array (
ListValue
format)
Represents a JSON array.
ListValue
| JSON representation |
|---|
{ "values" : [ value ] } |
| Fields | |
|---|---|
values[]
|
Repeated field of dynamically typed values. |
ScheduleOptions
| JSON representation |
|---|
{ "disableAutoScheduling" : boolean , "startTime" : string , "endTime" : string } |
| Fields | |
|---|---|
disableAutoScheduling
|
If true, automatic scheduling of data transfer runs for this configuration will be disabled. The runs can be started on ad-hoc basis using StartManualTransferRuns API. When automatic scheduling is disabled, the TransferConfig.schedule field will be ignored. |
startTime
|
Specifies time to start scheduling transfer runs. The first run will be scheduled at or after the start time according to a recurrence pattern defined in the schedule string. The start time can be changed at any moment. The time when a data transfer can be triggered manually is not limited by this option. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
endTime
|
Defines time to stop scheduling transfer runs. A transfer run cannot be scheduled at or after the end time. The end time can be changed at any moment. The time when a data transfer can be triggered manually is not limited by this option. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
Timestamp
| JSON representation |
|---|
{ "seconds" : string , "nanos" : integer } |
| Fields | |
|---|---|
seconds
|
Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be between -62135596800 and 253402300799 inclusive (which corresponds to 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z). |
nanos
|
Non-negative fractions of a second at nanosecond resolution. This field is the nanosecond portion of the duration, not an alternative to seconds. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be between 0 and 999,999,999 inclusive. |
ScheduleOptionsV2
| JSON representation |
|---|
{ // Union field |
schedule
. Data transfer schedules. schedule
can be only one of the following:timeBasedSchedule
object (
TimeBasedSchedule
)
Time based transfer schedule options. This is the default schedule option.
manualSchedule
object (
ManualSchedule
)
Manual transfer schedule. If set, the transfer run will not be auto-scheduled by the system, unless the client invokes StartManualTransferRuns. This is equivalent to disable_auto_scheduling = true.
eventDrivenSchedule
object (
EventDrivenSchedule
)
Event driven transfer schedule options. If set, the transfer will be scheduled upon events arrial.
TimeBasedSchedule
| JSON representation |
|---|
{ "schedule" : string , "startTime" : string , "endTime" : string } |
| Fields | |
|---|---|
schedule
|
Data transfer schedule. If the data source does not support a custom schedule, this should be empty. If it is empty, the default value for the data source will be used. The specified times are in UTC. Examples of valid format: NOTE: The minimum interval time between recurring transfers depends on the data source; refer to the documentation for your data source. |
startTime
|
Specifies time to start scheduling transfer runs. The first run will be scheduled at or after the start time according to a recurrence pattern defined in the schedule string. The start time can be changed at any moment. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
endTime
|
Defines time to stop scheduling transfer runs. A transfer run cannot be scheduled at or after the end time. The end time can be changed at any moment. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: |
EventDrivenSchedule
| JSON representation |
|---|
{ // Union field |
eventStream
. The event stream which specifies the Event-driven transfer options. Event-driven transfers listen to an event stream to transfer data. eventStream
can be only one of the following:pubsubSubscription
string
Pub/Sub subscription name used to receive events. Only Google Cloud Storage data source support this option. Format: projects/{project}/subscriptions/{subscription}
EmailPreferences
| JSON representation |
|---|
{ "enableFailureEmail" : boolean } |
| Fields | |
|---|---|
enableFailureEmail
|
If true, email notifications will be sent on transfer run failures. |
UserInfo
| JSON representation |
|---|
{ // Union field |
Union field _email
.
_email
can be only one of the following:
email
string
E-mail address of the user.
EncryptionConfiguration
| JSON representation |
|---|
{ "kmsKeyName" : string } |
| Fields | |
|---|---|
kmsKeyName
|
The name of the KMS key used for encrypting BigQuery data. |
StringValue
| JSON representation |
|---|
{ "value" : string } |
| Fields | |
|---|---|
value
|
The string value. |
Status
| JSON representation |
|---|
{ "code" : integer , "message" : string , "details" : [ { "@type" : string , field1 : ... , ... } ] } |
| Fields | |
|---|---|
code
|
The status code, which should be an enum value of |
message
|
A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the |
details[]
|
A list of messages that carry the error details. There is a common set of message types for APIs to use. An object containing fields of an arbitrary type. An additional field |
Any
| JSON representation |
|---|
{ "typeUrl" : string , "value" : string } |
| Fields | |
|---|---|
typeUrl
|
Identifies the type of the serialized Protobuf message with a URI reference consisting of a prefix ending in a slash and the fully-qualified type name. Example: type.googleapis.com/google.protobuf.StringValue This string must contain at least one The prefix is arbitrary and Protobuf implementations are expected to simply strip off everything up to and including the last All type URL strings must be legal URI references with the additional restriction (for the text format) that the content of the reference must consist only of alphanumeric characters, percent-encoded escapes, and characters in the following set (not including the outer backticks): In the original design of |
value
|
Holds a Protobuf serialization of the type described by type_url. A base64-encoded string. |
Tool Annotations
Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ❌

