Dataform MCP server provides tools to interact with Dataform.
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.
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 Dataform API MCP server has the following global MCP endpoint:
- https://dataform.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.
Tools
The dataform.googleapis.com MCP server has the following tools:
| MCP Tools | |
|---|---|
list_repositories |
List the Dataform repositories in a given Google Cloud project and location. The |
create_repository |
Create a new Dataform repository in a given Google Cloud project and location. This tool establishes the root resource required for all other transformation assets, such as compilation results and workflow configurations. A repository must be created before any other Dataform MCP tool can be used. Enabling this tool is the first step in setting up a Dataform project. The The The |
commit_repository_changes |
Apply a Git commit to record the state of files within a Dataform repository. This tool is primarily intended for managing single-file assets—such as notebooks or saved queries—that reside directly in the repository. This tool isn't used in typical pipeline workflows that require workspaces. This commit action creates a permanent entry in the repository's internal Git history. The |
read_repository_file |
Return the contents of a file that's inside a Dataform repository. This tool isn't for standard pipeline development. It's intended for direct repository interaction, typically for managing single-file assets such as notebooks or saved queries. The The |
query_repository_directory_contents |
Return the contents of a given Dataform repository directory. This tool is primarily used to list and manage single-file assets directly in the repository. The The |
list_workflow_configs |
List the workflow configurations in a given Dataform repository. The |
get_workflow_config |
Fetch a single Dataform workflow configuration. The |
create_workflow_config |
Create a new workflow configuration in a given Dataform repository. The The Prerequisite: A valid The workflow invocation must be created using a custom service account. You can specify the service account using the |
update_workflow_config |
Update the properties of an existing Dataform workflow configuration, such as its execution schedule (cron), associated release configuration, or invocation overrides. Modifications to the The The workflow invocation must be created using a custom service account. You can specify the service account using the |
list_release_configs |
List the release configurations in a given Dataform repository. The |
get_release_config |
Fetch a single Dataform release configuration. The |
create_release_config |
Create a new release configuration in a given Dataform repository. The The |
update_release_config |
Update an existing Dataform release configuration, which serves as a template for automatic code compilation. Updates to fields like The |
create_compilation_result |
Create a new Dataform compilation result in a given Google Cloud project and location. This tool compiles The Agents can validate the compiled SQL by inspecting A valid compilation result is required before triggering a manual workflow invocation using the Prerequisite: Create a repository using the |
list_workflow_invocations |
List the workflow invocations in a given Dataform repository. The |
create_workflow_invocation |
Create a new workflow invocation in a given Dataform repository. The Either the
Prerequisite: To trigger an invocation, you must first create either a The workflow invocation must be created using a custom service account. You can specify the service account using the |
cancel_workflow_invocation |
Request the graceful termination of a running Dataform workflow invocation. This tool sends a cancellation signal to the running workflow. However, any individual BigQuery jobs, table creations, or assertions that have already completed as part of this workflow will not be rolled back. The |
get_compilation_result |
Fetch a single Dataform compilation result. The |
query_compilation_actions |
Return the compilation result actions for a given Dataform compilation result. The |
query_workflow_invocation_actions |
Return the workflow invocation actions for a given Dataform workflow invocation. These actions represent the individual BigQuery jobs, table creations, or assertions that make up the workflow. The |
get_workflow_invocation |
Fetch a single Dataform workflow invocation. The |
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://dataform.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/list", "jsonrpc": "2.0", "id": 1 }' |