Appstoreconnect Mcp

278 tools. 147 can modify or destroy data without limits.

43 destructive tools with no built-in limits. Policy required.

Last updated:

147 can modify or destroy data
131 read-only
278 tools total

Community server · catalogue entry checked 09/07/2026

How to control Appstoreconnect Mcp ↓

What Appstoreconnect Mcp exposes to your agents

Read (131) Write / Execute (104) Destructive / Financial (43)
Critical Risk

The most dangerous Appstoreconnect Mcp tools

147 of Appstoreconnect Mcp's 278 tools can modify, destroy, or commit something on every call — and an agent calls them with no built-in limits.

How to control Appstoreconnect Mcp

PolicyLayer is an MCP gateway — it sits between your AI agents and Appstoreconnect Mcp, and nothing reaches the server without passing your rules. These are the rules we recommend:

Block financial tools by default
{
  "asc_post_subscription_price": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Requires human approval."
      }
    ]
  }
}

Financial tools should be explicitly enabled per use case, not open by default.

Deny destructive operations
{
  "asc_delete_accessibility_declaration": {
    "deny_if": [
      {
        "conditions": [],
        "on_deny": "Blocked by default. Requires approval."
      }
    ]
  }
}

Destructive tools should never be available to autonomous agents without human approval.

Rate limit write operations
{
  "asc_add_beta_group_builds": {
    "limits": [
      {
        "counter": "asc_add_beta_group_builds_per_hour",
        "window": "hour",
        "max": 30,
        "scope": "grant"
      }
    ]
  }
}

Prevents bulk unintended modifications from agents caught in loops.

Cap read operations
{
  "asc_download_analytics_report_segment": {
    "limits": [
      {
        "counter": "asc_download_analytics_report_segment_per_minute",
        "window": "minute",
        "max": 60,
        "scope": "grant"
      }
    ]
  }
}

Controls API costs and prevents retry loops from exhausting upstream rate limits.

  1. Create a free account and register Appstoreconnect Mcp — nothing to install.
  2. Add these rules — paste them, or build them visually. Tune the limits to your setup.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
ENFORCE POLICY ON APPSTORECONNECT →

Instant setup, no code required.

All 278 Appstoreconnect Mcp tools

