MCP Tools Reference: dataform.googleapis.com

Tool: push_git_commits

Push a Dataform workspace's committed changes to the repository's Git remote.

Prerequisite: You must commit workspace edits using the commit_workspace_changes tool before pushing. Uncommitted edits stay local and aren't pushed.

If you plan to use the create_release_config tool, you must push your commits first. A release configuration resolves its git_commitish against the Git remote, so a branch or commit that exists only in the local workspace is invisible to it.

The name parameter value must be in the format projects/{project_id}/locations/{location}/repositories/{repository}/workspaces/{workspace}.

The remote_branch parameter value is the remote branch to push to. If omitted, a workspace with branch management enabled pushes to its currently checked-out branch, and any other workspace pushes to the repository's configured default branch.

The following code sample shows how to use curl to call the push_git_commits MCP tool.

Curl Request
curl --location 'https://dataform.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "push_git_commits",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

Input Schema

PushGitCommits request message.

PushGitCommitsRequest

JSON representation
{
  "name": string,
  "remoteBranch": string
}
Fields
name

string

Required. The workspace's name.

remoteBranch

string

Optional. The name of the branch in the Git remote to which commits should be pushed. If left unset, the repository's default branch name will be used.

Output Schema

PushGitCommits response message.

Tool Annotations

Tool annotations are sent to MCP clients to describe the basic risk of a given tool. Most clients treat these hints as untrusted, but they can be used to decide when a confirmation prompt might be sent to a user.

Along with the title string, the following boolean hints are defined as follows:

  • readOnlyHint: If true, the tool doesn't modify its environment. Default: false.
  • destructiveHint: If true, then the tool can perform destructive actions. If false, then the tool can only perform additive actions. Default: true.
  • idempotentHint: If true, then calling the tool repeatedly with the same arguments will have no additional effect on its environment. Default: false.
  • openWorldHint: If true, then the tool can interact with an 'open world' of external entities. If false, then the tool can only interact with internal entities. For example, a web search tool would be open world, while a memory tool would not be open world.

Destructive Hint: ❌ | Idempotent Hint: ❌ | Read Only Hint: ❌ | Open World Hint: ✅