App Store release pilot MCP server — version bump, archive + TestFlight upload, metadata, review submission. The MCP server that actually ships your binary.
appstore-release-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
An MCP server that drives the **full App Store release cycle** for iOS and macOS apps: version bump → archive + TestFlight upload → metadata → review submission → status.
**What makes it different:** existing App Store Connect MCP servers wrap the REST API — metadata, TestFlight management, analytics. None of them can do the one step the REST API doesn't support: **getting a binary onto Apple's servers**. This server is a *release pilot*, not an API browser, and gives you two ways to do that:
- **Direct ASC REST API** (ES256 JWT, zero-dependency signing via node:crypto) for status, builds, metadata, and review submission
- **asc_upload_build** — your existing fastlane lane archives, signs, and uploads, run as an **async job** with log polling (a real archive takes 5–15 minutes — no MCP timeout can hold that)
- **asc_upload_ipa** — already have a signed .ipa? (from eas build, a CI pipeline, a manual Xcode archive) Upload it directly via xcrun altool — no fastlane, no local archive step, nothing to configure beyond the ASC API key you already have
- **Local version bumping** across project.pbxproj (and project.yml for xcodegen projects)
Requirements
- macOS with Xcode command line tools (xcrun altool — used by asc_upload_ipa)
- fastlane with a lane that builds and uploads (e.g. beta) — only needed for asc_upload_build; skip it entirely if you're only using asc_upload_ipa
- An App Store Connect API key (.p8)
Setup
1. **Generate an ASC API key** (once): App Store Connect → Users and Access → Integrations → App Store Connect API → Team Keys → Generate (role: **App Manager**). Download the .p8 — Apple lets you download it exactly once. Keep it in ~/.appstoreconnect/private_keys/.
2. **Register with Claude Code:**
For a macOS app whose Fastfile uses platform :mac, add -e ASC_PLATFORM=MAC_OS -e ASC_FASTLANE_PLATFORM=mac.
3. **Verify:** ask the agent to run asc_doctor. All checks should be ✓.
Tools
| Tool | What it does |
|---|---|
| asc_doctor | Verify config, creds, fastlane/xcodebuild/altool, app record — run first |
| asc_app_status | Versions + review states + recent builds in one call |
| asc_list_builds | Build processing states (wait for VALID after upload) |
| asc_bump_version | Bump build number / set marketing version in local project files |
| asc_upload_build | Run your fastlane upload lane as an async job — returns job ID immediately |
| asc_upload_ipa | Upload an already-built .ipa via xcrun altool — async job, no fastlane needed |
| asc_job_status | Poll a job started by asc_upload_build or asc_upload_ipa; status + log tail |
| asc_update_metadata | Description / keywords / what's-new / promo text via REST |
| asc_submit_review | Attach build + create review submission + submit |
Release walkthrough
Building locally with fastlane:
Already have a signed .ipa (EAS Build, CI, manual archive) — no fastlane needed: