Appstore Release Mcp

io.github.rabdulsal由 GitHub 帳號 rabdulsal 發布v0.1.1更新於 Oct 24, 2026

App Store release pilot — version bump, TestFlight upload, metadata, review submission

概覽

AI 產生的概覽

一個本機 MCP 伺服器,為 iOS 與 macOS 應用程式執行 App Store 發佈流程:版本號更新、TestFlight 上傳、中繼資料與提交審查。

可以做什麼
透過 App Store Connect API 檢查設定、憑證、工具鏈與應用程式記錄,並讀取應用程式狀態、版本、審查狀態與建置處理狀態。在本機 Xcode 專案檔案中提升建置號或設定行銷版本號。以非同步工作執行 fastlane lane 上傳建置,或透過 xcrun altool 直接上傳已簽署的 .ipa,再輪詢工作狀態與日誌尾端。更新描述、關鍵字、新功能說明與推廣文字,並關聯建置以建立與提交審查。
適用情境
適合在 Mac 上讓助理驅動 App Store Connect 發佈:更新版本、把二進位檔送到 Apple、編輯商店中繼資料並提交審查,不必在多個工具間切換。
執行需求
在 macOS 上本機執行,需要 Xcode 命令列工具(xcrun altool);使用 fastlane 上傳路徑時還需 fastlane 及建置上傳 lane。需要 App Store Connect API 金鑰(.p8)以及 APPLE_KEY_ID、APPLE_ISSUER_ID、ASC_BUNDLE_ID,並提供 ASC_KEY_PATH 或 APPLE_KEY_CONTENT 其中之一;fastlane 上傳需要 APPLE_TEAM_ID。透過 npx appstore-release-mcp 安裝。
安裝前請注意
需要 App Store Connect API 私鑰,以檔案路徑或 APPLE_KEY_CONTENT 中的 base64 內容提供;Apple 的 .p8 只能下載一次。更新版本時會寫入本機專案檔案,並會把二進位檔上傳到 Apple。asc_submit_review 會提交發佈審查,被描述為不可回頭的節點,應先與人工確認。若 MCP 用戶端在建置中途斷線,建置工作會終止。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Appstore Release Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

appstore-release-mcp

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:

bash
claude mcp add appstore \  -e APPLE_KEY_ID=XXXXXXXXXX \  -e APPLE_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \  -e ASC_KEY_PATH=$HOME/.appstoreconnect/private_keys/AuthKey_XXXXXXXXXX.p8 \  -e APPLE_TEAM_ID=XXXXXXXXXX \  -e ASC_BUNDLE_ID=com.example.myapp \  -e ASC_PROJECT_DIR=/path/to/your/xcode/project \  -- npx appstore-release-mcp

For a macOS app whose Fastfile uses platform :mac, add -e ASC_PLATFORM=MAC_OS -e ASC_FASTLANE_PLATFORM=mac.

  1. Verify: ask the agent to run asc_doctor. All checks should be ✓.

Tools

ToolWhat it does
asc_doctorVerify config, creds, fastlane/xcodebuild/altool, app record — run first
asc_app_statusVersions + review states + recent builds in one call
asc_list_buildsBuild processing states (wait for VALID after upload)
asc_bump_versionBump build number / set marketing version in local project files
asc_upload_buildRun your fastlane upload lane as an async job — returns job ID immediately
asc_upload_ipaUpload an already-built .ipa via xcrun altool — async job, no fastlane needed
asc_job_statusPoll a job started by asc_upload_build or asc_upload_ipa; status + log tail
asc_update_metadataDescription / keywords / what's-new / promo text via REST
asc_submit_reviewAttach build + create review submission + submit

Release walkthrough

Building locally with fastlane:

asc_doctor                                   # toolchain healthy?asc_bump_version {marketing_version: "1.1.0"}asc_upload_build                             # → job idasc_job_status {job_id}                      # poll until succeededasc_list_builds                              # wait for processingState VALIDasc_update_metadata {whats_new: "...", create_version: "1.1.0"}asc_submit_review {build_id}                 # point of no returnasc_app_status                               # WAITING_FOR_REVIEW

Already have a signed .ipa (EAS Build, CI, manual archive) — no fastlane needed:

asc_doctorasc_upload_ipa {ipa_path: "./build/app.ipa"} # → job idasc_job_status {job_id}                      # poll until succeededasc_list_builds                              # wait for processingState VALIDasc_update_metadata {whats_new: "...", create_version: "1.1.0"}asc_submit_review {build_id}asc_app_status

Environment variables

Credential names deliberately match fastlane's app_store_connect_api_key, so one credential set serves both.

VarRequiredNotes
APPLE_KEY_IDyesASC API key ID
APPLE_ISSUER_IDyesASC issuer ID
APPLE_KEY_CONTENT / ASC_KEY_PATHone ofbase64-encoded .p8 / path to .p8 file
APPLE_TEAM_IDfor asc_upload_buildApple Developer team ID (not needed for asc_upload_ipa)
ASC_BUNDLE_IDyesyour app's bundle identifier
ASC_PROJECT_DIRrecommendedXcode project root where fastlane runs (default: cwd)
ASC_PLATFORMnoIOS (default), MAC_OS, TV_OS, VISION_OS
ASC_FASTLANE_LANEnoupload lane name (default: beta)
ASC_FASTLANE_PLATFORMnofastlane platform prefix, e.g. mac or ios
ASC_UPLOAD_CMDnofull override, e.g. bundle exec fastlane ios beta

Notes

  • Build jobs are children of the server process; if the MCP client disconnects mid-build the job dies. Logs persist in ~/.appstore-mcp/jobs/ either way.
  • asc_submit_review is the point of no return for a release — the tool description tells agents to confirm with a human first.

License

MIT

來源:README.md,提交 6da183e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分