Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Appstore Release

БесплатноНе проверен

An MCP server that drives the full App Store release cycle for iOS and macOS apps: version bump, archive + TestFlight upload, metadata, review submission, and s

GitHubEmbed

Описание

An MCP server that drives the full App Store release cycle for iOS and macOS apps: version bump, archive + TestFlight upload, metadata, review submission, and status.

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: archiving, signing, and uploading your binary. This server is a release pilot, not an API browser:

  • Direct ASC REST API (ES256 JWT, zero-dependency signing via node:crypto) for status, builds, metadata, and review submission
  • Your existing fastlane lane for archive + sign + upload, run as an async job with log polling (a real archive takes 5–15 minutes — no MCP timeout can hold that)
  • Local version bumping across project.pbxproj (and project.yml for xcodegen projects)

Requirements

  • macOS with Xcode + command line tools
  • fastlane with a lane that builds and uploads (e.g. beta) — only needed for asc_upload_build; all other tools are pure REST
  • 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:

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

Tool What it does
asc_doctor Verify config, creds, fastlane, xcodebuild, 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_job_status Poll a build job; 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

asc_doctor                                   # toolchain healthy?
asc_bump_version {marketing_version: "1.1.0"}
asc_upload_build                             # → job id
asc_job_status {job_id}                      # poll until succeeded
asc_list_builds                              # wait for processingState VALID
asc_update_metadata {whats_new: "...", create_version: "1.1.0"}
asc_submit_review {build_id}                 # point of no return
asc_app_status                               # WAITING_FOR_REVIEW

Environment variables

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

Var Required Notes
APPLE_KEY_ID yes ASC API key ID
APPLE_ISSUER_ID yes ASC issuer ID
APPLE_KEY_CONTENT / ASC_KEY_PATH one of base64-encoded .p8 / path to .p8 file
APPLE_TEAM_ID for builds Apple Developer team ID
ASC_BUNDLE_ID yes your app's bundle identifier
ASC_PROJECT_DIR recommended Xcode project root where fastlane runs (default: cwd)
ASC_PLATFORM no IOS (default), MAC_OS, TV_OS, VISION_OS
ASC_FASTLANE_LANE no upload lane name (default: beta)
ASC_FASTLANE_PLATFORM no fastlane platform prefix, e.g. mac or ios
ASC_UPLOAD_CMD no full 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

from github.com/rabdulsal/appstore-release-mcp

Установка Appstore Release

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/rabdulsal/appstore-release-mcp

FAQ

Appstore Release MCP бесплатный?

Да, Appstore Release MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Appstore Release?

Нет, Appstore Release работает без API-ключей и переменных окружения.

Appstore Release — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Appstore Release в Claude Desktop, Claude Code или Cursor?

Открой Appstore Release на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Appstore Release with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development