LabscoMCP early access ↗
akoskomuvesMCP SERVER

App Store Connect

Drive App Store Connect from your editor — prices, offers, review assets, provisioning and Xcode Cloud.

by akoskomuves ↗Mobile & App Store ReleaseCommunity

LABSCO SUMMARY

The guards are the reason to use this rather than the raw API.

Apple's app and IAP price endpoints replace an entire schedule rather than merging into it, and changing the base territory silently wipes pending scheduled changes. This server refuses those calls unless you acknowledge each behaviour explicitly, and the PPP rebalance flow refuses any run where a single territory drops more than maxDropPct (default 90%). Read the write semantics before the first write: apps and IAPs have no grandfather mechanism, so a new schedule activates for everyone at each entry's startDate.

What it is

A broad App Store Connect API server. It reads and writes the parts of App Store Connect that are otherwise a lot of clicking: subscription and app price schedules, introductory, promotional and win-back offers, review screenshots and attachments, age rating, availability, provisioning and certificates, Xcode Cloud runs, and sandbox testers.

What you get

  • Apps and subscriptions — asc_list_apps, asc_get_app, asc_list_subscription_groups, asc_list_subscriptions, asc_list_subscription_prices
  • Price points narrowed to what you care about — asc_list_app_price_points and asc_list_subscription_price_points take nearAmount (and nearCount, default 10) so you get the nearest tiers rather than every tier in the territory
  • Writes with pre-flight guards — asc_post_app_price_schedule and asc_post_iap_price_schedule replace the whole schedule, and refuse unless acknowledgeReplacesAll: true is passed and one entry targets the base territory with no startDate
  • All three offer types — introductory (asc_post_subscription_introductory_offer with FREE_TRIAL, PAY_AS_YOU_GO, PAY_UP_FRONT), promotional, and win-back, each with list, get, patch and delete
  • Offer signing for in-app redemption — asc_sign_promotional_offer, asc_sign_promotional_offer_legacy, asc_sign_introductory_offer_eligibility; signatures are valid for 24 hours
  • Release plumbing — asc_get_app_store_review_detail, asc_post_app_store_version_release_request, asc_post_iap_submission, asc_post_subscription_submission
  • Age rating — asc_get_age_rating_declaration shows only the non-default answers, asc_patch_age_rating_declaration merges changes
  • Xcode Cloud — asc_list_ci_build_runs, asc_list_ci_issues, asc_list_ci_artifacts, asc_post_ci_build_run to start a build
  • Provisioning — asc_list_bundle_ids, asc_list_certificates, asc_list_profiles, asc_list_devices and their write counterparts
  • asc_list_territories returns all 175 App Store territories
  • Every list and get tool returns a compact text table by default; raw: true gives the full JSON:API payload and maxItems caps auto-pagination

Requirements

Published on npm as @akoskomuves/appstoreconnect-mcp, version 1.9.0. npx @akoskomuves/appstoreconnect-mcp init runs a wizard that opens the Keys page, copies the .p8 into ~/.appstore/ with chmod 600, verifies auth with a real API call, and registers the server in whichever clients it finds. Configured by hand it needs ASC_ISSUER_ID (the issuer UUID), ASC_KEY_ID (10 characters) and ASC_PRIVATE_KEY_PATH (the .p8 file). ASC_VENDOR_NUMBER is optional and only needed for the sales and finance report tools. Provisioning and code-signing tools additionally require an Admin or Account Holder API key — App Manager and Developer keys get 403. Offer signing uses a separate In-App Purchase key, not the ASC API key. npx @akoskomuves/appstoreconnect-mcp doctor runs a read-only diagnostic.

Setup effort

One command plus a key — npx @akoskomuves/appstoreconnect-mcp init, then supply credentials