Documents

app-store-connect-mcp

Try it

This skill should be used when the user asks about App Store Connect data — their apps, builds, TestFlight beta testers, customer reviews, sales reports, or team users. Triggers on phrases like "check App Store Connect", "list my apps", "TestFlight builds", "beta testers", "App Store reviews", "respond to review", "sales report", "invite tester", "App Store Connect users", or any request involving Apple developer / App Store Connect / TestFlight management.

What it does

This skill should be used when the user asks about App Store Connect data — their apps, builds, TestFlight beta testers, customer reviews, sales reports, or team users. Triggers on phrases like "check App Store Connect", "list my apps", "TestFlight builds", "beta testers", "App Store reviews", "respond to review", "sales report", "invite tester", "App Store Connect users", or any request involving Apple developer / App Store Connect / TestFlight management.

The skill document

app-store-connect-mcp

MCP server for App Store Connect — 21 tools covering apps, TestFlight, customer reviews, sales/finance reports, and team users via the App Store Connect API.

Setup

Set three env vars in your MCP host config:

  • APP_STORE_CONNECT_KEY_ID — 10-character Key ID (e.g. ABC1234567)
  • APP_STORE_CONNECT_ISSUER_ID — Team Issuer ID (UUID)
  • APP_STORE_CONNECT_PRIVATE_KEY_PATH — absolute path to your downloaded .p8 file (or paste PEM into APP_STORE_CONNECT_PRIVATE_KEY)

Generate a key at appstoreconnect.apple.com → Users and Access → Integrations → App Store Connect API. Save the .p8 (only downloadable once).

Tools

Apps

  • list_apps — List apps (filter by bundleId/name)
  • get_app — App details by ID
  • list_app_store_versions — Releases for an app
  • get_app_infos — Age rating and store-state info

TestFlight

  • list_builds — Recent builds, newest first
  • get_build — Single build details
  • list_beta_groups — Internal & external beta groups
  • list_beta_testers — Testers, filter by app/group/email
  • invite_beta_tester — Add a new tester (optionally to groups/builds)
  • delete_beta_tester — Remove tester from team
  • add_testers_to_beta_group — Bulk add to a group
  • remove_testers_from_beta_group — Bulk remove from a group
  • submit_build_for_beta_review — Send build for beta review

Customer Reviews

  • list_customer_reviews — Reviews for an app, filter by rating/territory
  • get_customer_review — Single review with developer response
  • respond_to_review — Post or update reply

Sales & Finance

  • download_sales_report — Daily/weekly/monthly/yearly units & sales TSV
  • download_finance_report — Region-scoped finance/proceeds TSV

Team Users

  • list_users — Team users
  • list_user_invitations — Pending invitations
  • invite_user — Invite new team member with roles

Common workflows

Triage low-rated reviews

  1. list_customer_reviews with rating: 1 (sorted -createdDate by default)
  2. For each, get_customer_review to see if there's already a response
  3. respond_to_review to reply

Promote a build to external testers

  1. list_builds with appId to find the build (look for processingState: VALID)
  2. submit_build_for_beta_review with that build's ID
  3. After Apple approval, add_testers_to_beta_group for the external group

Onboard a new beta tester

  1. list_beta_groups with appId to find the right group
  2. invite_beta_tester with email, optional name, and betaGroupIds

Daily sales pull

  • download_sales_report with your vendorNumber (from App Store Connect → Payments and Financial Reports), reportDate: YYYY-MM-DD, default frequency: DAILY
  • Reports are typically available ~24h after the close of the date

Notes

  • App Store Connect uses JSON:API: filters are filter[name]=value, sorts use - prefix for descending.
  • All write operations (invites, deletions, review responses, beta review submission) require an API key with sufficient role (App Manager or Admin for most TestFlight/team work).
  • Sales reports come back as gzipped TSVs and are auto-parsed into row objects. The tool truncates after limit rows (default 500) but reports the total row count.
  • Expect a real .p8 file path (or PEM string). The MCP signs short-lived (20-minute) ES256 JWTs locally — your private key never leaves the machine.

Related skills

An Apple App Store API alternative on fetcher.sh — pay-per-call in USDC via x402, or prepaid credits with a Bearer key, no Apple Developer Program membership. Use when the user wants to search iOS apps by keyword in any country's storefront, fetch an app's or app bundle's full details, reviews sorted by recent/helpful, apps similar to a given app, search or fetch app bundles, or fetch a developer's app catalog. Also covers iOS app store optimization (ASO) research, competitor app monitoring, localized storefront comparison, and app discovery without Apple Developer Program access.

1 installs1 stars

This skill should be used when the user asks about Apple app data via the native Swift MCP — Calendar, Reminders, Contacts, Maps, Mail, Messages, Notes, or Photos on macOS. Triggers on phrases like "check my calendar", "find contact", "send iMessage", "search my notes", "recent emails", "find photos of", or any macOS-native app automation. Requires macOS 14+ on Apple Silicon; faster than the AppleScript-backed Node variant.

12 installs

Appcues (appcues.com). Use this skill for ANY Appcues request — reading, creating, and updating data. Whenever a task involves Appcues, use this skill instead of calling the API directly.

Search the Apple App Store, read a full app listing by App Store id or bundle id, and pull user reviews as structured JSON. 3 endpoints, 1 credit each, any Apple storefront.

Appcircle (appcircle.io). Use this skill for ANY Appcircle request — searching and reading data. Whenever a task involves Appcircle, use this skill instead of calling the API directly.