list_app_store_versions
Retrieve all published versions of an app from App Store Connect by specifying an app ID, with optional filters for platform, version string, and release status.
Instructions
Get all app store versions for a specific app
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | The ID of the app | |
| limit | No | Maximum number of versions to return (default: 100) | |
| filter | No | Optional filters for app store versions |
Implementation Reference
- src/handlers/localizations.ts:16-50 (handler)The core handler function that implements the list_app_store_versions tool logic, querying the App Store Connect API for app store versions with filtering and pagination.async listAppStoreVersions(args: { appId: string; limit?: number; filter?: { platform?: string; versionString?: string; appStoreState?: string; }; }): Promise<ListAppStoreVersionsResponse> { const { appId, limit = 100, filter } = args; validateRequired(args, ['appId']); const params: Record<string, any> = { limit: sanitizeLimit(limit), 'filter[app]': appId }; if (filter?.platform) { params['filter[platform]'] = filter.platform; } if (filter?.versionString) { params['filter[versionString]'] = filter.versionString; } if (filter?.appStoreState) { params['filter[appStoreState]'] = filter.appStoreState; } return this.client.get<ListAppStoreVersionsResponse>( '/appStoreVersions', params ); }
- src/index.ts:350-405 (schema)Input schema definition for the list_app_store_versions tool, including parameters, descriptions, validation rules, and filters.name: "list_app_store_versions", description: "Get all app store versions for a specific app", inputSchema: { type: "object", properties: { appId: { type: "string", description: "The ID of the app" }, limit: { type: "number", description: "Maximum number of versions to return (default: 100)", minimum: 1, maximum: 200 }, filter: { type: "object", properties: { platform: { type: "string", description: "Filter by platform (IOS, MAC_OS, TV_OS)", enum: ["IOS", "MAC_OS", "TV_OS"] }, versionString: { type: "string", description: "Filter by version string (e.g., '1.0.0')" }, appStoreState: { type: "string", description: "Filter by app store state", enum: [ "DEVELOPER_REMOVED_FROM_SALE", "DEVELOPER_REJECTED", "IN_REVIEW", "INVALID_BINARY", "METADATA_REJECTED", "PENDING_APPLE_RELEASE", "PENDING_CONTRACT", "PENDING_DEVELOPER_RELEASE", "PREPARE_FOR_SUBMISSION", "PREORDER_READY_FOR_SALE", "PROCESSING_FOR_APP_STORE", "READY_FOR_SALE", "REJECTED", "REMOVED_FROM_SALE", "WAITING_FOR_EXPORT_COMPLIANCE", "WAITING_FOR_REVIEW", "REPLACED_WITH_NEW_VERSION" ] } }, description: "Optional filters for app store versions" } }, required: ["appId"] }
- src/index.ts:1351-1352 (registration)Tool registration in the MCP server's CallToolRequestHandler switch statement, dispatching calls to the handler method.case "list_app_store_versions": return { toolResult: await this.localizationHandlers.listAppStoreVersions(args as any) };
- src/types/localizations.ts:99-111 (schema)TypeScript interface defining the response structure for ListAppStoreVersions API calls.export interface ListAppStoreVersionsResponse { data: AppStoreVersion[]; links?: { self: string; next?: string; }; meta?: { paging: { total: number; limit: number; }; }; }