Skip to main content
Glama

Git status

git_status
Read-only

Retrieve the git status of a workspace, showing the current branch and changed files, or a clean tree message, without using a shell.

Instructions

Read-only git status of the workspace: runs 'git status --porcelain=v1 -b' without a shell (LC_ALL=C, 10 s timeout) and returns a 'branch: ...' header followed by the porcelain lines exactly as git prints them. A clean tree reports 'working tree clean'. A directory that is not a git repository or a missing git binary is reported as a clear error. No --shell flag is needed for this tool.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
workspaceNoWorkspace name (see workspace_list). Defaults to the primary workspace.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.5.0

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the readOnlyHint annotation by disclosing the exact command, environment settings (LC_ALL=C), timeout (10 s), output format ('branch: ...' header plus porcelain lines), clean-tree behavior, and error handling for non-repository directories or missing git binaries. This is rich behavioral context that helps an agent anticipate results and failure modes.

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?

The description is information-dense but every sentence contributes: command specification, environment and timeout, output format, clean-tree behavior, error handling, and a usage note. Key details are front-loaded with 'Read-only git status' and the command, followed by supporting behavior details. No filler is present.

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

Completeness5/5

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

For a simple read-only tool with one optional parameter and no output schema, the description covers everything an agent needs: input, command behavior, output format, edge cases, and error reporting. There are no significant gaps in context for correct invocation and interpretation.

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

Parameters3/5

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

The single parameter 'workspace' is fully described in the input schema, including its default behavior, so schema coverage is 100%. The tool description itself does not need to add parameter semantics. Baseline 3 is appropriate because the schema already carries the necessary meaning.

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 ('git status'), the exact command form ('git status --porcelain=v1 -b'), and explicitly marks it as read-only, distinguishing it from mutation tools in the sibling list. It also clarifies what the tool does not do (no shell, no --shell flag). This makes the tool's identity unambiguous.

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?

The description clearly establishes when to use the tool: to obtain the git status of a workspace. It also provides practical usage context such as not needing a --shell flag and how clean trees and error cases are reported. It does not explicitly contrast with siblings like git_diff, but the scoped purpose is strong enough to guide selection.

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