Skip to main content
Glama
modelcontextprotocol

git MCP server

Official

git_create_branch

Create a new Git branch from a specified base branch, tag, or commit SHA; defaults to the current branch or commit when no base is provided.

Instructions

Creates a new branch from an optional base branch or commit

Input Schema

NameRequiredDescriptionDefault
repo_pathYes
base_branchNoBranch, tag or commit SHA to create the branch from. Defaults to the current branch, or to the current commit when HEAD is detached
branch_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.2.0
    • addedInput schema / properties / base_branch / description
      Added value: +"Branch, tag or commit SHA to create the branch from. Defaults to the current branch, or to the current commit when HEAD is detached"
  2. Changed1 schema field changedv2.0.0
    • changedInput schema / title
      Previous value: -"GitCreateBranch"New value: +"create_branchArguments"
  3. Addedv1.0.0

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, so the safety profile is covered. The description adds nothing beyond that: it doesn't say whether HEAD moves to the new branch, what happens if the branch already exists, or whether the working tree is touched — the exact behavioral facts an agent needs for a mutation tool.

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

Conciseness4/5

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

A single front-loaded sentence with no filler. It is terse without being padded, though it is arguably under-specified rather than truly concise.

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

Completeness2/5

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

For a non-idempotent mutation with no output schema and two undocumented parameters, the description leaves out the essentials: whether the branch is checked out, behavior on existing branch names, and what the response reports. Only the base_branch semantics are covered, and those come from the schema.

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 only 33%; base_branch is well documented in the schema, but repo_path and branch_name have no description in either place. The description doesn't compensate — it says nothing about what repo_path should point to or any constraints on branch_name.

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

Purpose4/5

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

States a specific verb+resource (creates a branch) and adds the important detail that the base can be a branch or commit. It doesn't explicitly distinguish itself from siblings like git_branch (likely listing) or git_checkout, leaving that inference to the agent.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus git_branch or git_checkout, nor whether the new branch becomes the active one. The agent must guess whether this behaves like 'git branch <name>' or 'git checkout -b'.

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