Skip to main content
Glama
Cloady

Cloady

Official
by Cloady

Pull Git Changes

pullGitChanges
Destructive

Fetches the current branch's upstream and fast-forwards to it in a development app; fails if branches diverged or uncommitted changes would be overwritten.

Instructions

Fetch the current branch's upstream and fast-forward to it. Fails when the branches have diverged or uncommitted changes would be overwritten. A GitHub remote is read with the workspace's GitHub App installation; any other host is read without credentials. Works only on a development app: any other app answers 403 read_only. Runs git in the app's running container and returns its output.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "workspaceSlug": "<workspaceSlug>",
      "appSlug": "<appSlug>"
    },
    "name": "pullGitChanges"
  }
}

Input Schema

NameRequiredDescriptionDefault
envNo
regionNo
appSlugYes
workspaceSlugYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.18.0

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations, it discloses credential behavior (GitHub App installation for GitHub remotes, no credentials for other hosts), the 403 read_only restriction to development apps, the failure modes, and the execution context (runs git in the app's running container and returns its output). This is substantial context an agent cannot get from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five short sentences, front-loaded with the operation, then failure modes, auth, environment restriction, and execution context. Each sentence carries distinct information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effecting git operation with no output schema, the description covers failure conditions, auth, and environment gating, and notes that the return value is the git output. Parameter meanings are the remaining gap, which matters given 0% schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description explains none of the four parameters directly; workspaceSlug, appSlug, and region are never mentioned. The development-app restriction implicitly constrains env to 'development', which is useful but only partial compensation for three undocumented parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Fetch the current branch's upstream and fast-forward to it.' This distinguishes it precisely from sibling git tools such as mergeGitBranch, rebaseGitBranch, and checkoutGitBranch, since fast-forward-only semantics are stated explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete applicability conditions: fails on divergence or when uncommitted changes would be overwritten, and works only on development apps (403 read_only otherwise). It does not explicitly name the alternative to use when branches have diverged (e.g., mergeGitBranch), leaving the agent to infer the fallback.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools