Skip to main content
Glama

Git Stash

git_stash

Save uncommitted changes temporarily to switch branches, then restore via pop/apply, list existing stashes, or remove entries with drop/clear.

Instructions

Manage stashes: list stashes, save current changes (push), restore changes (pop/apply), or remove stashes (drop/clear).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoPath to the Git repository. Defaults to session working directory set via git_set_working_dir..
modeNoThe stash operation to perform. Defaults to push (save current changes).push
messageNoStash message description (for push operation).
stashRefNoStash reference like stash@{0} (for pop/apply/drop operations).
includeUntrackedNoInclude untracked files in the stash (for push operation).
keepIndexNoDon't revert staged changes (for push operation).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
successYesIndicates if the operation was successful.
modeYesOperation mode that was performed.
stashesNoList of stashes (for list mode).
createdNoCreated stash reference (for push mode).
appliedNoApplied stash reference (for pop/apply mode).
droppedNoDropped stash reference (for drop mode).
conflictsNoWhether operation had conflicts.
Behavior3/5

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

The description confirms mutability ('save', 'remove') consistent with readOnlyHint:false, but fails to disclose that 'drop' and 'clear' are destructive/irreversible, or that 'pop' removes the stash while 'apply' preserves it. Additional behavioral traits like conflict handling are absent.

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?

Single, dense sentence efficiently conveys all primary operations without redundancy. Well-structured with the high-level action 'Manage stashes' front-loaded, followed by colon-separated specific capabilities.

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?

Sufficient given the rich schema (100% coverage) and presence of an output schema, but lacks important warnings about destructive operations (drop/clear) and nuanced distinctions between similar modes (pop vs apply) that would help an agent avoid data loss.

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

Parameters4/5

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

With 100% schema coverage, the baseline is 3. The description elevates this by conceptually grouping the six mode enum values into four user-intent categories (list/save/restore/remove), which helps agents understand the purpose of the mode parameter beyond the technical schema definition.

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 states a specific verb ('Manage') and resource ('stashes'), then enumerates exact capabilities (list, save, restore, remove). It clearly distinguishes from sibling tools by focusing exclusively on stash operations rather than branching, committing, or other git workflows.

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?

While it maps operation modes to concepts (save/restore/remove), it lacks explicit guidance on when to use 'pop' versus 'apply', or when stashing is preferable to committing or resetting. No prerequisites (e.g., requiring uncommitted changes for push) are mentioned.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cyanheads/git-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server