Skip to main content
Glama

list_branches

Read-onlyIdempotent

Fetch branches for a named Odoo.sh project, including each branch's stage. Use the limit parameter to control how many are returned.

Instructions

List the branches of a project, given by its name, with the stage each sits in.

Returns: the branches, each with its name and stage, and truncated, true when there are more. Touches: reads only Bounds: two requests to Odoo.sh; limit items, 50 by default and 200 at most.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNo
projectYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
branchesYes
truncatedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description goes well beyond them with cost bounds ('two requests to Odoo.sh') and a hard result cap ('200 at most'), which the schema does not state. It also discloses truncation behavior, giving the agent real operational context.

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?

Four short labeled sentences (Returns/Touches/Bounds) with the purpose front-loaded and zero filler; every clause carries information an agent can act on.

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

Completeness4/5

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

For a read-only list tool with an output schema, the description covers purpose, input semantics, cost bounds and truncation, which is nearly everything needed. It omits only edge behavior such as what happens when the project name does not match.

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?

Schema description coverage is 0%, so the description must compensate, and it does: it clarifies that 'project' is given by name and that 'limit' defaults to 50 with a 200 maximum (the max is absent from the schema). It stops short of format/case details for the project name, so not a full 5.

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 (List) and resource (the branches of a project) plus scope (with the stage each sits in), which cleanly separates it from siblings like list_projects and list_builds even though they are not named.

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?

Usage is only implied: it tells the caller a project name is required, which suggests use when you know the project, but there is no explicit when-to-use, when-not, or alternative routing. Since no sibling lists branches, the routing risk is low, keeping this at a minimum-viable 3.

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