appstore-release-mcp is an MCP (Model Context Protocol) server for driving the complete App Store release cycle of iOS and macOS apps. Its workflow covers: version bump → archive and TestFlight upload → metadata → submit for review → status query.
Purpose and positioning This tool is described as a "release pilot," not an API browser. Existing App Store Connect MCP servers typically wrap the REST API, handling metadata, TestFlight management, and analytics, etc., but none can accomplish the one step the REST API does not support: uploading the binary to Apple's servers. appstore-release-mcp is designed precisely to accomplish this step.
Main capabilities
- Directly call the ASC REST API (using ES256 JWT, with zero-dependency signing implemented via node:crypto) for status queries, build management, metadata, and review submission.
- asc_upload_build: runs your existing fastlane lane to perform archiving, signing, and uploading, running as an asynchronous task and polling logs. Since a real archive takes 5–15 minutes, the asynchronous design avoids MCP timeouts.
- asc_upload_ipa: if you already have a signed .ipa file (from eas build, a CI pipeline, or a manual Xcode archive), you can upload it directly via xcrun altool, with no need for fastlane and no need for a local archiving step; you only need to configure an existing ASC API key.
- Local version bumping: supports project.pbxproj as well as project.yml for xcodegen projects.
How to use Environment requirements:
- macOS with Xcode command line tools installed (xcrun altool, for asc_upload_ipa).
- fastlane with a lane configured for building and uploading (e.g., beta) — only required for asc_upload_build; if you only use asc_upload_ipa, you can skip it entirely.
- An App Store Connect API key (.p8 file).
Generate an ASC API key (one-time): in App Store Connect → Users and Access → Integrations → App Store Connect API → Team Keys → Generate (role: App Manager). Download the .p8 file — Apple only allows downloading it once. Save it in the ~/.appstoreconnect/private_keys/ directory.
Register with Claude Code: (The original text gives the registration command here, but the specific command content is not shown in the provided text, so it is not provided for now.)
For macOS apps whose Fastfile uses platform :mac, add -e ASC_PLATFORM=MAC_OS -e ASC_FASTLANE_PLATFORM=mac.
Verification: have the agent run asc_doctor; all checks should show ✓.
Release workflow example Build locally with fastlane: (The original text gives an example here, but the specific command content is not shown in the provided text, so it is not provided for now.) Existing signed .ipa (EAS Build, CI, manual archive) — no fastlane needed: (The original text gives an example here, but the specific command content is not shown in the provided text, so it is not provided for now.)
Environment variables The credential names are intentionally kept consistent with fastlane's app_store_connect_api_key, so one set of credentials can serve both.
Use cases Suitable for developers who need to automate the App Store release workflow for iOS/macOS apps, especially in scenarios where they want to integrate version bumping, build uploading, metadata updates, and review submission into an AI assistant or automated workflow.
Limitations and notes
- The build task is a child process of the server process; if the MCP client disconnects midway through the build, the task will terminate. Logs are persisted in ~/.appstore-mcp/jobs/.
- asc_submit_review is the irreversible point of release — the tool description will prompt the agent to confirm with a human first.
- Requires a macOS environment and Xcode command line tools.
- Using asc_upload_build requires fastlane and the corresponding lane; this is not required if using asc_upload_ipa.
- Requires an App Store Connect API key (.p8), and Apple only allows it to be downloaded once.