A Model Context Protocol (MCP) server acts as a proxy between an external service that provides context, data, or capabilities to a Large Language Model (LLM) or AI application. MCP servers connect AI applications to external systems such as databases and web services, translating their responses into a format that the AI application can understand.
Server Setup
You must enable MCP servers and set up authentication before use. For more information about using Google and Google Cloud remote MCP servers, see Google Cloud MCP servers overview.
The BigQuery Data Transfer Service MCP server provides tools to interact with the BigQuery Data Transfer Service.
Server Endpoints
An MCP service endpoint is the network address and communication interface (usually a URL) of the MCP server that an AI application (the Host for the MCP client) uses to establish a secure, standardized connection. It is the point of contact for the LLM to request context, call a tool, or access a resource. Google MCP endpoints can be global or regional.
The bigquerydatatransfer.googleapis.com MCP server has the following MCP endpoint:
- https://bigquerydatatransfer.googleapis.com/mcp
MCP Tools
An MCP tool is a function or executable capability that an MCP server exposes to a LLM or AI application to perform an action in the real world.
The bigquerydatatransfer.googleapis.com MCP server has the following tools:
| MCP 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 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
|
| get_data_source | Get details about a data source. |
| create_transfer_config |
Create a transfer configuration. To create a transfer configuration, do the following:
|
| get_transfer_config |
Get details about a transfer config. The following example shows a MCP call to get details about a transfer configuration named 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
|
| 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
|
| 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 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
|
| 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 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
|
| get_transfer_run |
Get details about a transfer run. The following example shows a MCP call to get details about a transfer run named 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
|
| 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 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 If
|
Get MCP tool specifications
To get the MCP tool specifications for all tools in an MCP server, use the tools/list method. The following example demonstrates how to use curl to list all tools and their specifications currently available within the MCP server.
| Curl Request |
|---|
curl --location 'https://bigquerydatatransfer.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |