MCP Hub
Back to servers

@seriousmonster/app-store-connect-mcp

STOMP — MCP server for the Apple App Store Connect API. 162 tools for managing iOS/macOS apps, TestFlight, builds, in-app purchases, subscriptions, certificates, App Store submissions, analytics, Game Center, Xcode Cloud, and more.

npm65/wk
Stars
1
Updated
Mar 18, 2026

Quick Install

npx -y @seriousmonster/app-store-connect-mcp

STOMP — MCP Server for App Store Connect

Give Claude, Cursor, Windsurf, and other AI coding agents full access to the Apple App Store Connect API — 162 tools covering every major endpoint.

npm npm downloads license GitHub stars

What is STOMP?

STOMP is a Model Context Protocol (MCP) server for Apple's App Store Connect API. It lets AI assistants manage your iOS, macOS, tvOS, and visionOS apps — TestFlight, builds, in-app purchases, subscriptions, App Store submissions, analytics, certificates, provisioning profiles, Game Center, Xcode Cloud, App Clips, sandbox testing, reviews, screenshots, pricing, and more. 162 dedicated tools plus a generic api_request escape hatch for any endpoint not yet covered.

Prerequisites

  • Node.js 18+
  • An Apple Developer account with access to App Store Connect
  • An App Store Connect API key (.p8 file) with appropriate permissions

Getting your API key

  1. Sign in to App Store Connect
  2. Go to Users and Access > Integrations > App Store Connect API
  3. Click Generate API Key (or request one from your Account Holder)
  4. Choose a name and select the role/permissions the key should have
  5. Click Generate
  6. Download the .p8 file -- Apple only lets you download it once, so store it somewhere safe
  7. Note the Key ID shown in the table and the Issuer ID at the top of the page -- you'll need both

Installation

Install globally:

npm install -g @seriousmonster/app-store-connect-mcp

Or run directly without installing:

npx @seriousmonster/app-store-connect-mcp

Configuration

STOMP requires three environment variables:

VariableDescription
APP_STORE_CONNECT_KEY_IDThe Key ID from App Store Connect (e.g., ABC123DEFG)
APP_STORE_CONNECT_ISSUER_IDThe Issuer ID (a UUID)
APP_STORE_CONNECT_P8_PATHAbsolute path to your .p8 private key file (supports ~)

Claude Code

claude mcp add app-store-connect \
  -e APP_STORE_CONNECT_KEY_ID=YOUR_KEY_ID \
  -e APP_STORE_CONNECT_ISSUER_ID=YOUR_ISSUER_ID \
  -e APP_STORE_CONNECT_P8_PATH=~/.keys/AuthKey_YOUR_KEY_ID.p8 \
  -- npx @seriousmonster/app-store-connect-mcp

Cursor

Add to your Cursor MCP config (~/.cursor/mcp.json):

{
  "mcpServers": {
    "app-store-connect": {
      "command": "npx",
      "args": ["@seriousmonster/app-store-connect-mcp"],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_P8_PATH": "~/.keys/AuthKey_YOUR_KEY_ID.p8"
      }
    }
  }
}

Generic MCP client

Any MCP-compatible client (Claude Desktop, Cline, Zed, etc.) can run STOMP. Set the three environment variables and run npx @seriousmonster/app-store-connect-mcp as the server command.

Available tools

Apps

ToolDescription
list_appsList all apps. Filter by name or bundle ID.
get_appGet details for a specific app by ID.
create_appCreate a new app in App Store Connect.

App Store Versions

ToolDescription
list_app_store_versionsList versions for an app. Filter by version string, platform, or state.
create_app_store_versionCreate a new version (set version string, platform, release type).
update_app_store_versionUpdate a version's string, copyright, release type, or scheduled date.

Localizations

ToolDescription
list_version_localizationsList all localizations for a version.
get_version_localizationGet a specific localization by ID.
create_version_localizationAdd a new locale with description, keywords, what's new, etc.
update_version_localizationUpdate an existing localization's metadata.

TestFlight (Beta)

ToolDescription
list_beta_groupsList beta groups for an app.
create_beta_groupCreate a new beta group.
delete_beta_groupDelete a beta group.
list_beta_testersList beta testers. Filter by email, group, or app.
create_beta_testerCreate a tester and optionally assign to groups.
add_tester_to_beta_groupAdd testers to a beta group.
remove_tester_from_beta_groupRemove testers from a beta group.
delete_beta_testerRemove a tester from all groups and apps.

Builds

ToolDescription
list_buildsList builds for an app. Filter by version, state, or expiry.
add_build_to_beta_groupAdd builds to a beta group for TestFlight distribution.

Bundle IDs

ToolDescription
list_bundle_idsList registered bundle IDs. Filter by identifier, name, or platform.
register_bundle_idRegister a new bundle ID.

Capabilities

ToolDescription
list_bundle_id_capabilitiesList capabilities enabled for a bundle ID.
enable_bundle_id_capabilityEnable a capability (push notifications, Sign in with Apple, etc.).
disable_bundle_id_capabilityDisable a capability.

Submissions

ToolDescription
create_app_store_version_submissionSubmit a version for App Review.

Users & Devices

ToolDescription
list_usersList users in your App Store Connect team. Filter by role or username.
list_devicesList registered devices. Filter by name, platform, status, or UDID.

Reviews

ToolDescription
list_customer_reviewsList customer reviews for an app. Sort and filter.
get_customer_reviewGet a specific review with response.
create_review_responseRespond to a customer review.
update_review_responseUpdate a review response.
delete_review_responseDelete a review response.

Screenshots & Previews

ToolDescription
list_screenshot_setsList screenshot sets for a localization.
create_screenshot_setCreate a screenshot set for a display type.
delete_screenshot_setDelete a screenshot set.
list_screenshotsList screenshots in a set.
create_screenshotInitiate a screenshot upload.
delete_screenshotDelete a screenshot.
list_preview_setsList app preview sets for a localization.
create_preview_setCreate an app preview set.
delete_preview_setDelete a preview set.
list_previewsList previews in a set.
create_previewInitiate a preview video upload.
delete_previewDelete a preview.

Analytics & Reporting

ToolDescription
create_analytics_report_requestRequest analytics report generation.
list_analytics_report_requestsList report requests for an app.
get_analytics_report_requestGet a report request with included reports.
list_analytics_reportsList reports for a request. Filter by category.
list_analytics_report_instancesList report instances. Filter by date and granularity.
list_analytics_report_segmentsList data segments for a report instance.

Pricing & Territories

ToolDescription
list_app_price_pointsList price points for an app by territory.
get_app_price_scheduleGet an app's price schedule.
list_territoriesList all App Store territories.

TestFlight (Advanced)

ToolDescription
list_beta_app_localizationsList TestFlight app descriptions per locale.
create_beta_app_localizationCreate a TestFlight app localization.
update_beta_app_localizationUpdate a TestFlight app localization.
list_beta_build_localizationsList "What to Test" per locale for a build.
create_beta_build_localizationCreate "What to Test" for a build.
update_beta_build_localizationUpdate "What to Test" for a build.
submit_build_for_beta_reviewSubmit a build for beta app review.
get_beta_app_review_detailGet beta review contact info and demo account.
update_beta_app_review_detailUpdate beta review details.

Certificates & Profiles

ToolDescription
list_certificatesList signing certificates.
get_certificateGet a specific certificate.
create_certificateCreate a signing certificate from a CSR.
revoke_certificateRevoke a signing certificate.
list_profilesList provisioning profiles.
get_profileGet a provisioning profile with related resources.
create_profileCreate a provisioning profile.
delete_profileDelete a provisioning profile.

App Info & Categories

ToolDescription
list_app_infosList app info records with localizations and categories.
get_app_infoGet app info with localizations.
update_app_infoUpdate app categories.
list_app_info_localizationsList app info localizations.
update_app_info_localizationUpdate name, subtitle, privacy policy URL.
list_app_categoriesList all App Store categories.
list_age_rating_declarationsGet age rating declarations.
update_age_rating_declarationUpdate age rating content descriptions.

Phased Releases

ToolDescription
get_phased_releaseGet phased release status for a version.
create_phased_releaseStart a phased release.
update_phased_releasePause, resume, or complete a phased release.
delete_phased_releaseRemove phased release (full rollout).
create_version_release_requestManually release a version.

In-App Purchases

ToolDescription
list_in_app_purchasesList in-app purchases for an app.
get_in_app_purchaseGet in-app purchase details.
create_in_app_purchaseCreate a new in-app purchase.
update_in_app_purchaseUpdate an in-app purchase.
delete_in_app_purchaseDelete an in-app purchase.
list_iap_localizationsList localizations for an IAP.
create_iap_localizationCreate an IAP localization.
update_iap_localizationUpdate an IAP localization.
delete_iap_localizationDelete an IAP localization.
list_iap_price_pointsList price points for an IAP.
submit_iap_for_reviewSubmit an IAP for review.

