list_beta_groups
Retrieve all internal and external beta testing groups for iOS/macOS apps to manage testers and distribution through App Store Connect.
Instructions
Get a list of all beta groups (internal and external)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of groups to return (default: 100) |
Implementation Reference
- src/handlers/beta.ts:21-28 (handler)The main handler function that executes the tool logic by querying the App Store Connect API for beta groups.async listBetaGroups(args: { limit?: number } = {}): Promise<ListBetaGroupsResponse> { const { limit = 100 } = args; return this.client.get<ListBetaGroupsResponse>('/betaGroups', { limit: sanitizeLimit(limit), include: 'app,betaTesters' }); }
- src/index.ts:1322-1324 (registration)Registers the tool call handler in the MCP server's switch statement, dispatching to BetaHandlers.listBetaGroups.case "list_beta_groups": return { toolResult: await this.betaHandlers.listBetaGroups(args as any) };
- src/index.ts:134-147 (registration)Tool registration including name, description, and input schema definition returned in listTools.{ name: "list_beta_groups", description: "Get a list of all beta groups (internal and external)", inputSchema: { type: "object", properties: { limit: { type: "number", description: "Maximum number of groups to return (default: 100)", minimum: 1, maximum: 200 } } }
- src/types/beta.ts:1-32 (schema)TypeScript interfaces defining the BetaGroup structure and ListBetaGroupsResponse used for type safety in handler and responses.export interface BetaGroup { id: string; type: string; attributes: { name: string; isInternalGroup: boolean; publicLinkEnabled: boolean; publicLinkId?: string; publicLinkLimit?: number; createdDate: string; }; } export interface BetaTester { id: string; type: string; attributes: { firstName: string; lastName: string; email: string; inviteType: string; betaGroups?: BetaGroup[]; }; } export interface ListBetaGroupsResponse { data: BetaGroup[]; } export interface ListBetaTestersResponse { data: BetaTester[]; }