### Multi-Company Workflow Example Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Provides an example of switching between companies and checking the status of the latest build for an app. ```text You: "Switch to ClientCorp and check their latest build status" Claude will: 1. company_switch(company: "ClientCorp") 2. apps_list(limit: 5) 3. builds_list(app_id, limit: 1) 4. builds_get_processing_state(build_id) ``` -------------------------------- ### Install asc-mcp using Mint Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Installs the asc-mcp tool using the Mint package manager and verifies the installation by checking the version. ```bash brew install mint mint install zelentsov-dev/asc-mcp@v4.1.3 ~/.mint/bin/asc-mcp --version ``` -------------------------------- ### Complete Release Workflow Example Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Illustrates the sequence of API calls to create a new app version, attach a build, set review details, and submit for review. ```text You: "Release version 2.2.0 of my app with build 456" Claude will: 1. app_versions_create(app_id, platform: "IOS", version_string: "2.2.0") 2. app_versions_attach_build(version_id, build_id) 3. app_versions_set_review_details(version_id, contact_email: "...") 4. app_versions_submit_for_review(version_id) 5. app_versions_create_phased_release(version_id) # after approval ``` -------------------------------- ### TestFlight Distribution Example Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Shows how to create a beta group, find the latest build, add testers, and set localization details for TestFlight distribution. ```text You: "Create a beta group 'External Testers' and distribute the latest build" Claude will: 1. beta_groups_create(app_id, name: "External Testers") 2. builds_list(app_id, limit: 1) # find latest 3. builds_set_beta_localization(build_id, locale: "en-US", whats_new: "...") 4. beta_groups_add_testers(group_id, tester_ids: [...]) ``` -------------------------------- ### Review Management Example Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Demonstrates how to list reviews with specific criteria (e.g., 1-star rating from the last week) and draft responses. ```text You: "Show me all 1-star reviews from the last week and draft responses" Claude will: 1. reviews_list(app_id, rating: 1, sort: "-createdDate", limit: 50) 2. reviews_create_response(review_id, response_body: "...") # for each ``` -------------------------------- ### reviews_list_for_version Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get reviews for a specific version. ```APIDOC ## reviews_list_for_version ### Description Retrieves customer reviews associated with a specific app version. ### Method GET ### Endpoint /appVersions/{id}/reviews ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version. ### Response #### Success Response (200) - **data** (array) - An array of review resource objects. - **links** (object) - Links to related resources. #### Response Example { "data": [ { "type": "customerReviews", "id": "review-id-for-version", "attributes": { "rating": 4, "title": "Good, but could be better.", "body": "The new version has some issues.", "createdDate": "2023-10-26T15:30:00Z", "userName": "UserXYZ" }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } } ], "links": { "self": "/v1/appVersions/version-id-1/reviews" } } ``` -------------------------------- ### Multiple Company Credentials Environment Variables Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Configure credentials for multiple companies using environment variables. Numbering starts at 1, and each entry requires key ID and issuer ID. ```bash export ASC_COMPANY_1_NAME="My Company" export ASC_COMPANY_1_KEY_ID=XXXXXXXXXX export ASC_COMPANY_1_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx export ASC_COMPANY_1_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8 export ASC_COMPANY_2_NAME="Client Company" export ASC_COMPANY_2_KEY_ID=YYYYYYYYYY export ASC_COMPANY_2_ISSUER_ID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy export ASC_COMPANY_2_KEY_PATH=/Users/you/.keys/AuthKey_YYYYYYYYYY.p8 ``` -------------------------------- ### iap_get_price_schedule Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get price schedule. ```APIDOC ## iap_get_price_schedule ### Description Get price schedule. ### Method GET ### Endpoint /iap/{iap_id}/price_schedule ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **price_schedule** (object) - The price schedule. ``` -------------------------------- ### iap_get Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get IAP details. ```APIDOC ## iap_get ### Description Get IAP details. ### Method GET ### Endpoint /iap/{iap_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **iap_details** (object) - Details of the IAP. ``` -------------------------------- ### app_versions_get Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get detailed version information. ```APIDOC ## app_versions_get ### Description Retrieves detailed information about a specific app version. ### Method GET ### Endpoint /appVersions/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version to retrieve. ### Response #### Success Response (200) - **data** (object) - The app version resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "appVersions", "id": "version-id-1", "attributes": { "versionString": "1.0.0", "versionStatus": "READY_FOR_SALE", "copyright": "© 2023 My App Inc." }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } }, "links": { "self": "/v1/appVersions/version-id-1" } } ``` -------------------------------- ### iap_get_review_screenshot Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get review screenshot. ```APIDOC ## iap_get_review_screenshot ### Description Get review screenshot. ### Method GET ### Endpoint /iap/{iap_id}/review_screenshot ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **screenshot_url** (string) - The URL of the review screenshot. ``` -------------------------------- ### reviews_get Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get specific review details. ```APIDOC ## reviews_get ### Description Retrieves the details of a specific customer review. ### Method GET ### Endpoint /reviews/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the review to retrieve. ### Response #### Success Response (200) - **data** (object) - The customer review resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "customerReviews", "id": "review-id-1", "attributes": { "rating": 5, "title": "Great App!", "body": "This app is fantastic and very useful.", "createdDate": "2023-10-27T10:00:00Z", "userName": "AppUser123" }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } }, "links": { "self": "/v1/reviews/review-id-1" } } ``` -------------------------------- ### iap_get_offer_code Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get an IAP offer code. ```APIDOC ## iap_get_offer_code ### Description Get an IAP offer code. ### Method GET ### Endpoint /iap/{iap_id}/offer_codes/{offer_code_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **offer_code_id** (string) - Required - The ID of the offer code. ### Response #### Success Response (200) - **offer_code_details** (object) - Details of the offer code. ``` -------------------------------- ### iap_get_promoted_purchase Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get promoted purchase state. ```APIDOC ## iap_get_promoted_purchase ### Description Get promoted purchase state. ### Method GET ### Endpoint /iap/{iap_id}/promoted_purchase ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **promoted_purchase_state** (string) - The state of the promoted purchase. ``` -------------------------------- ### reviews_get_response Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get response for a review. ```APIDOC ## reviews_get_response ### Description Retrieves the response associated with a specific customer review. ### Method GET ### Endpoint /customerReviews/{id}/response ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the review. ### Response #### Success Response (200) - **data** (object) - The customer review response resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "customerReviewResponses", "id": "response-id-1", "attributes": { "responseBody": "Thank you for your feedback!", "lastModifiedDate": "2023-10-27T11:00:00Z" }, "links": { "self": "/v1/customerReviews/review-id-1/response" } }, "links": { "self": "/v1/customerReviews/review-id-1/response" } } ``` -------------------------------- ### iap_get_version_localization Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get an IAP version localization. ```APIDOC ## iap_get_version_localization ### Description Get an IAP version localization. ### Method GET ### Endpoint /iap/{iap_id}/versions/{version_id}/localizations/{localization_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **version_id** (string) - Required - The ID of the version. - **localization_id** (string) - Required - The ID of the localization. ### Response #### Success Response (200) - **localization_details** (object) - Details of the IAP version localization. ``` -------------------------------- ### iap_get_custom_code Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get custom code details. ```APIDOC ## iap_get_custom_code ### Description Get custom code details. ### Method GET ### Endpoint /iap/{iap_id}/offer_codes/custom/{custom_code_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **custom_code_id** (string) - Required - The ID of the custom code. ### Response #### Success Response (200) - **custom_code_details** (object) - Details of the custom code. ``` -------------------------------- ### app_versions_get_phased_release Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get phased release info and ID. ```APIDOC ## app_versions_get_phased_release ### Description Retrieves information about the phased release for an app version. ### Method GET ### Endpoint /appStoreVersions/{id}/appStoreVersionPhasedRelease ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version. ### Response #### Success Response (200) - **data** (object) - The phased release resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "appStoreVersionPhasedReleases", "id": "phased-release-id", "attributes": { "phasedReleaseState": "ACTIVE", "totalRollout": 50, "currentDayNumber": 2, "totalPauseDuration": null }, "links": { "self": "/v1/appStoreVersions/version-id-1/appStoreVersionPhasedRelease" } }, "links": { "self": "/v1/appVersions/version-id-1/appStoreVersionPhasedRelease" } } ``` -------------------------------- ### iap_get_version Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get an IAP version and its review state. ```APIDOC ## iap_get_version ### Description Get an IAP version and its review state. ### Method GET ### Endpoint /iap/{iap_id}/versions/{version_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **version_id** (string) - Required - The ID of the version. ### Response #### Success Response (200) - **version_details** (object) - Details of the IAP version and its review state. ``` -------------------------------- ### iap_get_one_time_code Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get a one-time code batch. ```APIDOC ## iap_get_one_time_code ### Description Get a one-time code batch. ### Method GET ### Endpoint /iap/{iap_id}/offer_codes/one_time/{batch_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **batch_id** (string) - Required - The ID of the batch. ### Response #### Success Response (200) - **batch_details** (object) - Details of the one-time code batch. ``` -------------------------------- ### reviews_list Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get reviews with filtering and pagination. ```APIDOC ## reviews_list ### Description Retrieves a list of customer reviews for an app, with support for filtering and pagination. ### Method GET ### Endpoint /reviews ### Parameters #### Query Parameters - **filter[app]** (string) - Required - The ID of the app to filter reviews for. - **filter[reviewType]** (string) - Optional - Filter by review type (e.g., "USER_SUBMITTED", "AUTOMATED_TESTING"). - **filter[rating]** (integer) - Optional - Filter by rating (1-5). - **sort** (string) - Optional - Sort order (e.g., "-createdDate" for newest first). - **limit** (integer) - Optional - Number of results to return. - **next** (string) - Optional - Token for the next page of results. ### Response #### Success Response (200) - **data** (array) - An array of review resource objects. - **links** (object) - Links for pagination. #### Response Example { "data": [ { "type": "customerReviews", "id": "review-id-1", "attributes": { "rating": 5, "title": "Great App!", "body": "This app is fantastic and very useful.", "createdDate": "2023-10-27T10:00:00Z", "userName": "AppUser123" }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } } ], "links": { "self": "/v1/reviews?filter[app]=some-app-id&limit=10" } } ``` -------------------------------- ### iap_get_version_image_resource Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get a version-scoped IAP image resource. ```APIDOC ## iap_get_version_image_resource ### Description Get a version-scoped IAP image resource. ### Method GET ### Endpoint /iap/{iap_id}/versions/{version_id}/images/{image_resource_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **version_id** (string) - Required - The ID of the version. - **image_resource_id** (string) - Required - The ID of the image resource. ### Response #### Success Response (200) - **image_resource_details** (object) - Details of the image resource. ``` -------------------------------- ### Create configuration and key directories Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Creates necessary directories for asc-mcp configuration and API keys, and sets restrictive permissions for security. ```bash mkdir -p ~/.config/asc-mcp ~/.keys chmod 700 ~/.config/asc-mcp ~/.keys mv /path/to/downloaded/AuthKey_XXXXXXXXXX.p8 ~/.keys/ ``` -------------------------------- ### beta_groups_list_recruitment_options Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md List device families and OS versions Apple currently permits. ```APIDOC ## beta_groups_list_recruitment_options ### Description Lists the available device families and OS versions that can be used for recruitment criteria. ### Method GET ### Endpoint /betaGroups/recruitment/options ### Response #### Success Response (200) - **data** (object) - Contains lists of available options. - **deviceTypes** (array of strings) - Available device types. - **appStoreVersions** (array of strings) - Available App Store versions. - **links** (object) - Links to related resources. #### Response Example { "data": { "deviceTypes": [ "iPhone13,1", "iPhone13,2", "iPad8,1" ], "appStoreVersions": [ "15.0", "16.0", "17.0" ] }, "links": { "self": "/v1/betaGroups/recruitment/options" } } ``` -------------------------------- ### iap_get_image Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get promotional image. (Deprecated) ```APIDOC ## iap_get_image ### Description Get promotional image. This method is deprecated and will be removed in a future version. Use versioned tools instead. ### Method GET ### Endpoint /iap/{iap_id}/image/{image_id} ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **image_id** (string) - Required - The ID of the image. ### Response #### Success Response (200) - **image_url** (string) - The URL of the promotional image. ``` -------------------------------- ### beta_groups_create_recruitment_criteria Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create device-family and OS-version recruitment criteria. ```APIDOC ## beta_groups_create_recruitment_criteria ### Description Creates recruitment criteria (device family and OS version) for a beta group's public link. ### Method POST ### Endpoint /betaGroups/{id}/recruitment ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the beta group. #### Request Body - **data** (object) - Required - The beta group recruitment resource object. - **attributes** (object) - Required - The recruitment criteria. - **appStoreVersionAts** (array of strings) - Optional - List of allowed App Store versions. - **deviceTypes** (array of strings) - Optional - List of allowed device types. ### Request Example { "data": { "type": "betaGroupRecruitments", "attributes": { "appStoreVersionAts": [ "16.0", "17.0" ], "deviceTypes": [ "iPhone13,1", "iPad8,1" ] } } } ### Response #### Success Response (201) - **data** (object) - The created recruitment criteria resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "betaGroupRecruitments", "id": "new-recruitment-id", "attributes": { "appStoreVersionAts": [ "16.0", "17.0" ], "deviceTypes": [ "iPhone13,1", "iPad8,1" ] }, "links": { "self": "/v1/betaGroups/some-beta-group-id/recruitment" } }, "links": { "self": "/v1/betaGroups/some-beta-group-id/recruitment" } } ``` -------------------------------- ### iap_prepare_offer_prices Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Find price point candidates for offers. ```APIDOC ## iap_prepare_offer_prices ### Description Find price point candidates for offers. ### Method GET ### Endpoint /iap/{iap_id}/offer_prices ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **offer_prices** (array) - A list of price point candidates. ``` -------------------------------- ### app_versions_create_phased_release Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create gradual rollout. ```APIDOC ## app_versions_create_phased_release ### Description Creates a phased release (gradual rollout) for an approved app version. ### Method POST ### Endpoint /appStoreVersions/{id}/appStoreVersionPhasedReleases ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version for which to create a phased release. #### Request Body - **data** (object) - Required - The phased release resource object. - **attributes** (object) - Required - Attributes for the phased release. - **phasedReleaseState** (string) - Required - The state of the phased release (e.g., "ACTIVE", "PAUSED"). - **totalRollout** (integer) - Optional - The total percentage of rollout (0-100). ### Request Example { "data": { "type": "appStoreVersionPhasedReleases", "attributes": { "phasedReleaseState": "ACTIVE", "totalRollout": 50 } } } ### Response #### Success Response (201) - **data** (object) - The created phased release resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "appStoreVersionPhasedReleases", "id": "phased-release-id", "attributes": { "phasedReleaseState": "ACTIVE", "totalRollout": 50, "currentDayNumber": 1, "totalPauseDuration": null }, "links": { "self": "/v1/appStoreVersions/version-id-1/appStoreVersionPhasedReleases" } }, "links": { "self": "/v1/appStoreVersions/version-id-1/appStoreVersionPhasedReleases" } } ``` -------------------------------- ### app_versions_create Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create a new app version. ```APIDOC ## app_versions_create ### Description Creates a new version for an app in App Store Connect. ### Method POST ### Endpoint /appVersions ### Parameters #### Request Body - **data** (object) - Required - The app version resource object. - **attributes** (object) - Required - Attributes for the new app version. - **versionString** (string) - Required - The version number (e.g., "1.0.0"). - **platform** (string) - Required - The platform (e.g., "IOS", "MAC_OS"). - **relationships** (object) - Required - Relationships for the app version. - **app** (object) - Required - The app to which this version belongs. - **data** (object) - Required - The ID and type of the app. - **type** (string) - "apps". - **id** (string) - The ID of the app. ### Request Example { "data": { "type": "appVersions", "attributes": { "versionString": "1.2.3", "platform": "IOS" }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } } } ### Response #### Success Response (201) - **data** (object) - The created app version resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "appVersions", "id": "new-version-id", "attributes": { "versionString": "1.2.3", "platform": "IOS", "createdDate": "2023-10-27T10:00:00Z", "versionStatus": "DEVELOPMENT", "usesParentApp": false }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } }, "links": { "self": "/v1/appVersions/new-version-id" } } ``` -------------------------------- ### Secure configuration and key files Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Sets read-only permissions for the companies.json configuration file and the downloaded API key file to prevent unauthorized access. ```bash chmod 600 ~/.config/asc-mcp/companies.json chmod 600 /Users/you/.keys/AuthKey_XXXXXXXXXX.p8 ``` -------------------------------- ### iap_get_subscription_group Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get subscription group details. ```APIDOC ## iap_get_subscription_group ### Description Get subscription group details. ### Method GET ### Endpoint /subscriptions/{group_id} ### Parameters #### Path Parameters - **group_id** (string) - Required - The ID of the subscription group. ### Response #### Success Response (200) - **group_details** (object) - Details of the subscription group. ``` -------------------------------- ### iap_create Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create a new IAP. ```APIDOC ## iap_create ### Description Create a new IAP. ### Method POST ### Endpoint /iap ### Parameters #### Request Body - **app_id** (string) - Required - The ID of the app. - **iap_data** (object) - Required - The data for the new IAP. ### Response #### Success Response (200) - **iap_id** (string) - The ID of the newly created IAP. ``` -------------------------------- ### iap_pricing_summary Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Summarize current and scheduled prices. ```APIDOC ## iap_pricing_summary ### Description Summarize current and scheduled prices. ### Method GET ### Endpoint /iap/{iap_id}/pricing_summary ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. ### Response #### Success Response (200) - **pricing_summary** (object) - The pricing summary. ``` -------------------------------- ### Builds Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Tools for listing and retrieving build information. ```APIDOC ## Builds ### Description Tools for managing builds. ### Tools - `builds_list`: List builds with processing states - `builds_get`: Get detailed build information - `builds_find_by_number`: Find build by version number - `builds_list_for_version`: Get builds for specific app version ``` -------------------------------- ### beta_groups_create Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create a new beta group. ```APIDOC ## beta_groups_create ### Description Creates a new beta group for an app. ### Method POST ### Endpoint /beta_groups ### Parameters #### Request Body - **data** (object) - Required - The beta group resource object. - **attributes** (object) - Required - Attributes of the beta group. - **name** (string) - Required - The name of the beta group. - **isInternalGroup** (boolean) - Optional - Whether this is an internal group. - **hasOptIn** (boolean) - Optional - Whether testers must opt in. - **relationships** (object) - Required - Relationships for the beta group. - **app** (object) - Required - The app to which the beta group belongs. - **data** (object) - Required - The ID and type of the app. - **type** (string) - Required - "apps". - **id** (string) - Required - The ID of the app. ### Request Example { "data": { "type": "betaGroups", "attributes": { "name": "New Beta Group", "isInternalGroup": true, "hasOptIn": true }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } } } ### Response #### Success Response (201) - **data** (object) - The created beta group resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "betaGroups", "id": "new-beta-group-id", "attributes": { "name": "New Beta Group", "isInternalGroup": true, "hasOptIn": true }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } }, "links": { "self": "/v1/betaGroups/new-beta-group-id" } } ``` -------------------------------- ### beta_groups_add_builds Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Add builds to a beta group. ```APIDOC ## beta_groups_add_builds ### Description Associates one or more builds with a beta group. ### Method POST ### Endpoint /betaGroups/{id}/relationships/builds ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the beta group to add builds to. #### Request Body - **data** (array) - Required - An array of build resource objects to add. - Each object must contain: - **type** (string) - "builds". - **id** (string) - The ID of the build. ### Request Example { "data": [ { "type": "builds", "id": "build-id-1" }, { "type": "builds", "id": "build-id-2" } ] } ### Response #### Success Response (204) No content is returned on successful addition. ``` -------------------------------- ### iap_create_version Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create a reviewable IAP metadata version. ```APIDOC ## iap_create_version ### Description Create a reviewable IAP metadata version. ### Method POST ### Endpoint /iap/{iap_id}/versions ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. #### Request Body - **version_data** (object) - Required - The data for the new version. ### Response #### Success Response (200) - **version_id** (string) - The ID of the newly created version. ``` -------------------------------- ### iap_get_one_time_code_values Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get generated one-time code values. ```APIDOC ## iap_get_one_time_code_values ### Description Get generated one-time code values. ### Method GET ### Endpoint /iap/{iap_id}/offer_codes/one_time/{batch_id}/values ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **batch_id** (string) - Required - The ID of the batch. ### Response #### Success Response (200) - **code_values** (array) - A list of one-time code values. ``` -------------------------------- ### Single Company Credentials Environment Variables Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Configure credentials for a single company using environment variables. The company name and vendor number are optional. ```bash export ASC_KEY_ID=XXXXXXXXXX export ASC_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx export ASC_PRIVATE_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8 export ASC_COMPANY_NAME="My Company" # optional export ASC_VENDOR_NUMBER=YOUR_VENDOR_NUMBER # optional, analytics only ``` -------------------------------- ### iap_get_availability Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get availability by IAP or availability ID. ```APIDOC ## iap_get_availability ### Description Get availability by IAP or availability ID. ### Method GET ### Endpoint /iap/availability/{availability_id} ### Parameters #### Path Parameters - **availability_id** (string) - Required - The ID of the availability record. #### Query Parameters - **iap_id** (string) - Optional - The ID of the IAP. ### Response #### Success Response (200) - **availability_data** (object) - The availability data. ``` -------------------------------- ### app_versions_update_phased_release Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Pause/resume/complete rollout. ```APIDOC ## app_versions_update_phased_release ### Description Updates the state of a phased release, allowing pausing, resuming, or completing the rollout. ### Method PATCH ### Endpoint /appStoreVersionPhasedReleases/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the phased release to update. #### Request Body - **data** (object) - Required - The phased release resource object with updated attributes. - **attributes** (object) - Required - Attributes to update. - **phasedReleaseState** (string) - Required - The new state (e.g., "PAUSED", "COMPLETE"). ### Request Example { "data": { "type": "appStoreVersionPhasedReleases", "id": "phased-release-id", "attributes": { "phasedReleaseState": "PAUSED" } } } ### Response #### Success Response (200) - **data** (object) - The updated phased release resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "appStoreVersionPhasedReleases", "id": "phased-release-id", "attributes": { "phasedReleaseState": "PAUSED", "totalRollout": 50, "currentDayNumber": 3, "totalPauseDuration": 86400 }, "links": { "self": "/v1/appStoreVersionPhasedReleases/phased-release-id" } }, "links": { "self": "/v1/appStoreVersionPhasedReleases/phased-release-id" } } ``` -------------------------------- ### iap_get_version_image Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get the singular image related to an IAP version. ```APIDOC ## iap_get_version_image ### Description Get the singular image related to an IAP version. ### Method GET ### Endpoint /iap/{iap_id}/versions/{version_id}/image ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. - **version_id** (string) - Required - The ID of the version. ### Response #### Success Response (200) - **image_url** (string) - The URL of the version image. ``` -------------------------------- ### beta_groups_check_recruitment_compatibility Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Check whether a group has a build compatible with its criteria. ```APIDOC ## beta_groups_check_recruitment_compatibility ### Description Checks if a specific build is compatible with the recruitment criteria of a beta group. ### Method POST ### Endpoint /betaGroups/{id}/relationships/builds/compatibility ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the beta group. #### Request Body - **data** (object) - Required - Contains the build to check. - **type** (string) - "builds". - **id** (string) - The ID of the build. ### Request Example { "data": { "type": "builds", "id": "build-id-to-check" } } ### Response #### Success Response (200) - **data** (object) - Contains the compatibility status. - **attributes** (object) - **compatibleBuilds** (boolean) - True if the build is compatible, false otherwise. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "betaGroupBuildsCompatibility", "attributes": { "compatibleBuilds": true } }, "links": { "self": "/v1/betaGroups/some-beta-group-id/relationships/builds/compatibility" } } ``` -------------------------------- ### beta_groups_get_recruitment_criteria Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Get the public-link recruitment criteria attached to a beta group. ```APIDOC ## beta_groups_get_recruitment_criteria ### Description Retrieves the recruitment criteria associated with a beta group's public link. ### Method GET ### Endpoint /betaGroups/{id}/recruitment ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the beta group. ### Response #### Success Response (200) - **data** (object) - The recruitment criteria resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "betaGroupRecruitments", "id": "recruitment-id", "attributes": { "appStoreVersionAts": [ "16.0" ], "deviceTypes": [ "iPhone13,1" ] }, "links": { "self": "/v1/betaGroups/some-beta-group-id/recruitment" } }, "links": { "self": "/v1/betaGroups/some-beta-group-id/recruitment" } } ``` -------------------------------- ### Download and Validate OpenAPI Specification Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md This snippet downloads the OpenAPI specification, extracts the relevant JSON file, and then uses the openapi-contract-check command to validate it against the manifest. The --strict flag enforces adherence to the contract. ```bash rm -rf /tmp/asc-openapi mkdir -p /tmp/asc-openapi curl -L --fail -o /tmp/asc-openapi/spec.zip \ https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip spec_entry="$(unzip -Z1 /tmp/asc-openapi/spec.zip | grep -E '(^|/)openapi\.oas[^/]*\.json$')" test "$(echo "$spec_entry" | grep -c .)" -eq 1 unzip -p /tmp/asc-openapi/spec.zip "$spec_entry" > /tmp/asc-openapi/openapi.oas.json swift run asc-mcp openapi-contract-check \ --spec /tmp/asc-openapi/openapi.oas.json \ --json-output /tmp/asc-openapi/operation-contract.json \ --markdown-output /tmp/asc-openapi/operation-contract.md \ --strict ``` -------------------------------- ### iap_create_offer_code Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create an IAP offer code. ```APIDOC ## iap_create_offer_code ### Description Create an IAP offer code. ### Method POST ### Endpoint /iap/{iap_id}/offer_codes ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. #### Request Body - **offer_code_data** (object) - Required - The data for the new offer code. ### Response #### Success Response (200) - **offer_code_id** (string) - The ID of the newly created offer code. ``` -------------------------------- ### app_versions_attach_build Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Attach build to version. ```APIDOC ## app_versions_attach_build ### Description Associates a build with an app version. ### Method POST ### Endpoint /appVersions/{id}/relationships/build ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version. #### Request Body - **data** (object) - Required - The build resource object to associate. - **type** (string) - "builds". - **id** (string) - The ID of the build. ### Request Example { "data": { "type": "builds", "id": "build-id-123" } } ### Response #### Success Response (204) No content is returned on successful attachment. ``` -------------------------------- ### iap_create_custom_code Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Create a custom offer code. ```APIDOC ## iap_create_custom_code ### Description Create a custom offer code. ### Method POST ### Endpoint /iap/{iap_id}/offer_codes/custom ### Parameters #### Path Parameters - **iap_id** (string) - Required - The ID of the IAP. #### Request Body - **custom_code_data** (object) - Required - The data for the custom offer code. ### Response #### Success Response (200) - **custom_code_id** (string) - The ID of the newly created custom offer code. ``` -------------------------------- ### Xcode Cloud Build Runs Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Tools for managing Xcode Cloud build runs, including retrieval, starting/rebuilding, and listing associated actions and App Store Connect builds. ```APIDOC ## Xcode Cloud Build Runs ### Description Tools for managing Xcode Cloud build runs. ### Tools - `xcode_cloud_build_runs_get`: Get a build run - `xcode_cloud_build_runs_start`: Start or rebuild an Xcode Cloud build - `xcode_cloud_build_run_actions_list`: List build actions for a run - `xcode_cloud_build_run_builds_list`: List App Store Connect builds created by a run ``` -------------------------------- ### reviews_create_response Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Respond to a customer review. ```APIDOC ## reviews_create_response ### Description Creates a response to a specific customer review. ### Method POST ### Endpoint /customerReviews/{id}/response ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the review to respond to. #### Request Body - **data** (object) - Required - The review response resource object. - **attributes** (object) - Required - The content of the response. - **responseBody** (string) - Required - The text of the response. ### Request Example { "data": { "type": "customerReviewResponses", "attributes": { "responseBody": "Thank you for your feedback! We are working on improving this feature." } } } ### Response #### Success Response (201) - **data** (object) - The created review response resource object. - **links** (object) - Links to related resources. #### Response Example { "data": { "type": "customerReviewResponses", "id": "response-id-1", "attributes": { "responseBody": "Thank you for your feedback! We are working on improving this feature.", "lastModifiedDate": "2023-10-27T11:00:00Z" }, "links": { "self": "/v1/customerReviews/review-id-1/response" } }, "links": { "self": "/v1/customerReviews/review-id-1/response" } } ``` -------------------------------- ### app_versions_list Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md List versions with state filtering. ```APIDOC ## app_versions_list ### Description Lists app versions, with options to filter by their state. ### Method GET ### Endpoint /appVersions ### Parameters #### Query Parameters - **filter[app]** (string) - Required - The ID of the app to filter versions for. - **filter[versionState]** (string) - Optional - Filter by version state (e.g., "DEVELOPMENT", "READY_FOR_SALE"). ### Response #### Success Response (200) - **data** (array) - An array of app version resource objects. - **links** (object) - Links to related resources. #### Response Example { "data": [ { "type": "appVersions", "id": "version-id-1", "attributes": { "versionString": "1.0.0", "versionStatus": "READY_FOR_SALE" }, "relationships": { "app": { "data": { "type": "apps", "id": "some-app-id" } } } } ], "links": { "self": "/v1/appVersions?filter[app]=some-app-id" } } ``` -------------------------------- ### app_versions_submit_for_review Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Submit for App Store review. ```APIDOC ## app_versions_submit_for_review ### Description Submits an app version for App Store review. ### Method POST ### Endpoint /appVersions/{id}/submitForReview ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the app version to submit. ### Response #### Success Response (204) No content is returned on successful submission. ``` -------------------------------- ### Xcode Cloud Products Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Tools for managing Xcode Cloud products, including listing, retrieving, and deleting them, as well as managing associated apps and repositories. ```APIDOC ## Xcode Cloud Products ### Description Tools for managing Xcode Cloud products. ### Tools - `xcode_cloud_products_list`: List Xcode Cloud products - `xcode_cloud_products_get`: Get an Xcode Cloud product - `xcode_cloud_products_delete`: Preview or permanently delete an Xcode Cloud product with confirmation safeguards - `xcode_cloud_app_product_get`: Get the Xcode Cloud product associated with an app - `xcode_cloud_product_app_get`: Get the app associated with an Xcode Cloud product - `xcode_cloud_product_primary_repositories_list`: List primary repositories attached to a product - `xcode_cloud_product_additional_repositories_list`: List additional repositories attached to a product - `xcode_cloud_product_workflows_list`: List workflows for a product - `xcode_cloud_product_build_runs_list`: List build runs for a product ``` -------------------------------- ### Run asc-mcp in Read-Only Mode Source: https://github.com/zelentsov-dev/asc-mcp/blob/main/README.md Use the --read-only flag to inspect App Store Connect without making mutations. This mode allows read operations while blocking mutating actions. ```bash asc-mcp --read-only asc-mcp --read-only --workers apps,builds,reviews,analytics ```