home / mcp / app store connect mcp server

App Store Connect MCP Server

Provides direct MCP access to App Store Connect data and actions through authenticated commands and tools.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "joshuarileydev-app-store-connect-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "appstore-connect-mcp-server"
      ],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_VENDOR_NUMBER": "YOUR_VENDOR_NUMBER_OPTIONAL"
      }
    }
  }
}

The App Store Connect MCP Server lets you manage App Store Connect data through conversational commands. It connects to Apple’s systems using MCP and JWT-based authentication, enabling you to perform app management, beta testing, localizations, analytics, and more from natural language interactions. This server helps you automate routine tasks, access up-to-date information, and integrate App Store Connect workflows into your development and operations workflows.

How to use

You interact with the App Store Connect MCP Server through an MCP client by invoking the available tools and endpoints described in the server's capabilities. Use natural language prompts to perform tasks such as listing your apps, managing beta testers, creating app store versions, updating localization details, retrieving analytics, and generating reports. Each tool has clearly defined parameters you can supply in your requests, and the server returns structured results you can act on in your automation or reporting pipelines.

How to install

Prerequisites you need before installation are a modern Node.js and npm environment. Ensure you have Node.js v14+ and npm installed on your system.

Option A: Install via Smithery (recommended for automatic setup)

npx @smithery/cli install appstore-connect-mcp-server --client claude

Option B: Manual installation (local MCP server package)

npm install @joshuarileydev/app-store-connect-mcp-server

Configure the MCP server in your client’s configuration so the client can start and communicate with the server. The provided configuration snippet shows how to run the server using npx and set the required environment variables.

Configuration and startup

Set up the MCP server connection in your client configuration file. The example below demonstrates a stdio-based runtime using npm’s npx to launch the server, along with required environment variables.

{
  "mcpServers": {
    "app_store_connect": {
      "command": "npx",
      "args": [
        "-y",
        "appstore-connect-mcp-server"
      ],
      "env": {
        "APP_STORE_CONNECT_KEY_ID": "YOUR_KEY_ID",
        "APP_STORE_CONNECT_ISSUER_ID": "YOUR_ISSUER_ID",
        "APP_STORE_CONNECT_P8_PATH": "/path/to/your/auth-key.p8",
        "APP_STORE_CONNECT_VENDOR_NUMBER": "YOUR_VENDOR_NUMBER_OPTIONAL"
      }
    }
  }
}

Authentication and security notes

Authentication relies on an App Store Connect API key and a private key in .p8 format. You provide the key ID, issuer ID, and the path to your private key in the server configuration. Optionally, you can configure a vendor number for sales and finance reporting.

Troubleshooting and tips

If you encounter authentication or network issues, verify that your API key, issuer, and key file path are correct and that the server process has access to the private key. Check that required environment variables are present in your runtime environment and that you have enabled any required vendor-number settings when you need sales and finance reports.

Notes and best practices

Keep your API keys secure and rotate them as recommended by Apple. Use the vendor number only when you intend to access sales and finance reports. Regularly monitor permissions and access for team members who interact with App Store Connect data through the MCP server.

Development and testing commands

# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test

# Run type checking
npm run type-check

Available tools

list_apps

Get a list of all apps in App Store Connect, with optional filters like limit and bundleId.

get_app_info

Retrieve detailed information for a specific app, including related resources such as app store versions and beta groups.

list_beta_groups

List internal or external beta testing groups for an app, with optional filtering by appId and limit.

list_group_testers

List testers within a specific beta group by groupId, with an optional limit.

add_tester_to_group

Add a tester to a beta group by providing groupId and tester email, with optional firstName/lastName.

remove_tester_from_group

Remove a tester from a beta group using groupId and testerId.

list_beta_feedback_screenshots

List beta feedback screenshots with optional filtering by appId, bundleId, buildId, and tester information.

get_beta_feedback_screenshot

Get detailed beta feedback screenshot information and optionally download the image.

create_app_store_version

Create a new app store version for an app with platform, versionString, and optional release settings.

list_app_store_versions

List all app store versions for an app with optional filtering by platform, versionString, and status.

list_app_store_version_localizations

List all localizations for a specific app store version.

get_app_store_version_localization

Get details for a specific localization by localizationId.

update_app_store_version_localization

Update fields like description, keywords, marketingUrl, promotionalText, supportUrl, or whatsNew for a localization.

create_bundle_id

Register a new bundle ID with identifier, name, platform, and optional seedId.

list_bundle_ids

List bundle IDs with optional limits, sorting, and filters.

get_bundle_id_info

Get detailed information for a specific bundle ID.

enable_bundle_capability

Enable a capability for a bundle ID with a given capabilityType and optional settings.

disable_bundle_capability

Disable a specific capability by capabilityId.

list_devices

List devices registered to your team with optional filtering and fields.

list_users

List team members with filters for username/roles and optional fields.

create_analytics_report_request

Create a new analytics report request for an app with type and timeframe parameters.

list_analytics_reports

List available analytics reports for a given requestId with optional filtering.

list_analytics_report_segments

Get segments for a specific analytics report to access data slices.

download_analytics_report_segment

Download data from a specific analytics report segment using a URL.

download_sales_report

Download sales and trends reports for a given frequency and date with optional vendor number override.

download_finance_report

Download finance reports for a given date and region with optional vendor number override.

list_schemes

List available Xcode schemes in a given project or workspace path.