Skip to main content
Glama

git_commit

Stage all changes and commit them, initializing a main branch if needed. Refuses to commit if secrets are detected.

Instructions

Stage all and commit (git init -b main if needed). Refuses if secrets would be committed.

Input Schema

NameRequiredDescriptionDefault
dirYes
messageYesCommit message.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.4.0
    • removedInput schema / $schema
      Removed value: -"http://json-schema.org/draft-07/schema#"
    • removedInput schema / properties / dir / description
      Removed value: -"Project folder (absolute path, or relative to the server's working directory)."
  2. First observedv0.1.0

TDQS

A3.5/5.0
Behavior4/5

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

With only destructiveHint=false available, the description carries real behavioral weight: it discloses a side effect (creating a repo with a main branch if absent) and a safety behavior (refusing when secrets would be committed). It still doesn't say what happens when there are no changes to commit or what the tool returns, so it is not fully self-sufficient.

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?

Two tight sentences, zero filler, with the primary action front-loaded and the safety caveat placed last where it belongs.

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

Completeness3/5

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

For a git mutation tool with minimal annotations and no output schema, the description covers the important surprises (auto-init, secret refusal) but leaves gaps: unclear what 'dir' expects, no statement of failure modes (nothing to commit, unmerged state), and no hint about the result of the commit.

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 50% — 'message' is documented in the schema, but 'dir' is a bare string with no description and the tool description never explains it (repo path? existing or to-be-created?). 'Stage all' weakly implies dir scopes the staging area, but that inference is left to the agent.

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 operation ('Stage all and commit') with an explicit scope qualifier ('all'), plus the auto-init fallback. It is clearly distinguishable from workflow siblings like tag_and_release or bump_version, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

The phrase 'git init -b main if needed' implies this is the entry point when no repo exists, which hints at when to use it. But there is no explicit when-to-use versus the git-adjacent siblings (tag_and_release, bump_version) and no statement of preconditions or exclusions.

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