Skip to main content
Glama
chrischall

App Store Connect MCP

by chrischall

list_beta_groups

Read-only

List TestFlight beta groups from App Store Connect; filter by app ID or internal/external type to manage beta testers and test groups.

Instructions

List TestFlight beta groups (internal and external). Filter by app or group type.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appIdNoFilter to beta groups for a single app ID
limitNoMax groups (default 50). With auto_paginate this is the total across pages.
auto_paginateNoFollow links.next across pages until the limit is reached (default false).
isInternalGroupNotrue = internal-only, false = external

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.2.1

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, establishing this as a safe, non-mutating read against live TestFlight data, so the description carries a lighter burden. It adds only the internal/external scope, and says nothing about pagination or result size behavior (which lives in the schema) or any rate limits on the App Store Connect API.

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?

Two short sentences, ~90 characters total, with the resource and scope front-loaded and the filtering capability second. No filler, no restatement of the tool name.

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 simple read-only list endpoint with full parameter documentation and safety annotations, the description covers what the tool returns at a conceptual level (beta groups, both types). It does not need to explain return values since no output schema is needed for a list call, though it could note that an empty result is possible when filters match nothing.

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 all four parameters (appId, limit, auto_paginate, isInternalGroup) are already documented with real semantics, including default page size and pagination interaction. The description's 'filter by app or group type' merely restates the appId/isInternalGroup axes without adding format or edge-case detail, so the baseline 3 applies.

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 ('List TestFlight beta groups') and even scopes it to internal and external variants, which is enough for an agent to separate it from sibling tools like list_beta_testers or add_testers_to_beta_group. It stops short of explicitly naming those siblings, so it lands at 4 rather than 5.

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?

'Filter by app or group type' implies when you'd reach for this tool (scoped queries), and the internal/external parenthetical hints at segmentation. But there is no explicit when-to-use clause, no statement of prerequisites, and no named alternative — usage is only inferred.

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