The App Store Connect MCP Server is a tool for interacting with the App Store Connect API, enabling management of:
App Management: List all apps, get detailed information and view metadata
Beta Testing: Manage beta groups and testers (list, add/remove testers)
Bundle ID Management: List, create, and manage bundle IDs and their capabilities
Device Management: List and filter registered devices by type, platform, and status
User Management: List team members and filter by roles and access permissions
Allows interaction with the App Store Connect API for managing apps, beta testers, bundle IDs, devices, and capabilities in App Store Connect.
Provides tools for App Store Connect API integration, enabling management of apps, beta testing, bundle IDs, devices, and user permissions for App Store submissions.
App Store Connect MCP Server
A Model Context Protocol (MCP) server for interacting with the App Store Connect API. This server provides tools for managing apps, beta testers, bundle IDs, devices, app metadata, and capabilities in App Store Connect.
Overview
The App Store Connect MCP Server is a comprehensive tool that bridges the gap between AI and Apple's App Store Connect ecosystem. Built on the Model Context Protocol (MCP), this server enables developers to interact with their App Store Connect data directly through conversational AI, making app management, beta testing, and analytics more accessible than ever.
Key Benefits:
🤖 AI-Powered App Management: Use natural language to manage your iOS and macOS apps
📊 Comprehensive Analytics: Access detailed app performance, sales, and user engagement data
👥 Streamlined Beta Testing: Efficiently manage beta groups and testers
🌍 Localization Management: Update app descriptions, keywords, and metadata across all languages
🔧 Developer Tools Integration: List Xcode project schemes and integrate with development workflows
🔐 Secure Authentication: Uses official App Store Connect API with JWT authentication
🚀 Real-time Data: Access up-to-date information directly from Apple's systems
Who This Is For:
iOS/macOS developers managing apps in App Store Connect
Development teams coordinating beta testing programs
Product managers analyzing app performance and user engagement
Marketing teams managing app metadata and localizations
DevOps engineers automating app store workflows
Anyone looking to streamline their Apple developer experience
This server transforms complex App Store Connect operations into simple conversational commands, whether you're checking app analytics, managing beta testers, updating app descriptions, or exploring your development pipeline.
Related MCP server: mcp-server-aistor
Features
App Management
List all apps
Get detailed app information
View app metadata and relationships
Beta Testing
List beta groups
List beta testers
Add/remove testers from groups
Manage beta test configurations
View beta feedback with screenshots and device information
App Store Version Localizations ✨ NEW
Create new app store versions with release scheduling
List all app store versions for an app
List all localizations for an app version
Get specific localization details
Update app descriptions, keywords, and promotional text
Manage marketing and support URLs
Update "What's New" text for releases
Bundle ID Management
List bundle IDs
Create new bundle IDs
Get bundle ID details
Enable/disable capabilities
Device Management
List registered devices
Filter by device type, platform, status
View device details
User Management
List team members
View user roles and permissions
Filter users by role and access
Analytics & Reports
Create analytics report requests for apps
Download App Store engagement, commerce, and usage analytics
Access performance and frameworks usage reports
Download sales and trends reports (daily, weekly, monthly, yearly)
Download finance reports by region
Xcode Development Tools
List available schemes in Xcode projects and workspaces
Integrate with development workflows and CI/CD pipelines
Installation
Using Smithery
To install App Store Connect Server for Claude Desktop automatically:
Manual Installation
Configuration
Add the following to your Claude Desktop configuration file:
macOS
Windows
Authentication
Required Configuration
Generate an App Store Connect API Key from App Store Connect
Download the .p8 private key file
Note your Key ID and Issuer ID
Set the required environment variables in your configuration:
APP_STORE_CONNECT_KEY_ID: Your API Key IDAPP_STORE_CONNECT_ISSUER_ID: Your Issuer IDAPP_STORE_CONNECT_P8_PATH: Path to your .p8 private key file
Optional Configuration for Sales & Finance Reports
To enable sales and finance reporting tools, you'll also need:
APP_STORE_CONNECT_VENDOR_NUMBER: Your vendor number from App Store Connect
Note: Sales and finance report tools (download_sales_report, download_finance_report) will only be available if the vendor number is configured. You can find your vendor number in App Store Connect under "Sales and Trends" or "Payments and Financial Reports".
Complete Tool Reference
📱 App Management Tools
list_apps
Get a list of all apps in App Store Connect.
Parameters:
limit(optional): Maximum number of apps to return (default: 100, max: 200)bundleId(optional): Filter by bundle identifier
Example:
get_app_info
Get detailed information about a specific app.
Parameters:
appId(required): The ID of the appinclude(optional): Related resources to include (e.g., appClips, appInfos, appStoreVersions, betaGroups, builds)
Example:
👥 Beta Testing Tools
list_beta_groups
List all beta testing groups (internal and external).
Parameters:
limit(optional): Maximum number of groups to return (default: 100, max: 200)appId(optional): Filter by app ID
Example:
list_group_testers
List testers in a specific beta group.
Parameters:
groupId(required): The ID of the beta grouplimit(optional): Maximum number of testers to return (default: 100, max: 200)
Example:
add_tester_to_group
Add a new tester to a beta group.
Parameters:
groupId(required): The ID of the beta groupemail(required): Email address of the testerfirstName(optional): Tester's first namelastName(optional): Tester's last name
Example:
remove_tester_from_group
Remove a tester from a beta group.
Parameters:
groupId(required): The ID of the beta grouptesterId(required): The ID of the tester
Example:
list_beta_feedback_screenshots
List beta feedback screenshot submissions.
Parameters:
appId(optional): Filter by app IDbundleId(optional): Filter by bundle identifierbuildId(optional): Filter by build IDlimit(optional): Maximum results (default: 100)includeBuilds(optional): Include build informationincludeTesters(optional): Include tester information
Example:
get_beta_feedback_screenshot
Get detailed information about a specific beta feedback screenshot.
Parameters:
feedbackId(required): The ID of the feedbackincludeBuilds(optional): Include build informationincludeTesters(optional): Include tester informationdownloadScreenshot(optional): Download the screenshot image (default: true)
Example:
🌍 App Store Version Localization Tools
create_app_store_version
Create a new app store version for an app.
Parameters:
appId(required): The ID of the appplatform(required): The platform (IOS, MAC_OS, TV_OS, VISION_OS)versionString(required): Version string in format X.Y or X.Y.Z (e.g., '1.0' or '1.0.0')copyright(optional): Copyright text for this versionreleaseType(optional): How the app should be released (MANUAL, AFTER_APPROVAL, SCHEDULED)earliestReleaseDate(optional): ISO 8601 date string (required when releaseType is SCHEDULED)buildId(optional): ID of the build to associate with this version
Example:
list_app_store_versions
Get all app store versions for a specific app.
Parameters:
appId(required): The ID of the applimit(optional): Maximum number of versions to return (default: 100, max: 200)filter(optional): Filter optionsplatform: Filter by platform (IOS, MAC_OS, TV_OS)versionString: Filter by version string (e.g., '1.0.0')appStoreState: Filter by state (e.g., READY_FOR_SALE, PREPARE_FOR_SUBMISSION)
Example:
list_app_store_version_localizations
Get all localizations for a specific app store version.
Parameters:
appStoreVersionId(required): The ID of the app store versionlimit(optional): Maximum number of localizations (default: 100, max: 200)
Example:
get_app_store_version_localization
Get detailed information about a specific localization.
Parameters:
localizationId(required): The ID of the localization
Example:
update_app_store_version_localization
Update a specific field in an app store version localization.
Parameters:
localizationId(required): The ID of the localizationfield(required): Field to update (description, keywords, marketingUrl, promotionalText, supportUrl, whatsNew)value(required): New value for the field
Example:
🔤 Bundle ID Management Tools
create_bundle_id
Register a new bundle ID for app development.
Parameters:
identifier(required): The bundle ID string (e.g., 'com.example.app')name(required): A name for the bundle IDplatform(required): Platform (IOS, MAC_OS, or UNIVERSAL)seedId(optional): Your team's seed ID
Example:
list_bundle_ids
Find and list bundle IDs registered to your team.
Parameters:
limit(optional): Maximum results (default: 100, max: 200)sort(optional): Sort order (name, -name, platform, -platform, identifier, -identifier)filter(optional): Filter by identifier, name, platform, or seedIdinclude(optional): Include related resources (profiles, bundleIdCapabilities, app)
Example:
get_bundle_id_info
Get detailed information about a specific bundle ID.
Parameters:
bundleIdId(required): The ID of the bundle IDinclude(optional): Related resources to includefields(optional): Specific fields to include
Example:
enable_bundle_capability
Enable a capability for a bundle ID.
Parameters:
bundleIdId(required): The ID of the bundle IDcapabilityType(required): Type of capability (e.g., PUSH_NOTIFICATIONS, ICLOUD, GAME_CENTER)settings(optional): Capability-specific settings
Example:
disable_bundle_capability
Disable a capability for a bundle ID.
Parameters:
capabilityId(required): The ID of the capability to disable
Example:
📱 Device Management Tools
list_devices
Get a list of all devices registered to your team.
Parameters:
limit(optional): Maximum results (default: 100, max: 200)sort(optional): Sort order (name, platform, status, udid, deviceClass, model, addedDate)filter(optional): Filter by name, platform, status, udid, or deviceClassfields(optional): Specific fields to include
Example:
👤 User Management Tools
list_users
Get a list of all users on your App Store Connect team.
Parameters:
limit(optional): Maximum results (default: 100, max: 200)sort(optional): Sort order (username, firstName, lastName, roles)filter(optional): Filter by username or rolesfields(optional): Specific fields to includeinclude(optional): Include visibleApps relationship
Example:
📊 Analytics & Reports Tools
create_analytics_report_request
Create a new analytics report request for an app.
Parameters:
appId(required): The app IDaccessType(required): Type of analytics (ONGOING or ONE_TIME_SNAPSHOT)frequency(optional): Report frequency for ongoing reports (DAILY, WEEKLY, MONTHLY)startDate(optional): Start date (YYYY-MM-DD)endDate(optional): End date (YYYY-MM-DD)
Example:
list_analytics_reports
Get available analytics reports for a request.
Parameters:
reportRequestId(required): The report request IDlimit(optional): Maximum results (default: 100, max: 200)filter(optional): Filter by category, name, or date
Example:
list_analytics_report_segments
Get segments for a specific analytics report.
Parameters:
reportId(required): The analytics report IDlimit(optional): Maximum results (default: 100, max: 200)
Example:
download_analytics_report_segment
Download data from an analytics report segment.
Parameters:
url(required): The segment download URL
Example:
💰 Sales & Finance Reports Tools (Requires Vendor Number)
download_sales_report
Download sales and trends reports.
Parameters:
frequency(required): Report frequency (DAILY, WEEKLY, MONTHLY, YEARLY)reportDate(required): Date in appropriate formatreportType(required): Type of report (SALES, SUBSCRIPTION, SUBSCRIPTION_EVENT, SUBSCRIBER, NEWSSTAND, PREORDER)reportSubType(required): SUMMARY or DETAILEDvendorNumber(optional): Override default vendor numberversion(optional): Report version (default: 1_0)
Example:
download_finance_report
Download finance reports for a specific region.
Parameters:
reportDate(required): Report date (YYYY-MM)regionCode(required): Region code (e.g., 'Z1' for worldwide)vendorNumber(optional): Override default vendor number
Example:
🔧 Xcode Development Tools
list_schemes
List all available schemes in an Xcode project or workspace.
Parameters:
projectPath(required): Path to .xcodeproj or .xcworkspace file
Example:
Error Handling
The server implements proper error handling for:
Invalid authentication
Missing required parameters
API rate limits
Network issues
Invalid operations
Development
License
This project is licensed under the MIT License - see the LICENSE file for details.