list_workflows
Retrieve all App Store Connect CI/CD workflows with associated apps and filtering options for iOS, macOS, tvOS, and visionOS development.
Instructions
List all App Store Connect workflows (CI products) and their associated apps
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of workflows to return (default: 100, max: 200) | |
| sort | No | Sort order for the results | |
| filter | No | ||
| include | No | Related resources to include in the response | |
| fields | No |
Implementation Reference
- src/handlers/workflows.ts:34-61 (handler)The handler function listWorkflows that executes the core logic: constructs API parameters and calls the AppStoreConnectClient to fetch CI products (workflows).async listWorkflows(args: { limit?: number; sort?: CiProductSortOptions; filter?: CiProductFilters; fields?: { ciProducts?: CiProductFieldOptions[]; }; include?: CiProductIncludeOptions[]; } = {}): Promise<CiProductsResponse> { const { limit = 100, sort, filter, fields, include } = args; const params: Record<string, any> = { limit: sanitizeLimit(limit) }; if (sort) { params.sort = sort; } if (include?.length) { params.include = include.join(','); } Object.assign(params, buildFilterParams(filter)); Object.assign(params, buildFieldParams(fields)); return this.client.get<CiProductsResponse>('/ciProducts', params); }
- src/index.ts:852-901 (schema)Input schema definition for the list_workflows tool, used in ListTools response and validation.name: "list_workflows", description: "List all App Store Connect workflows (CI products) and their associated apps", inputSchema: { type: "object", properties: { limit: { type: "number", description: "Maximum number of workflows to return (default: 100, max: 200)", minimum: 1, maximum: 200 }, sort: { type: "string", description: "Sort order for the results", enum: ["name", "-name", "productType", "-productType"] }, filter: { type: "object", properties: { productType: { type: "string", description: "Filter by product type", enum: ["IOS", "MAC_OS", "TV_OS", "VISION_OS"] } } }, include: { type: "array", items: { type: "string", enum: ["app", "bundleId", "primaryRepositories"] }, description: "Related resources to include in the response" }, fields: { type: "object", properties: { ciProducts: { type: "array", items: { type: "string", enum: ["name", "productType"] }, description: "Fields to include for each workflow" } } } } } },
- src/index.ts:1423-1425 (registration)Tool registration in the MCP CallToolRequest handler switch statement, dispatching to the workflowHandlers.listWorkflows method.case "list_workflows": const workflowsData = await this.workflowHandlers.listWorkflows(args as any); return formatResponse(workflowsData);
- src/types/workflows.ts:32-50 (schema)TypeScript type definitions for the response (CiProductsResponse) and input parameters used by the handler.export interface CiProductsResponse { data: CiProduct[]; included?: Array<{ id: string; type: "apps" | "bundleIds" | "scmRepositories"; attributes: any; }>; links?: { self: string; first?: string; next?: string; }; meta?: { paging: { total: number; limit: number; }; }; }