Skip to main content
Glama
SmartBear MCP server

SmartBear MCP server

Official
by SmartBear

Contract Testing: List Branches

contract-testing_list_branches
Read-onlyIdempotent

Retrieve all branches for a Pact participant, with optional name filtering and pagination, to inspect branch data used in contract testing.

Instructions

Retrieve all branches for a given pacticipant, with optional filtering and pagination.

Toolset: Branches and Versions

Parameters:

  • pacticipantName (string) required: Name of the pacticipant

  • q (string): Filter branches by name

  • pageNumber (number): Page number (default: 1)

  • pageSize (number): Results per page (default: 5)

Input Schema

NameRequiredDescriptionDefault
qNoFilter branches by name
pageSizeNoResults per page
pageNumberNoPage number
pacticipantNameYesName of the pacticipant

Output Schema

NameRequiredDescriptionDefault
pageNo
_linksNo
_embeddedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.43.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$defs": {
      +    "Branch": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "_links": {
      +          "additionalProperties": {},
      +          "properties": {
      +            "pb:latest-version": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            },
      +            "self": {
      +              "$ref": "#/$defs/EmbeddedLink"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        "createdAt": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "EmbeddedLink": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "href": {
      +          "type": "string"
      +        },
      +        "name": {
      +          "type": "string"
      +        },
      +        "templated": {
      +          "type": "boolean"
      +        },
      +        "title": {
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "Page": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "number": {
      +          "type": "number"
      +        },
      +        "size": {
      +          "type": "number"
      +        },
      +        "totalElements": {
      +          "type": "number"
      +        },
      +        "totalPages": {
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "$schema": "https://json-schema.org/draft/2020-12/schema",
      +  "additionalProperties": {},
      +  "properties": {
      +    "_embedded": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "branches": {
      +          "items": {
      +            "$ref": "#/$defs/Branch"
      +          },
      +          "type": "array"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "_links": {
      +      "additionalProperties": {},
      +      "properties": {
      +        "next": {
      +          "$ref": "#/$defs/EmbeddedLink"
      +        },
      +        "pb:branches": {
      +          "items": {
      +            "$ref": "#/$defs/EmbeddedLink"
      +          },
      +          "type": "array"
      +        },
      +        "previous": {
      +          "$ref": "#/$defs/EmbeddedLink"
      +        },
      +        "self": {
      +          "$ref": "#/$defs/EmbeddedLink"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "page": {
      +      "$ref": "#/$defs/Page"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Addedv0.40.0
  3. Removedv0.34.0
  4. First observedv0.27.1

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and a closed world, so the safety profile is fully covered and the description does not contradict it. What the description adds is limited to the existence of optional filtering and pagination, and it says nothing about ordering, maximum page size, or total-count behavior. That is a modest contribution on top of structured fields rather than rich behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The opening sentence is well front-loaded and captures purpose, scope, and capabilities in one line. However, the subsequent toolset label and per-parameter block duplicate what the schema already provides at 100% coverage, so a meaningful share of the text does not earn its place.

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?

With an output schema present and annotations covering safety and idempotency, the description need not explain return values, and it supplies enough to call the tool correctly. It stops short of completeness for a paginated list endpoint because it omits practical details such as default/maximum page size behavior and whether results are sorted.

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?

Schema description coverage is 100%, so the baseline is 3, and the description's parameter list reproduces the schema descriptions verbatim ('Filter branches by name', 'Page number', 'Results per page') without adding nuance. It does flag pacticipantName as required, but that is already in the schema's required array. No new meaning is contributed.

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 verb and resource ('Retrieve all branches') plus the required scope ('for a given pacticipant'), which distinguishes it from the singular contract-testing_get_branch and from contract-testing_get_branch_versions. It does not explicitly name or route against those siblings, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance: nothing says when to prefer this over contract-testing_get_branch or contract-testing_get_branch_versions, and no prerequisites (auth, team scope) are mentioned. The only hint is the phrase 'for a given pacticipant', which is implicit context rather than guidance.

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

Deploy Server

Other Tools