list_branches
List all local and remote branches in a git repository and show the current branch.
Instructions
List all local and remote branches, plus the current one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | Yes |
List all local and remote branches in a git repository and show the current branch.
List all local and remote branches, plus the current one.
| Name | Required | Description | Default |
|---|---|---|---|
| repo_path | Yes |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently states that the tool lists all local and remote branches and highlights the current one, which implies a read-only operation. However, it does not explicitly disclose that it makes no changes, nor does it mention permissions or rate limits. For a simple list operation, this is adequate but lacking in depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the action and resource, and contains no wasted words. It efficiently conveys the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple tool with one parameter and no output schema. The description sufficiently conveys what the tool does and what it returns (a list of branches). It does not explain the output format, but given the simplicity, the description is complete enough for an agent to understand its behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% (the only parameter 'repo_path' has no description in the schema), and the tool description does not elaborate on this parameter. While the parameter name is somewhat self-explanatory, the description fails to compensate for the missing schema documentation by not specifying the expected format or meaning of 'repo_path'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('List'), resource ('branches'), and scope ('all local and remote branches, plus the current one'). This distinguishes it from sibling tools like list_pull_requests or get_status. The mention of 'current one' adds useful specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied by the tool's purpose: an agent would call this when needing to view available branches. However, there is no explicit guidance about when to use this tool versus alternatives such as checkout_branch or compare_branches, nor any exclusions outlined. This meets the baseline for implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NityaShukla25/github-ops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server