Skip to directory

BigQuery Data Transfer Service MCP

Google Cloud

Streamable HTTP13 documented tools15

About 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.

What you can use it for

  • 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 details about a data source.
  • 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 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 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 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")
Connection and setup
Hosting
Google-managed remote
Transport
Streamable HTTP
Endpoint
https://bigquerydatatransfer.googleapis.com/mcp
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.

Requirements

  • A Google Cloud project and access to the target product/resource.
  • Enable this MCP service and its underlying Google Cloud API as required by the product guide.
  • An MCP client that supports Streamable HTTP.
  • An identity with the MCP Tool User role (roles/mcp.toolUser) or equivalent mcp.tools.call permission, plus permissions for the underlying product operations.

Setup steps

  1. Choose the correct global or regional endpoint for your data location; this catalog lists the documented endpoint.
  2. In the Google Cloud project, enable the MCP service and the underlying product API if the product guide requires it.
  3. Authenticate the client with Google Cloud ADC (simplest with Antigravity/Gemini CLI) or configure OAuth 2.0 credentials in a compatible client.
  4. Grant the connecting identity roles/mcp.toolUser and only the product IAM roles needed for the intended operations.
  5. Add bigquerydatatransfer.googleapis.com to the client as a Streamable HTTP MCP server and complete sign-in.
  6. Refresh the client tool list and check that the tools match the product reference; availability may depend on permissions and selected toolset.
Tools 13

Google Cloud reference documents 13 tools for transfer-source discovery, config/run management and logs. Creating/updating/deleting transfer configurations or runs can change scheduled data ingestion and its cloud resource use; credential validation can expose whether source credentials are usable. Google IAM applies.

  • 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")

    01
  • get_data_source

    Get details about a data source.

    02
  • 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 .

    03
  • 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")

    04
  • 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")

    05
  • 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")

    06
  • 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")

    07
  • 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"))

    08
  • 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")

    09
  • 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")

    10
  • 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")

    11
  • 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")

    12
  • 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")

    13
Limitations and notes
  • Google marks this service Preview in its supported-products catalog.
Original sources
  • official server catalog

    Official Google Cloud catalog lists this product as an available remote MCP server.

  • official setup guide

    Google Cloud describes remote MCP client setup, Streamable HTTP transport, supported authentication options, and ADC setup.

  • official authentication guide

    Google documents supported identity types and authorization requirements for Google Cloud MCP calls.

  • official tool reference

    Current reference lists the BigQuery Data Transfer MCP endpoint and tool functions, with tools/list available to retrieve schemas.

  • official setup guide

    Current setup guide documents OAuth/IAM and unauthenticated tools/list discovery.

Documentation checked 2026-10-28. Connection has not been runtime tested.