DESTRUCTIVE 42 tools
Destructive asc_delete_accessibility_declaration DELETE /v1/accessibilityDeclarations/{id} — remove a DRAFT declaration. Published declarations are superseded Destructive asc_delete_alternative_distribution_domain ⚠️ DELETE /v1/alternativeDistributionDomains/{id} — apps distributed from this domain stop being installable f Destructive asc_delete_alternative_distribution_key ⚠️ DELETE /v1/alternativeDistributionKeys/{id} — artifacts signed against this key stop validating. Confirm in Destructive asc_delete_analytics_report_request DELETE /v1/analyticsReportRequests/{id} — stop report generation for this request and drop access to its repor Destructive asc_delete_app_custom_product_page DELETE an AppCustomProductPage. Removes the page + every version + every localization + every asset set under Destructive asc_delete_app_custom_product_page_localization DELETE an AppCustomProductPageLocalization. Customers in this locale fall back to the parent AppStoreVersionLo Destructive asc_delete_app_custom_product_page_version DELETE an AppCustomProductPageVersion. Removes every localization + asset set under it. Apple gates this — ver Destructive asc_delete_app_event DELETE an AppEvent. Removes the event + every localization + every asset. Apple may refuse if the event is PUB Destructive asc_delete_app_event_localization DELETE an AppEventLocalization. Removes the per-locale copy + every event screenshot + video clip under it. Cu Destructive asc_delete_app_event_screenshot DELETE an AppEventScreenshot. Removes the asset under its slot; if the slot goes empty Apple may reject the ev Destructive asc_delete_app_event_video_clip DELETE an AppEventVideoClip. Removes the video asset; if both screenshot + video slot are emptied, Apple may r Destructive asc_delete_app_info_localization DELETE an AppInfoLocalization. The locale-specific app-level copy is removed (subtitle, privacy URLs, etc.). C Destructive asc_delete_app_preview DELETE an AppPreview. Removes the video asset + its slot in the set; if all previews are removed the parent lo Destructive asc_delete_app_preview_set DELETE an AppPreviewSet. All AppPreview resources under the set are removed as well. Destructive asc_delete_app_screenshot DELETE an AppScreenshot. Removes the asset + its slot in the set; if the set goes empty the parent localizatio Destructive asc_delete_app_screenshot_set DELETE an AppScreenshotSet. All AppScreenshot resources under the set are removed as well. Use when retiring a Destructive asc_delete_app_store_version DELETE an App Store version. Allowed only when the version is in an editable state (PREPARE_FOR_SUBMISSION, _R Destructive asc_delete_app_store_version_localization DELETE an AppStoreVersionLocalization. The locale is removed for this version; users in that locale fall back Destructive asc_delete_app_store_version_phased_release DELETE an AppStoreVersionPhasedRelease — cancels the staged rollout and reverts the version to standard immedi Destructive asc_delete_beta_app_localization DELETE a BetaAppLocalization. The locale-specific copy is removed; testers in that locale fall back to whateve Destructive asc_delete_beta_build_localization DELETE a BetaBuildLocalization. The locale is removed for this build; testers in that locale fall back to what Destructive asc_delete_beta_feedback_crash_submission DELETE /v1/betaFeedbackCrashSubmissions/{id}. Permanently removes the crash feedback record (including its cra Destructive asc_delete_beta_feedback_screenshot_submission DELETE /v1/betaFeedbackScreenshotSubmissions/{id}. Permanently removes the feedback record and its screenshot Destructive asc_delete_beta_group DELETE a beta group. Apple supports DELETE on this resource (unlike offer codes). All tester + build linkages Destructive asc_delete_beta_recruitment_criterion DELETE /v1/betaRecruitmentCriteria/{id} — remove the criterion entirely; the public link goes back to acceptin Destructive asc_delete_beta_tester DELETE a beta tester record from the team. All group memberships and build accesses for this tester are remove Destructive asc_delete_customer_review_response DELETE /v1/customerReviewResponses/{id} — remove your public reply from the App Store. The review itself is un Destructive asc_delete_experiment_treatment DELETE /v1/appStoreVersionExperimentTreatments/{id} — remove a variant (and its localizations/assets) from a p Destructive asc_delete_iap_localization DELETE an InAppPurchaseLocalization. The locale-specific copy is removed; customers in that locale fall back t Destructive asc_delete_marketplace_search_detail DELETE /v1/marketplaceSearchDetails/{id}. Destructive asc_delete_marketplace_webhook DELETE /v1/marketplaceWebhooks/{id} — stop marketplace update notifications. Destructive asc_delete_promoted_purchase DELETE a PromotedPurchase. Removes the IAP / subscription from the promoted slots on the storefront. The under Destructive asc_delete_review_submission_item DELETE a ReviewSubmissionItem from a draft submission. Only valid while the parent submission is READY_FOR_REV Destructive asc_delete_subscription_introductory_offer Delete a pending or active introductory offer by ID. Apple refuses to delete an offer that is currently redeem Destructive asc_delete_subscription_localization DELETE a SubscriptionLocalization. The locale-specific copy is removed; subscribers in that locale fall back t Destructive asc_delete_subscription_price Delete a pending scheduled subscription price by ID. Use this to roll back a change that has not yet activated Destructive asc_delete_subscription_promotional_offer Delete a promotional offer by ID. Returns 204 on success. Apple does not document whether the offerCode is imm Destructive asc_delete_treatment_localization DELETE /v1/appStoreVersionExperimentTreatmentLocalizations/{id} — remove a locale (and its variant assets) fro Destructive asc_delete_version_experiment DELETE /v2/appStoreVersionExperiments/{id} — removes the experiment and its treatments/localizations. Works on Destructive asc_delete_webhook DELETE /v1/webhooks/{id} — permanently remove the webhook and stop all deliveries. Delivery history is gone wi Destructive asc_remove_beta_group_builds Unassign builds from a beta group via DELETE /v1/betaGroups/{id}/relationships/builds. The build itself is not Destructive asc_remove_beta_group_testers Remove testers from a beta group via DELETE /v1/betaGroups/{id}/relationships/betaTesters. Pass only the IDs y
WRITE 96 tools
Write asc_add_beta_group_builds Assign builds to a beta group via POST /v1/betaGroups/{id}/relationships/builds. Builds must be in VALID proce Write asc_add_beta_group_testers Add existing BetaTester records to a beta group via POST /v1/betaGroups/{id}/relationships/betaTesters. Pass t Write asc_end_app_availability_pre_order POST an EndAppAvailabilityPreOrder resource carrying the list of TerritoryAvailability IDs in which to end pre Write asc_patch_accessibility_declaration ⚠️ publish=true is CUSTOMER-FACING: PATCH /v1/accessibilityDeclarations/{id} with publish=true puts the access Write asc_patch_app_custom_product_page Update name and/or visibility on an existing AppCustomProductPage. Wire-key gotcha: Swift Write asc_patch_app_custom_product_page_localization Update promotionalText on an existing CPP localization. promotionalText is the ONLY mutable field (locale is i Write asc_patch_app_encryption_declaration_document RAW step 3 of the three-step upload flow. PATCH with sourceFileChecksum (lowercase hex MD5 of the full file) + Write asc_patch_app_event Update an AppEvent Write asc_patch_app_event_localization Update name / shortDescription / longDescription on an existing AppEventLocalization. Locale is immutable (exc Write asc_patch_app_event_screenshot RAW step 3 of the three-step upload flow. PATCH with uploaded=true to commit the reservation. Wire-key gotcha: Write asc_patch_app_event_video_clip RAW step 3 of the three-step upload flow + the only way to tweak previewFrameTimeCode on an existing clip. PAT Write asc_patch_app_info Set primary/secondary category + subcategory relationships on an AppInfo. AppInfoUpdateRequest is RELATIONSHIP Write asc_patch_app_info_localization Update name / subtitle / privacy fields on an existing AppInfoLocalization. All five attrs are encodeIfPresent Write asc_patch_app_preview RAW step 3 of the three-step upload flow + the only way to tweak previewFrameTimeCode on an existing preview. Write asc_patch_app_screenshot RAW step 3 of the three-step upload flow. PATCH the AppScreenshot with sourceFileChecksum (lowercase hex MD5 o Write asc_patch_app_store_version Mutate version-level attributes: versionString, copyright, reviewType, releaseType, earliestReleaseDate, downl Write asc_patch_app_store_version_localization Update attrs on an existing AppStoreVersionLocalization. Write asc_patch_app_store_version_phased_release PATCH the phasedReleaseState on an existing AppStoreVersionPhasedRelease. Apple Write asc_patch_app_tag Toggle whether an AppTag is shown in the App Store search/product page UI. Wire key Write asc_patch_beta_app_localization Update one or more attrs on an existing BetaAppLocalization. All five attrs are individually optional (encodeI Write asc_patch_beta_app_review_detail Update the contact info, demo account, and notes on a BetaAppReviewDetail. All eight attrs are individually op Write asc_patch_beta_build_localization Update the whatsNew body on an existing BetaBuildLocalization. Apple PATCH on this resource accepts ONLY whats Write asc_patch_beta_group Mutate a beta group Write asc_patch_beta_recruitment_criterion PATCH /v1/betaRecruitmentCriteria/{id} — REPLACES the whole deviceFamilyOsVersionFilters array (no per-entry a Write asc_patch_build Mutate a build Write asc_patch_build_app_encryption_declaration Set the AppEncryptionDeclaration for a build. PATCH /v1/builds/{id}/relationships/appEncryptionDeclaration. Pa Write asc_patch_build_beta_detail Toggle Write asc_patch_experiment_treatment PATCH /v1/appStoreVersionExperimentTreatments/{id} — mutate name and/or appIconName (pre-submission). Pass at Write asc_patch_iap_localization Update name and/or description on an existing InAppPurchaseLocalization. Both optional (encodeIfPresent). Loca Write asc_patch_marketplace_search_detail PATCH /v1/marketplaceSearchDetails/{id} — update the catalogUrl. Write asc_patch_marketplace_webhook PATCH /v1/marketplaceWebhooks/{id} — update endpointUrl and/or rotate the secret (update the receiver first). Write asc_patch_promoted_purchase Update visibleForAllUsers and/or enabled on an existing PromotedPurchase. Wire-key gotchas: Swift Write asc_patch_promoted_purchases_order PATCH /v1/apps/{id}/relationships/promotedPurchases with the ordered list of promoted-purchase IDs. The order Write asc_patch_subscription_introductory_offer Update an introductory offer Write asc_patch_subscription_localization Update name and/or description on an existing SubscriptionLocalization. Both optional (encodeIfPresent). Local Write asc_patch_subscription_offer_code Activate or deactivate an offer-code campaign. Apple PATCH on this resource only permits flipping Write asc_patch_subscription_offer_code_custom_code Activate or deactivate a custom multi-use code. PATCH only flips Write asc_patch_subscription_offer_code_one_time_use_codes Activate or deactivate a one-time-use code batch. Apple PATCH on this resource only permits flipping Write asc_patch_subscription_promotional_offer_prices Update the per-territory prices on an existing promotional offer. Apple PATCH on this resource only permits pr Write asc_patch_territory_availability PATCH /v1/territoryAvailabilities/{id} — per-territory pre-order + release control: available (sell here or no Write asc_patch_webhook PATCH /v1/webhooks/{id} — mutate name, url, secret (rotation), eventTypes (whole-array replace), or enabled (p Write asc_post_accessibility_declaration POST /v1/accessibilityDeclarations — create a DRAFT declaration for one device family (required) with any subs Write asc_post_alternative_distribution_domain POST /v1/alternativeDistributionDomains — register a website domain (e.g. Write asc_post_alternative_distribution_key POST /v1/alternativeDistributionKeys — register the PUBLIC key (PEM string) used to verify your signed alterna Write asc_post_analytics_report_request POST /v1/analyticsReportRequests — turn on analytics report generation for an app. accessType ONGOING (Apple k Write asc_post_app_availability_v2 Create a new AppAvailabilityV2 for an app — Apple atomically swaps over to it. There is NO PATCH for this reso Write asc_post_app_custom_product_page Create an AppCustomProductPage for an app with a reference name (UI-only, not customer-facing). Required: appI Write asc_post_app_custom_product_page_localization Create an AppCustomProductPageLocalization under a CPP version for ONE locale. Required: appCustomProductPageV Write asc_post_app_custom_product_page_version Create a new AppCustomProductPageVersion under a CPP. Required: appCustomProductPageId. Optional: deepLink (UR Write asc_post_app_encryption_declaration Create an AppEncryptionDeclaration for an app. Required: appId + appDescription + containsProprietaryCryptogra Write asc_post_app_encryption_declaration_document RAW step 1 of the three-step upload flow (same shape as v0.13 AppScreenshot). Reserves an AppEncryptionDeclara Write asc_post_app_event Create an AppEvent on an app. Required: appId + referenceName (internal-only, NOT customer-facing — set per-lo Write asc_post_app_event_localization Create an AppEventLocalization for ONE (event, locale) pair. Required: appEventId + locale. Optional copy attr Write asc_post_app_event_screenshot RAW step 1 of the three-step upload flow (same shape as v0.13 AppScreenshot). Reserves an AppEventScreenshot u Write asc_post_app_event_video_clip RAW step 1 of the three-step upload flow (same shape as v0.13 AppPreview). Reserves an AppEventVideoClip under Write asc_post_app_info_localization Create an AppInfoLocalization for ONE AppInfo + ONE locale. Required: appInfoId + locale + name (30 chars). Op Write asc_post_app_preview RAW step 1 of the three-step upload flow for previews. Reserves an AppPreview under a set with fileName + file Write asc_post_app_preview_set Create an AppPreviewSet for ONE (parent localization, previewType) pair. Required: parentType + parentLocaliza Write asc_post_app_price_schedule Replace the price schedule for a paid app. Write asc_post_app_screenshot RAW step 1 of the three-step upload flow. Reserves an AppScreenshot under a set with fileName + fileSize, and Write asc_post_app_screenshot_set Create an AppScreenshotSet for ONE (parent localization, screenshotDisplayType) pair. Required: parentType + p Write asc_post_app_store_version Create a new App Store version on an app. Required: appId + platform + versionString. The versionString must c Write asc_post_app_store_version_localization Create an AppStoreVersionLocalization for ONE version + ONE locale. Required: appStoreVersionId + locale. Opti Write asc_post_app_store_version_phased_release Create a new AppStoreVersionPhasedRelease attached to an AppStoreVersion. Required: appStoreVersionId. Optiona Write asc_post_beta_app_localization Create a BetaAppLocalization for ONE app + ONE locale. Required: appId + locale. Optional: description, feedba Write asc_post_beta_build_localization Create a BetaBuildLocalization for ONE build + ONE locale. whatsNew is optional at create time (you can leave Write asc_post_beta_group Create a beta group on an app. Required: name + appId. Optional: isInternalGroup (default false → external), h Write asc_post_beta_recruitment_criterion POST /v1/betaRecruitmentCriteria — gate public-link auto-recruitment on a beta group to devices matching the g Write asc_post_beta_tester Create a BetaTester record from an email. Apple uses the email as the uniqueness key per team; a duplicate ema Write asc_post_beta_tester_invitation Send (or resend) the TestFlight invite email for a tester on a specific app. Required: appId. Write asc_post_build_beta_notification POST /v1/buildBetaNotifications — send the Write asc_post_customer_review_response ⚠️ PUBLIC-FACING WRITE: POST /v1/customerReviewResponses publishes your reply ON THE APP STORE under the revie Write asc_post_experiment_treatment POST /v1/appStoreVersionExperimentTreatments — add a variant to an experiment (PREPARE_FOR_SUBMISSION only). n Write asc_post_iap_localization Create an InAppPurchaseLocalization for ONE v2 IAP + ONE locale. Required: iapId (v2 IAP only — legacy v1 not Write asc_post_iap_price_schedule Replace the price schedule for an in-app purchase (v2 IAPs only — consumables, non-consumables, non-renewing s Write asc_post_marketplace_search_detail POST /v1/marketplaceSearchDetails — set a MARKETPLACE app Write asc_post_marketplace_webhook POST /v1/marketplaceWebhooks — both attributes required: endpointUrl (wire key — Swift endpointURL, pinned by Write asc_post_promoted_purchase Create a PromotedPurchase on an app, linking it to ONE IAP (inAppPurchaseV2Id) OR ONE subscription (subscripti Write asc_post_review_submission Create a DRAFT review submission on an app. Required: appId. Optional: platform (Apple recommends passing it; Write asc_post_review_submission_item Add an App Store version as an item under a draft review submission. The parent submission must be in READY_FO Write asc_post_subscription_introductory_offer Create an introductory offer on a subscription. Server-side checks: pricePointId required unless offerMode=FRE Write asc_post_subscription_localization Create a SubscriptionLocalization for ONE subscription + ONE locale. Required: subscriptionId + name (30 chars Write asc_post_subscription_offer_code Create an offer-code campaign atomically: name + customer eligibilities + mode + duration + all per-territory Write asc_post_subscription_offer_code_custom_code Create a custom multi-use code against an existing offer-code campaign. The developer picks the redeemable str Write asc_post_subscription_offer_code_one_time_use_codes Create a batch of unique single-redemption codes against an existing offer-code campaign. Apple generates the Write asc_post_subscription_promotional_offer Create a promotional offer with name + offerCode + mode + duration plus all per-territory prices in one atomic Write asc_post_treatment_localization POST /v1/appStoreVersionExperimentTreatmentLocalizations — add a locale to a treatment (locale required, e.g. Write asc_post_version_experiment POST /v2/appStoreVersionExperiments — create an A/B test on the product page. ALL THREE attributes required: n Write asc_post_webhook POST /v1/webhooks — register an HTTPS endpoint to receive App Store Connect event notifications for ONE app. A Write asc_upload_app_encryption_declaration_document Composite tool. Reads localFilePath from disk (typically a PDF questionnaire), reserves an AppEncryptionDeclar Write asc_upload_app_event_screenshot Composite tool. Reads localFilePath from disk, reserves an AppEventScreenshot under the given event localizati Write asc_upload_app_event_video_clip Composite tool. Reads localFilePath from disk (.mov H.264/HEVC recommended), reserves an AppEventVideoClip und Write asc_upload_app_preview Composite tool. Reads localFilePath from disk (Apple Write asc_upload_asset_chunk RAW step 2 of the three-step screenshot / preview upload flow. Apple Write asc_upload_screenshot Composite tool. Reads localFilePath from disk, reserves an AppScreenshot under the given set with fileName + f Write ppp_apply_proposal Compute a PPP rebalance proposal, then schedule the price changes against App Store Connect.
READ 131 tools
Read asc_download_analytics_report_segment Fetch a segment URL from asc_list_analytics_report_segments (pre-signed — fetched WITHOUT the ASC auth header; Read asc_export_subscription_offer_code_one_time_use_values Fetch the redeemable code strings inside a one-time-use batch. Apple serves the response as text/csv directly Read asc_get_app Fetch a single app by its App Store Connect ID. Read asc_get_app_alternative_distribution_key GET /v1/apps/{id}/alternativeDistributionKey — the app Read asc_get_app_availability_v2 Fetch the current AppAvailabilityV2 for an app. Returns the master Read asc_get_app_custom_product_page Fetch a single AppCustomProductPage with its versions expanded. Returns the page metadata + every AppCustomPro Read asc_get_app_custom_product_page_localization Fetch a single AppCustomProductPageLocalization by ID. Returns locale + promotionalText + the relationship IDs Read asc_get_app_custom_product_page_version Fetch a single AppCustomProductPageVersion with its localizations expanded. Returns the version metadata (stat Read asc_get_app_encryption_declaration Fetch a single AppEncryptionDeclaration by ID with its document relationship expanded. Returns the full attrib Read asc_get_app_encryption_declaration_document Fetch a single AppEncryptionDeclarationDocument by ID. Returns fileName / fileSize / sourceFileChecksum / asse Read asc_get_app_event Fetch a single AppEvent by ID with its localizations expanded. Returns the full attribute surface including te Read asc_get_app_event_localization Fetch a single AppEventLocalization by ID. Returns the locale + name + shortDescription + longDescription + th Read asc_get_app_event_screenshot Fetch a single AppEventScreenshot by ID. Returns fileName / fileSize / appEventAssetType / assetDeliveryState Read asc_get_app_event_video_clip Fetch a single AppEventVideoClip by ID. Returns the upload metadata + previewFrameTimeCode + (post-ingest) vid Read asc_get_app_info Fetch a single AppInfo with its category relationships + localizations expanded. The relationships block carri Read asc_get_app_info_localization Fetch a single AppInfoLocalization by ID. Returns the full name + subtitle + privacy URLs/text for the locale. Read asc_get_app_perf_power_metrics GET /v1/apps/{id}/perfPowerMetrics — Xcode-metrics percentile curves (LAUNCH, MEMORY, BATTERY, HANG, DISK, ANI Read asc_get_app_preview Fetch a single AppPreview by ID. Returns the upload metadata + previewFrameTimeCode + (post-ingest) videoUrl a Read asc_get_app_preview_set Fetch a single AppPreviewSet by ID with its previews expanded. The included AppPreview resources carry fileNam Read asc_get_app_screenshot Fetch a single AppScreenshot by ID. Returns the upload metadata (fileName, fileSize, sourceFileChecksum), asse Read asc_get_app_screenshot_set Fetch a single AppScreenshotSet by ID with its screenshots expanded. The included AppScreenshot resources carr Read asc_get_app_store_version Fetch a single App Store version with relationships expanded (app + appStoreVersionLocalizations + build). Use Read asc_get_app_store_version_localization Fetch a single App Store version localization by ID. Returns the full whatsNew + description + keywords + prom Read asc_get_app_store_version_phased_release Fetch the AppStoreVersionPhasedRelease attached to an AppStoreVersion. Returns the current phasedReleaseState Read asc_get_beta_app_localization Fetch a single BetaAppLocalization by ID. Read asc_get_beta_app_review_detail Fetch the per-app BetaAppReviewDetail. Returns contact info + demo account + notes + demoAccountRequired flag. Read asc_get_beta_app_review_submission Fetch a single BetaAppReviewSubmission with the build relationship expanded. Use to check current betaReviewSt Read asc_get_beta_build_localization Fetch a single BetaBuildLocalization by ID. Returns the locale + the full whatsNew text. Use before PATCH to r Read asc_get_beta_feedback_crash_log GET /v1/betaFeedbackCrashSubmissions/{id}/crashLog — returns the betaCrashLogs resource whose logText attribut Read asc_get_beta_feedback_crash_submission Fetch one crash feedback submission with full device context. include=build,tester for triage context. This re Read asc_get_beta_feedback_screenshot_submission Fetch one screenshot feedback submission with full device context (connection type, battery, disk, uptime, scr Read asc_get_beta_group Fetch a single beta group with relationships expanded (app + builds + betaTesters). Use to see the full member Read asc_get_beta_group_recruitment_criterion GET /v1/betaGroups/{id}/betaRecruitmentCriteria — the group Read asc_get_beta_recruitment_compatible_build_check GET /v1/betaGroups/{id}/betaRecruitmentCriterionCompatibleBuildCheck — hasCompatibleBuild tells you whether th Read asc_get_beta_tester Fetch a single beta tester with relationships expanded (apps + betaGroups + builds). Use to inspect which grou Read asc_get_build Fetch a single build with relationships expanded (app + preReleaseVersion + buildBetaDetail + betaBuildLocaliz Read asc_get_build_app_encryption_declaration Fetch the AppEncryptionDeclaration currently linked to a build. Each build has at most ONE declaration. Return Read asc_get_build_beta_detail Fetch the BuildBetaDetail for a build — carries Read asc_get_build_perf_power_metrics GET /v1/builds/{id}/perfPowerMetrics — same Xcode-metrics document as the app-level tool but scoped to ONE bui Read asc_get_customer_review GET /v1/customerReviews/{id} with the developer response included — the full review body (the list digest prev Read asc_get_customer_review_response GET /v1/customerReviews/{id}/response — the review Read asc_get_diagnostic_logs GET /v1/diagnosticSignatures/{id}/logs — the anonymized call-stack documents behind one signature. NOT JSON:AP Read asc_get_finance_report GET /v1/financeReports — gzipped TSV download of Apple\ Read asc_get_iap Fetch a single in-app purchase (v2) by its ASC ID. Read asc_get_iap_localization Fetch a single InAppPurchaseLocalization by ID. Returns name + description + locale + state. Read asc_get_marketplace_search_detail GET /v1/apps/{id}/marketplaceSearchDetail — the catalogUrl for a MARKETPLACE app (alternative app store). Obse Read asc_get_pre_release_version Fetch a single PreReleaseVersion with its builds relationship expanded. Returns version + platform + the to-ma Read asc_get_promoted_purchase Fetch a single PromotedPurchase by ID with its linked IAP / subscription expanded. Returns visibleForAllUsers Read asc_get_review_submission Fetch a single review submission with its items + app relationship expanded. Use to see the current state and Read asc_get_sales_report GET /v1/salesReports — gzipped TSV download, NOT a JSON:API list. Pick reportType (SALES = units by day/week/m Read asc_get_subscription_introductory_offer Fetch a single introductory offer by ID. Read asc_get_subscription_localization Fetch a single SubscriptionLocalization by ID. Returns name + description + locale + state. Read asc_get_subscription_offer_code Fetch a single offer-code campaign by ID, including its per-territory prices, one-time-use code batches, and c Read asc_get_subscription_promotional_offer Fetch a single promotional offer by ID, including its per-territory prices. Read asc_get_version_alternative_distribution_package GET /v1/appStoreVersions/{id}/alternativeDistributionPackage — the to-one package record for a version (or an Read asc_get_version_experiment GET /v2/appStoreVersionExperiments/{id} with treatments + latestControlVersion included — the full experiment Read asc_get_webhook GET /v1/webhooks/{id} — one webhook with its app relationship. The secret is write-only and never returned. Fo Read asc_list_accessibility_declarations GET /v1/apps/{id}/accessibilityDeclarations — the per-device-family accessibility feature declarations ( Read asc_list_alternative_distribution_domains GET /v1/alternativeDistributionDomains — team-level registered website domains for EU web distribution. Entitl Read asc_list_alternative_distribution_keys GET /v1/alternativeDistributionKeys — the PUBLIC signing keys registered with Apple (the private halves never Read asc_list_alternative_distribution_package_deltas GET /v1/alternativeDistributionPackageVersions/{id}/deltas — update deltas (smaller downloads from prior versi Read asc_list_alternative_distribution_package_variants GET /v1/alternativeDistributionPackageVersions/{id}/variants — per-device-thinning variants with pre-signed do Read asc_list_alternative_distribution_package_versions GET /v1/alternativeDistributionPackages/{id}/versions — the dated builds of a package. State COMPLETED = downl Read asc_list_analytics_report_instances GET /v1/analyticsReports/{id}/instances — the dated materializations of one report, one row per (granularity, Read asc_list_analytics_report_requests GET /v1/apps/{id}/analyticsReportRequests — the existing requests (at most one ONGOING + one ONE_TIME_SNAPSHOT Read asc_list_analytics_report_segments GET /v1/analyticsReportInstances/{id}/segments — the downloadable chunks of one instance: checksum, sizeInByte Read asc_list_analytics_reports GET /v1/analyticsReportRequests/{id}/reports — the report catalog: one row per report name (e.g. Read asc_list_app_categories List Apple Read asc_list_app_custom_product_page_localizations List AppCustomProductPageLocalization records under an AppCustomProductPageVersion. Each row carries locale + Read asc_list_app_custom_product_page_versions List AppCustomProductPageVersion records under a CPP. Each row carries the version string (typically auto-gene Read asc_list_app_custom_product_pages List AppCustomProductPage records under an app. Each row carries the page name, the public URL (once a version Read asc_list_app_encryption_declarations List AppEncryptionDeclaration records under an app. Each row carries the appDescription, current state (CREATE Read asc_list_app_event_localizations List AppEventLocalization records under an AppEvent. Each row carries locale + name + shortDescription length Read asc_list_app_event_screenshots List AppEventScreenshot records under an AppEventLocalization. Each row carries fileName + fileSize + the asse Read asc_list_app_event_video_clips List AppEventVideoClip records under an AppEventLocalization. Each row carries fileName + fileSize + previewFr Read asc_list_app_events List AppEvent records for an app. Each row carries the referenceName, current eventState (DRAFT / READY_FOR_RE Read asc_list_app_info_localizations List AppInfoLocalization records under an AppInfo. Each row carries locale + name + subtitle + privacy URLs/te Read asc_list_app_infos List AppInfo records for an app. Apps typically have one AppInfo per distribution track — most apps have just Read asc_list_app_preview_sets List AppPreviewSet records under a parent localization (an AppStoreVersionLocalization, an AppCustomProductPag Read asc_list_app_previews List AppPreview records under an AppPreviewSet. Each row carries fileName + fileSize + previewFrameTimeCode + Read asc_list_app_price_points List the valid price points a paid app can be set to in a given territory. Apple rotates these IDs; cache only Read asc_list_app_prices List the current price schedule for a paid app across territories. Returns both manual (per-territory) overrid Read asc_list_app_screenshot_sets List AppScreenshotSet records under a parent localization (an AppStoreVersionLocalization, an AppCustomProduct Read asc_list_app_screenshots List AppScreenshot records under an AppScreenshotSet. Each row carries fileName + fileSize + assetDeliveryStat Read asc_list_app_store_version_localizations List App Store version localizations under one version. Each row carries locale + whatsNew length/preview + de Read asc_list_app_store_versions List App Store versions for ONE app. appId is required — Apple\ Read asc_list_app_tags List the AppTag membership for an app — Apple Read asc_list_apps List apps on the App Store Connect account. Returns a compact table by default; pass raw:true to get the full Read asc_list_beta_app_localizations List BetaAppLocalizations under an app. Each row carries description + feedbackEmail + marketingUrl + privacyP Read asc_list_beta_app_review_details List BetaAppReviewDetail records. Filter by appId to scope to one app (typically returns one record per app). Read asc_list_beta_app_review_submissions List beta-app-review submissions across the team, with the optional buildId filter to narrow to a single build Read asc_list_beta_build_localizations List BetaBuildLocalizations under a build. Each row is one locale\ Read asc_list_beta_feedback_crash_submissions List crash feedback testers agreed to share from TestFlight via GET /v1/apps/{id}/betaFeedbackCrashSubmissions Read asc_list_beta_feedback_screenshot_submissions List screenshot feedback testers sent from TestFlight via GET /v1/apps/{id}/betaFeedbackScreenshotSubmissions. Read asc_list_beta_groups List beta groups. Pass appId to scope to a single app (the common case). Each row shows name, kind (INT/EXT), Read asc_list_beta_recruitment_criterion_options GET /v1/betaRecruitmentCriterionOptions — the device families and OS versions Apple currently accepts in devic Read asc_list_beta_testers List beta testers. Pass betaGroupId to scope to one group, or omit it to list team-wide. Per-app scoping is NO Read asc_list_builds List TestFlight builds. Pass appId to scope to a single app (the common case — Apple paginates global build li Read asc_list_customer_review_summarizations GET /v1/apps/{id}/customerReviewSummarizations — Apple Read asc_list_customer_reviews List published App Store reviews via GET /v1/apps/{id}/customerReviews (or scope to one version via appStoreVe Read asc_list_diagnostic_signatures GET /v1/builds/{id}/diagnosticSignatures — Apple Read asc_list_experiment_treatments GET /v2/appStoreVersionExperiments/{id}/appStoreVersionExperimentTreatments — the variants under test. PROMOTE Read asc_list_iap_localizations List InAppPurchaseLocalizations under an IAP. Each row carries locale + name + description + state. v2 IAPs on Read asc_list_iap_price_points List the valid Apple price tiers for an in-app purchase in a given territory. Apple rotates these IDs; cache o Read asc_list_iap_prices List the current price schedule for an in-app purchase across territories. Like apps (and unlike subs), the sc Read asc_list_iaps List in-app purchases for an app (v2 surface — consumables, non-consumables, non-renewing subscriptions). Read asc_list_marketplace_webhooks GET /v1/marketplaceWebhooks — team-level webhooks Apple uses to notify a MARKETPLACE app about available app u Read asc_list_pre_release_versions List pre-release versions (one per version string Apple has seen, across all platforms). Pass appId to scope t Read asc_list_promoted_purchases List PromotedPurchase records under an app. Each row carries the visibleForAllUsers flag, enabled flag, curren Read asc_list_review_submissions List review submissions filtered by app. Filter[app]={appId} is required — Apple Read asc_list_search_keywords List Apple Read asc_list_subscription_groups List subscription groups for an app. Read asc_list_subscription_introductory_offers List introductory offers (free trial / pay-as-you-go / pay-up-front) configured for a subscription, across ter Read asc_list_subscription_localizations List SubscriptionLocalizations under a subscription. Each row carries locale + name + description + state (PRE Read asc_list_subscription_offer_code_custom_codes List custom multi-use codes under an offer-code campaign. Each custom code is a single developer-chosen string Read asc_list_subscription_offer_code_one_time_use_codes List one-time-use code batches under an offer-code campaign. Each batch carries numberOfCodes, expirationDate, Read asc_list_subscription_offer_codes List offer-code campaigns configured for a subscription. Each campaign carries name, customer-eligibility coho Read asc_list_subscription_price_points List the valid price points a subscription can be set to in a given territory. Apple rotates these IDs; cache Read asc_list_subscription_prices List the current price schedule for a subscription across territories. Auto-paginates to capture all 175 terri Read asc_list_subscription_promotional_offer_prices List the per-territory price rows attached to a promotional offer. Each row is a (territory, subscriptionPrice Read asc_list_subscription_promotional_offers List promotional offers (PAY_AS_YOU_GO / PAY_UP_FRONT / FREE_TRIAL) configured for a subscription. Promo offer Read asc_list_subscriptions List auto-renewable subscriptions in a subscription group. Read asc_list_territories List App Store territories with their currency codes. Read asc_list_territory_availabilities List TerritoryAvailability records for an app. The digest TERR column shows the decoded 3-letter ISO territory Read asc_list_treatment_localizations GET /v1/appStoreVersionExperimentTreatments/{id}/appStoreVersionExperimentTreatmentLocalizations — the per-loc Read asc_list_version_experiments GET /v1/apps/{id}/appStoreVersionExperimentsV2 (note: a /v1 path listing the V2, app-attached experiments — th Read asc_list_webhook_deliveries GET /v1/webhooks/{id}/deliveries — per-attempt delivery records: state (SUCCEEDED / FAILED / PENDING), event t Read asc_list_webhooks GET /v1/apps/{id}/webhooks — every webhook configured on the app: name, enabled state, endpoint URL, subscribe Read asc_sign_promotional_offer_legacy Sign a promotional-offer redemption payload using the legacy ECDSA-concatenated format. Use this when your iOS Read ppp_compute_proposal Compute a proposed per-territory price schedule using the bundled Apple Music index as the PPP signal. Read-on Read ppp_load_index Returns the bundled Apple Music Individual plan price snapshot used by the ppp_ tools. Refresh by editing data

Related servers

Other MCP servers with similar tools — same risk classification, starter policies for each.

Questions about Appstoreconnect Mcp

Can an AI agent move money through the Appstoreconnect MCP server? +

Yes. The Appstoreconnect Mcp server exposes 1 financial tools including asc_post_subscription_price. Without a policy, an autonomous agent can call these with no spend caps, no rate limits, and no approval flow. PolicyLayer lets you block financial tools by default, require human approval, or set per-tool rate limits — enforced on every call.

Can an AI agent delete data through the Appstoreconnect MCP server? +

Yes. The Appstoreconnect Mcp server exposes 42 destructive tools including asc_delete_accessibility_declaration, asc_delete_alternative_distribution_domain, asc_delete_alternative_distribution_key. These permanently remove resources with no undo. PolicyLayer blocks destructive tools by default so they never reach the upstream server.

How do I prevent bulk modifications through Appstoreconnect Mcp? +

The Appstoreconnect Mcp server has 96 write tools including asc_add_beta_group_builds, asc_add_beta_group_testers, asc_end_app_availability_pre_order. Set a rate limit in your policy -- for example, 10 calls per hour prevents an agent from making more than 10 modifications per hour. PolicyLayer enforces this at the gateway, before calls reach Appstoreconnect Mcp.

How many tools does the Appstoreconnect MCP server expose? +

278 tools across 3 categories: Destructive, Read, Write. 131 are read-only. 147 can modify, create, or delete data.

How do I enforce a policy on Appstoreconnect Mcp? +

Register the Appstoreconnect MCP server in PolicyLayer, apply the suggested rules above (adjust the limits to your use case), and point your AI client at the PolicyLayer proxy URL instead of the server directly. Your agents keep the same tools; PolicyLayer evaluates every call against policy before it executes. Nothing to install, live in minutes.

Enforce policy on every Appstoreconnect Mcp tool call.

Deterministic rules across all 278 Appstoreconnect Mcp tools. Per-identity grants. Full audit log. Live in minutes. Nothing to install.

Instant setup, no code required.

278 Appstoreconnect Mcp tools catalogued and risk-classified — across an index of 46,500+ MCP servers.

// WHERE THIS COMES FROM

These policies come from Appstoreconnect's registry record.

The record behind this page: verified identity, auth posture, risk grade, every tool classified, recommended policy — re-checked continuously.

Teams ship this data inside their own products. See what a licence covers →

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.