Subscriptions

ToolDescription
list_subscription_groupsList subscription groups for an app.
create_subscription_groupCreate a subscription group.
get_subscription_groupGet subscription group details.
list_subscriptionsList subscriptions in a group.
create_subscriptionCreate a subscription.
update_subscriptionUpdate a subscription.
delete_subscriptionDelete a subscription.
list_subscription_localizationsList subscription localizations.
create_subscription_localizationCreate a subscription localization.
update_subscription_localizationUpdate a subscription localization.
delete_subscription_localizationDelete a subscription localization.
list_subscription_pricesList subscription prices.
list_subscription_price_pointsList price points for a subscription.
create_subscription_introductory_offerCreate an introductory offer.
submit_subscription_groupSubmit a subscription group for review.

Game Center

ToolDescription
get_game_center_detailGet Game Center config for an app.
list_game_center_leaderboardsList leaderboards.
create_game_center_leaderboardCreate a leaderboard.
update_game_center_leaderboardUpdate a leaderboard.
delete_game_center_leaderboardDelete a leaderboard.
list_game_center_achievementsList achievements.
create_game_center_achievementCreate an achievement.
update_game_center_achievementUpdate an achievement.
delete_game_center_achievementDelete an achievement.
list_game_center_leaderboard_setsList leaderboard sets.
create_game_center_leaderboard_setCreate a leaderboard set.
delete_game_center_leaderboard_setDelete a leaderboard set.
list_game_center_groupsList Game Center groups.
create_game_center_groupCreate a Game Center group.

Xcode Cloud

ToolDescription
list_ci_productsList Xcode Cloud products.
get_ci_productGet a CI product with related resources.
list_ci_workflowsList workflows for a product.
get_ci_workflowGet workflow details.
list_ci_build_runsList build runs for a workflow.
get_ci_build_runGet build run details.
start_ci_build_runStart a new build run.
list_ci_build_actionsList actions in a build run.
list_ci_artifactsList artifacts from a build action.
list_ci_test_resultsList test results from a build action.
list_ci_issuesList issues from a build action.
list_ci_mac_os_versionsList available macOS versions.
list_ci_xcode_versionsList available Xcode versions.

App Clips

ToolDescription
list_app_clipsList App Clips for an app.
get_app_clipGet App Clip details.
list_app_clip_default_experiencesList default experiences for an App Clip.
create_app_clip_default_experienceCreate a default App Clip experience.
update_app_clip_default_experienceUpdate an App Clip experience.
delete_app_clip_default_experienceDelete an App Clip experience.

Sandbox Testing

ToolDescription
list_sandbox_testersList sandbox tester accounts.
update_sandbox_testerUpdate sandbox tester settings.
clear_sandbox_tester_purchase_historyClear purchase history for sandbox testers.

Compliance & Legal

ToolDescription
list_app_encryption_declarationsList encryption declarations.
create_app_encryption_declarationCreate an encryption declaration.
get_app_encryption_declarationGet an encryption declaration.
list_eulasGet the EULA for an app.
create_eulaCreate a custom EULA.
update_eulaUpdate a EULA.
delete_eulaDelete a custom EULA.

App Events

ToolDescription
list_app_eventsList in-app events.
create_app_eventCreate an in-app event.
update_app_eventUpdate an in-app event.
delete_app_eventDelete an in-app event.
list_app_event_localizationsList event localizations.
create_app_event_localizationCreate an event localization.
update_app_event_localizationUpdate an event localization.
delete_app_event_localizationDelete an event localization.

Generic

ToolDescription
api_requestMake an arbitrary request to any App Store Connect API endpoint.

The api_request escape hatch

The 162 dedicated tools cover the vast majority of the App Store Connect API, but Apple's API surface is enormous. The api_request tool lets you hit any endpoint directly for anything that doesn't have a dedicated tool yet.

You provide:

  • method -- GET, POST, PATCH, or DELETE
  • path -- the API path, e.g. /v1/apps, /v2/inAppPurchases/{id}
  • params (optional) -- query parameters as key-value pairs
  • body (optional) -- a JSON string for POST/PATCH requests, following Apple's JSON:API format

Authentication is handled automatically. Refer to Apple's API documentation for available endpoints and request formats.

License

MIT

Reviews

No reviews yet

Sign in to write a review

@seriousmonster/app-store-connect-mcp — MCP Server | MCP Hub