apple-appstore-management-mcp-gateway
A Model Context Protocol (MCP) service designed to interface with the App Store Connect REST API for comprehensive lifecycle management of Apple applications, including metadata configuration, beta recruitment, device enrollment, and telemetry retrieval.
Author

JoshuaRileyDev
Quick Info
Actions
Tags
Apple App Store Management MCP Gateway
This Model Context Protocol (MCP) server acts as a robust conduit to the App Store Connect API, enabling programmatic control over iOS, macOS, tvOS, and visionOS assets. It facilitates application governance, management of TestFlight participants, configuration of unique identifiers (Bundle IDs), device registration, and extraction of performance metrics.
System Summary
The App Store Connect MCP Gateway provides an abstraction layer over Apple's complex APIs, allowing development teams and automation systems to manage their presence in the Apple ecosystem using natural language commands through an AI interface. It covers everything from initial app setup to post-release analysis.
Core Capabilities: - 📱 Application Lifecycle Control: Administer application listings, versions, and builds. - 🧪 TestFlight Orchestration: Efficiently handle internal/external tester pools and distribution groups. - 🆔 Identifier Management: Create and maintain unique Bundle IDs, including capability provisioning. - 🛠️ Development Asset Tracking: Oversee registered hardware devices and Xcode project configurations. - 📈 Telemetry Ingestion: Request and download detailed sales, usage, and engagement reports. - 🔒 Secure Access: Leverages official JWT authentication via private p8 keys.
Target Audience: - iOS/macOS Developers needing direct API interaction. - QA Leads managing large-scale beta testing loops. - Product Owners tracking market performance and user adoption. - CI/CD pipelines requiring automated store operations.
This solution simplifies intricate App Store Connect tasks into straightforward, context-aware interactions.
Functional Modules
- Application Provisioning
- Enumerate all registered applications.
- Fetch granular details per application entity.
-
Inspect current metadata structure and related entities.
-
Beta Program Administration (TestFlight)
- Catalog internal and external testing circles (groups).
- Manage tester membership within specific circles.
-
Retrieve user feedback artifacts, including associated device snapshots.
-
Product Metadata Localization ✨ UPDATED
- Provision new application version records, optionally with release scheduling.
- Retrieve metadata records for all existing versions.
- Modify localized textual content (descriptions, keywords, release notes).
-
Manage associated marketing and support hyperlinks.
-
Identifier Registry
- Query the list of reserved Bundle Identifiers.
- Provision new unique identifiers.
-
Toggle specific platform capabilities (e.g., Push Notifications, HealthKit) on an identifier.
-
Device Enrollment Management
- List all UDIDs registered under the developer account.
-
Apply filtering based on platform, status, or naming conventions.
-
Team Membership Oversight
- Obtain a roster of all personnel associated with the development team.
-
Examine user access levels and assigned roles.
-
Data & Performance Reporting
- Initiate asynchronous requests for aggregated analytics data (usage, sales, engagement).
- Fetch financial reconciliation statements segmented by territory (requires Vendor ID).
-
Access raw framework utilization reports.
-
Development Environment Query
- Inspect associated Xcode project files to list discoverable build targets (schemes).
Deployment
Automated Installation (Smithery Client)
bash npx @smithery/cli install appstore-connect-mcp-server --client claude
Manual NPM Addition
bash npm install @joshuarileydev/app-store-connect-mcp-server
Configuration Prerequisites
Configuration requires setting environment variables corresponding to your App Store Connect API Key credentials in your MCP host environment:
{ "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 Detail: Secure JWT authentication is mandated, derived from a generated API Key (Key ID, Issuer ID, and the associated private .p8 file).
Finance Access: To leverage financial reporting tools (download_sales_report, etc.), the APP_STORE_CONNECT_VENDOR_NUMBER must be supplied.
Tool Reference Index
📱 Application Inventory Tools
list_apps
Retrieves the catalog of applications registered under the account.
Arguments:
- limit (Integer, optional): Upper bound on returned items.
- bundleId (String, optional): Filter criteria based on the unique bundle identifier.
get_app_info
Fetches comprehensive entity details for a single application.
Arguments:
- appId (String, required): Unique identifier for the target application.
- include (String comma-separated, optional): Specify related entities to embed in the response (e.g., appStoreVersions).
👥 Beta Testing Orchestration
list_beta_groups
Retrieves configured testing pools.
Arguments:
- appId (String, optional): Scope results to a specific application.
add_tester_to_group
Enrolls a specified individual into a designated testing circle.
Arguments:
- groupId (String, required): Identifier of the target beta group.
- email (String, required): Contact email for the new tester.
list_beta_feedback_screenshot
Queries submissions of visual feedback collected during beta phases.
Arguments:
- buildId (String, optional): Filter feedback tied to a specific build version.
🌍 Product Metadata Configuration
create_app_store_version
Stages a new release version record.
Arguments:
- releaseType (Enum, optional): Defines deployment timing (SCHEDULED, MANUAL, etc.).
- earliestReleaseDate (String ISO 8601, required if SCHEDULED): Target release timestamp.
update_app_store_version_localization
Modifies specific text assets within a localized listing.
Arguments:
- field (Enum, required): The attribute to modify (description, whatsNew, etc.).
- value (String, required): The new textual content.
🔤 Identifier Registry Operations
create_bundle_id
Reserves a new unique application identifier string.
Arguments:
- platform (Enum, required): Target platform (e.g., IOS).
enable_bundle_capability
Activates an API feature entitlement for a reserved identifier.
Arguments:
- capabilityType (Enum, required): The feature being enabled (e.g., GAME_CENTER).
💰 Financial Data Retrieval (Vendor ID Required)
download_sales_report
Acquires aggregated sales data based on temporal and structural criteria.
Arguments:
- frequency (Enum, required): Granularity of the report (DAILY, MONTHLY, etc.).
- reportType (Enum, required): Type of transaction data (SALES, SUBSCRIPTION).
Error Management
Robust handling is implemented for common failure modes including authentication failures, parameter validation errors, API rate limiting enforcement, and general network communication faults.
Development Lifecycle
To maintain or extend this service:
bash
Dependency setup
npm install
Code compilation
npm run build
Integrity checks
npm test
Legal
Distributed under the MIT License.
Related Documentation
WIKIPEDIA CONTEXT: Cloud computing, as standardized by ISO, defines a model characterized by five essential attributes identified by NIST: on-demand self-service, extensive network accessibility, resource consolidation via multi-tenancy, rapid scalability (elasticity), and metered utility usage. The conceptual history traces back to 1960s time-sharing mainframes, though the 'cloud' graphical metaphor emerged in 1994 within General Magic's Telescript environment.

