list_apps
Retrieve a list of all apps in your App Store Connect account, including app ID, name, bundle ID, and SKU.
Instructions
List all apps in your App Store Connect account. Returns app ID, name, bundle ID, and SKU.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of apps to return (default: 50) |
Implementation Reference
- src/tools/list-apps.ts:14-26 (handler)The main handler function for the list_apps tool. Calls the API helper and maps the response to a simplified format (id, name, bundleId, sku, primaryLocale).
export async function handleListApps( client: AppStoreConnectClient, args: z.infer<typeof listAppsSchema> ) { const apps = await listApps(client, { limit: args.limit }); return apps.map((app) => ({ id: app.id, name: app.attributes.name, bundleId: app.attributes.bundleId, sku: app.attributes.sku, primaryLocale: app.attributes.primaryLocale, })); } - src/tools/list-apps.ts:5-12 (schema)Zod schema for list_apps input validation. Accepts an optional 'limit' parameter (1-200, default 50).
export const listAppsSchema = z.object({ limit: z .number() .min(1) .max(200) .optional() .describe("Maximum number of apps to return (default: 50)"), }); - src/index.ts:40-50 (registration)Registration of the 'list_apps' tool on the MCP server with its schema, description, and handler callback.
server.tool( "list_apps", "List all apps in your App Store Connect account. Returns app ID, name, bundle ID, and SKU.", listAppsSchema.shape, async (args) => { const result = await handleListApps(client, args); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], }; } ); - src/api/apps.ts:4-15 (helper)API helper function that calls the App Store Connect API endpoint /apps with pagination support via client.requestAll, requesting name, bundleId, sku, primaryLocale fields.
export async function listApps( client: AppStoreConnectClient, options?: { limit?: number } ): Promise<App[]> { const params: Record<string, string> = { "fields[apps]": "name,bundleId,sku,primaryLocale", limit: String(options?.limit ?? 50), }; const response = await client.requestAll<App>("/apps", params); return response.data; } - src/api/types.ts:30-40 (helper)TypeScript type definitions: AppAttributes (name, bundleId, sku, primaryLocale) and the App interface used by the list_apps tool.
export interface AppAttributes { name: string; bundleId: string; sku: string; primaryLocale: string; } export interface App extends JsonApiResource { type: "apps"; attributes: AppAttributes; }