App Store Release

io.github.beydemirfurkanPublished by GitHub account beydemirfurkanv4.3.2Updated Oct 24, 2026

Ship an iOS app to App Store review: readiness report, idempotent pipeline, submit.

Overview

AI-generated overview

A local MCP server that lets an assistant check an iOS app's App Store readiness, fill in its listing, and submit it for App Review via App Store Connect.

What you can do
Read the app offline and flag what App Review rejects, with guideline, file and line, and fix (preflight). Read the whole app and return a verdict with an ordered plan, marking which findings the tool can fix and which only you can (check). Write the listing: build, localized metadata, price, age rating, accessibility labels, screenshots, subscriptions and in-app purchases, idempotently (release). Submit the version with new plans and purchases only when check says ready, then follow the review to its outcome (submit).
When to use it
Use it when you are preparing or shipping an iOS app and want an assistant to audit it against App Review rules, fill in App Store Connect metadata, and submit a version for review without clicking through the web UI.
Requirements
Runs as a local process on the desktop (Node 20.11+). Needs an App Store Connect API key: ASC_ISSUER_ID, ASC_KEY_ID and the path to the AuthKey .p8 private key in ASC_P8_PATH, plus ASC_APP_ID and a config file. A demo mode runs against a local stand-in without an Apple account.
Before you install
Requires an App Store Connect API private key, a sensitive credential that grants access to your developer account; keep it out of shared or synced locations. The server writes listing data, subscriptions and in-app purchases and submits versions for review, which are real changes to a live app. Some steps, such as the App Privacy label, must still be done by hand in Apple's web UI.

Installation

In SourceWeft

  1. Open App Store Release in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

appstore-release

Ship an iOS app to App Store review by asking your agent.

[skills.sh] [CI] [MIT] [iOS 27]

[appstore-release: check finds twelve blockers, release fixes them, submit sends the app and its new subscription to App Review]

Real output, recorded against the demo below.


bash
npx skills add beydemirfurkan/appstore-release

Then tell your agent: "Publish my app for review."

The agent reads your app from App Store Connect and names everything that stands between it and review. It then fixes whatever Apple's API allows and submits only once nothing is in the way.

Try it without an Apple account

bash
git clone https://github.com/beydemirfurkan/appstore-release && cd appstore-releasesource scripts/demo/setup.sh
appstore-release checkappstore-release releaseappstore-release submit --submit

The demo runs against a local stand-in for App Store Connect, so nothing leaves your machine.

How it works

preflight reads the app itself — Info.plist, privacy manifest, code — offline, and names what App Review rejects before you build: a permission prompt with no reason, accounts that cannot be deleted, a paywall with no restore. Each finding has the guideline, the file and line, and the fix.

check reads the whole app and returns a verdict with an ordered plan. Each finding says whether the tool can fix it or only you can.

release writes the listing: build, metadata in every locale, price, age rating, accessibility labels, screenshots, subscriptions with their offers and offer codes, and in-app purchases. It is idempotent; a second run sends nothing.

submit sends the version with any new plans and purchases, and refuses unless check says ready. check --wait then follows the review to its outcome.

Apple keeps the App Privacy label in its web UI; check tells you exactly where to click. An app's first subscription or in-app purchase goes with the version by API — and if App Store Connect will not take it, nothing is submitted and you get the clicks instead.

Using Expo? Your store.config.json, eas.json and app.json are read as they are.

Skills

appstore-release reads the plan and hands each finding to the skill that knows that area:

  • app-store-preflight: what App Review rejects in the app itself, before you submit
  • app-store-screenshot-upload: exact sizes, iPhone Duo, iPad
  • app-store-age-rating: the 2026 questionnaire
  • app-store-subscriptions: plans, free trials, lifetime purchases
  • app-store-rejection: read the reviewer's message, fix, resubmit
  • ios-code-signing: EAS certificates and provisioning profiles
  • app-store-testflight: groups, testers, What to Test, beta review
  • app-store-customer-reviews: read customer reviews, draft replies, publish each after your OK

Coming from 3.x, where the skills were named asc-*? Remove the old ones, then add again:

bash
npx skills remove asc-screenshots asc-age-rating asc-subscriptions asc-rejection asc-credentials asc-testflight asc-reviewsnpx skills add beydemirfurkan/appstore-release

Also runs as

  • Claude Code: /plugin marketplace add beydemirfurkan/appstore-release
  • Claude Desktop: open appstore-release.mcpb
  • Any MCP host: npx -y -p github:beydemirfurkan/appstore-release appstore-release-mcp (config)
  • CLI: npx github:beydemirfurkan/appstore-release check

Connecting a real app takes an App Store Connect API key and a config file; the reference walks through both.


Up to date with iOS 27 and App Store Connect API 4.5 · Zero dependencies · Node 20.11+
Reference · Changelog · MIT · Not affiliated with Apple

Source: README.md at commit da78ff4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v4.3.2LatestOct 10, 2026
  2. v3.2.0Oct 10, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts