# BigQuery Data Transfer Service MCP
> Google Cloud managed MCP server for BigQuery Data Transfer Service. Exact tool names and accessible operations depend on the published server reference and configured Google Cloud permissions.
Canonical: https://www.mcpfolio.com/servers/google-cloud-bigquery-data-transfer-service
Last updated: 2026-10-28
## Catalog record

- Publisher: Google Cloud
- Categories: database, cloud-service

## Website

https://docs.cloud.google.com/bigquery/docs/reference/datatransfer/mcp

## Transports

Streamable HTTP

## Authentication

Google Cloud authentication: OAuth 2.0 using Application Default Credentials (ADC) in supported Google clients, or a client OAuth ID/secret or bearer token in compatible third-party clients. The principal needs mcp.tools.call plus the underlying product permissions; API key authentication is only available for services that explicitly support it.

## Tools

- **list_data_sources**: List all the data sources that the project has access to. The following example shows a MCP call to list all data sources 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. list_data_sources(project_id="myproject", location="myregion")
- **get_data_source**: Get details about a data source.
- **create_transfer_config**: Create a transfer configuration. To create a transfer configuration, do the following: Provide the required_fields . Parameters allowed for Secret Manager must be set with Secret Manager. Plaintext is strictly disallowed in requests. Specify how often you want your transfer to run by specifying schedule_options Provide the optional_fields . If you want to use a service account to create this transfer, provide a service_account_name . If the request fails due to missing valid credentials, do the following: * Find your client_id and data_source_scopes from your data source definition. * Authorize your data source by navigating to the following link: https://bigquery.cloud.google.com/datatransfer/oauthz/auth?redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=version_info&client_id=CLIENT_ID&scope=DATA_SOURCE_1%20DATA_SOURCE_2 Provide the version_info .
- **update_transfer_config**: Update a transfer configuration. When updating params, parameters allowed for Secret Manager must be set with Secret Manager. Plaintext is strictly disallowed in requests. The following example shows a MCP call to update a transfer configuration named transfer_config_id in the project myproject in the location myregion . update_transfer_config(data_source=GOOGLE_ADS, project_id="myproject", location="myregion", transfer_config_id="mytransferconfig", display_name="Updated Name")
- **delete_transfer_config**: Delete a transfer configuration. The following example shows a MCP call to delete a transfer configuration by its resource name. delete_transfer_config(name="projects/myproject/locations/myregion/transferConfigs/mytransferconfig")
- **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")
- **list_transfer_configs**: List all transfer configurations for a project. 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. list_transfer_configs(project_id="myproject", location="myregion")
- **start_manual_transfer_runs**: Start manual transfer runs for a transfer config. The following example shows a MCP call to start manual transfer runs for a transfer configuration named transfer_config_id in the project myproject in the location myregion . If the transfer configuration was a manual transfer without a schedule, then request for a single run date. Otherwise ask for either a run date or run date range. 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. start_manual_transfer_runs(project_id="myproject", location="myregion", transfer_config_id="mytransferconfig", run_date="2024-01-01", run_date_range=("2024-01-01", "2024-01-02"))
- **list_transfer_runs**: List all the transfer runs for a transfer config. The following example shows a MCP call to list all transfer runs for 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. list_transfer_runs(project_id="myproject", location="myregion", transfer_config_id="mytransferconfig")
- **get_transfer_run**: Get details about a transfer run. The following example shows a MCP call to get details about a transfer run named transfer_run_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_run(project_id="myproject", location="myregion", transfer_config_id="mytransferconfig", transfer_run_id="mytransferrun")
- **delete_transfer_run**: Delete a transfer run. The following example shows an MCP call to delete a transfer run by its resource name. delete_transfer_run(name="projects/myproject/locations/myregion/transferConfigs/mytransferconfig/runs/mytransferrun")
- **list_transfer_logs**: List transfer logs for a transfer run by its resource name. The following example shows a MCP call to list transfer logs for a transfer run. list_transfer_logs(parent="projects/myproject/locations/myregion/transferConfigs/mytransferconfig/runs/mytransferrun")
- **check_valid_creds**: Check for valid credentials for a data source. The following example shows a MCP call to check for valid credentials for a data source with the ID data_source_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. If has_valid_creds is true, then the credentials are valid. Otherwise, the credentials are not valid. check_valid_creds(project_id="myproject", location="myregion", data_source_id="mydatasource")

## Sources

- [official_server_catalog](https://docs.cloud.google.com/mcp/supported-products)
- [official_setup_guide](https://docs.cloud.google.com/mcp/configure-mcp-ai-application)
- [official_authentication_guide](https://docs.cloud.google.com/mcp/authenticate-mcp)
- [official_tool_reference](https://docs.cloud.google.com/bigquery/docs/reference/datatransfer/mcp)
- [official_setup_guide](https://docs.cloud.google.com/bigquery/docs/use-transfer-service-mcp)

## Setup

Use the interactive setup panel on [the detail page](https://www.mcpfolio.com/servers/google-cloud-bigquery-data-transfer-service) to view instructions for each supported client.