Repository avatar
Developer Tools
v0.18.0
active

apple-connect-workflows-mcp

io.github.mesutbeysulen/apple-connect-workflows-mcp

App Store Connect release prep: metadata, builds, TestFlight, review, commerce, Game Center.

Documentation

Apple Connect Workflows MCP

npm version CI GitHub stars License: MIT Node.js

A local Model Context Protocol server and CLI for preparing and shipping apps and games through App Store Connect, from Claude, Codex or any MCP client. It covers the release path end to end: app information, screenshots, builds, TestFlight, App Review, release, in-app purchases, marketing, Game Center, Xcode Cloud, team and signing, and reports.

It runs over stdio, keeps API keys on your machine, starts every account read-only, and stores plans and journals in a local SQLite database. It is not affiliated with Apple.

Give this line to your AI assistant to install and configure it:

https://github.com/mesutbeysulen/apple-connect-workflows-mcp — install this MCP server for me and follow AGENTS.md. Keep the account read-only.

Quick start

Node.js 24 or newer. Pass the path to your .p8 key, never its contents:

npx -y apple-connect-workflows-mcp@0.18.0 key-setup \
  --config "$HOME/.apple-connect-mcp/config.json" \
  --name main --issuer YOUR_ISSUER_UUID \
  --p8 /absolute/path/AuthKey_ABCDEFGHIJ.p8

npx -y apple-connect-workflows-mcp@0.18.0 doctor --config "$HOME/.apple-connect-mcp/config.json"

Register it with Claude Code (for Codex CLI, use codex mcp add with the same arguments):

claude mcp add apple-connect --env APPLE_CONNECT_CONFIG="$HOME/.apple-connect-mcp/config.json" -- \
  npx -y apple-connect-workflows-mcp@0.18.0 serve

For individual keys, other clients, source installs and enabling writes, see Getting started.

Documentation

GuideWhat it covers
Getting startedInstall, API key, config fields, client registration, first reads, enabling writes
Release checklistEvery step from a new app record to a live version, with the command for each
Safety modelRead-only defaults, previews, reviewed plans, secrets, operator policy, irreversible actions
CLI command referenceAll commands by topic (also apple-connect-mcp help <topic>)
MCP toolsEvery tool the server exposes, with read-only hints
ChangelogChanges per release, including breaking ones
AGENTS.mdInstructions an assistant follows to install the server for you
Security policyHow to report a vulnerability privately

What it supports

AreaExamples
Apps and versionsApp information, categories, age rating, availability, version text, review details, export compliance
MediaAsset Library screenshots, app previews, Header and Search Results images; interrupted uploads resume
Builds and TestFlightUpload IPA/PKG files, wait for processing, beta groups and testers, Beta App Review
App Review and releaseReadiness report, submission, phased release, manual release, customer review replies
CommerceIn-app purchases, subscriptions, prices, territories, introductory, promotional and win-back offers, offer codes, promoted purchases, retention messages, sandbox testers
MarketingCustom Product Pages, in-app events, product page A/B tests
Game CenterLeaderboards, sets, achievements, activities and challenges on Apple's versioned model; groups and matchmaking
Xcode CloudStart builds, wait for results with failing tests, download artifacts
Team and signingTeam members, devices, App ID capabilities, certificates from your own CSR, provisioning profiles
Listing extrasLicense agreement, accessibility labels, routing coverage, App Clips, background assets, EU alternative distribution
Reports and webhooksSales, finance and analytics reports; webhooks and a local receiver
Anything elseSearch Apple's API catalog, read any GET endpoint, and run reviewed, schema-checked writes

How writes stay safe

  • Accounts are read-only until you set readOnly: false and list the app in allowedAppIds.
  • Commands check that every ID belongs to the named app before writing.
  • Price, availability, team, signing and bulk changes preview first and write only with --execute.
  • From an MCP client, writes go through a saved plan with a SHA-256 digest that runs once. The client prepares and shows it; you run it with apple-connect-mcp workflow-apply. Set mcpApply: true on an account to let the client apply plans itself.

Details and limits are in the safety model.

Status

Every request the commands send is checked in tests against Apple's App Store Connect API 4.6 OpenAPI schema, and the MCP server is tested over a real stdio session. Read tools have been run against a live account with smoke-read (67 of 71 returned real data, none failed), and the core release-preparation writes (text, metadata sync, App Review and TestFlight details, beta groups, build attachment, screenshot upload, and the MCP plan-and-apply path), Custom Product Pages, in-app events, webhooks, sandbox testers, App IDs, capabilities, provisioning profiles, certificates, A/B test setup, in-app purchases, subscriptions, offers and Game Center items. Submission, release, team and Xcode Cloud writes are not yet verified live; see the safety model. Run smoke-read on your account, then try writes on a test app.

Not covered: creating the app record, App Privacy answers and agreements (no API; submission_manual_steps links to them), Keychain storage of keys, and remote multi-user hosting.

Development

npm ci
npm run check
npm test
npm run docs   # regenerate docs/commands.md and docs/mcp-tools.md after changing help or tools

CI runs on Node.js 24 and 26. To regenerate the API catalog from an Apple OpenAPI document, run npm run catalog -- /absolute/path/to/openapi.oas.json. Command help lives in src/help.ts; tests fail if a command is missing from it or the generated docs are stale.

Releasing

Add a section to CHANGELOG.md, bump version in package.json, both versions in server.json, and the pinned version in README.md, AGENTS.md and docs/getting-started.md, then push to main. The Release workflow runs only when npm does not have that version yet: it runs the checks and tests, publishes to npm, creates the v<version> tag and a GitHub release, and lists the version in the MCP Registry as io.github.mesutbeysulen/apple-connect-workflows-mcp.

Publishing uses npm trusted publishing with provenance for the workflow release.yml. If an NPM_TOKEN repository secret exists, the workflow publishes with that token instead and skips provenance.

License

MIT.

NPM
apple-connect-workflows-mcp
Install Command
npm install apple-connect-workflows-mcp