Skip to main content
Glama

commit_and_push

Stages safe changes, creates a commit, and pushes the current branch after owner confirmation.

Instructions

Stage safe changes, create a commit, then push the current branch. Requires GITHUB_MCP_ALLOW_PUSH=true and the owner confirmation phrase.

Input Schema

NameRequiredDescriptionDefault
messageYes
confirmationPhraseYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden, and it does disclose that this is a mutating remote-write operation gated by an environment flag and a confirmation phrase — useful context an agent would not otherwise have. But 'safe changes' is never defined (which files are staged, what is excluded, e.g. secrets or ignored paths), and there is no disclosure of partial-failure behavior if the commit succeeds but the push is rejected.

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?

Two front-loaded sentences with no filler: the action sequence comes first and the prerequisite second. Minor deduction for the imprecise term 'safe changes', which occupies space without conveying a checkable rule.

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?

This is a multi-step destructive operation with no annotations, no output schema, and fully undocumented parameters, so the description should do considerably more. It omits what gets staged, what the agent must supply for the confirmation phrase, and how failures mid-sequence leave the repository — all critical for an irreversible remote push.

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 description coverage is 0% and neither `message` nor `confirmationPhrase` has any documentation in the schema, so the description must compensate — and it does not. It says nothing about what the confirmation phrase must literally contain (the 'owner confirmation phrase' is never specified) or any constraint on the commit message, leaving both required parameters semantically opaque.

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 three-step verb sequence (stage, commit, push) against a named resource (the current branch), so the agent knows exactly what operation this performs. It does not differentiate from the sibling tools `commit_changes` and `push_branch`, which appear to be the individual steps of this composite, so an agent cannot tell from the description why it would pick this over those.

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 description gives a real gating prerequisite (GITHUB_MCP_ALLOW_PUSH=true plus an owner confirmation phrase), which tells the agent under what conditions the call will succeed. However, it never states when to use this composite tool versus the sibling `commit_changes` and `push_branch`, nor does it say whether the tool should be avoided when the agent only wants to commit without pushing.

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