asc_start_trialLABSCO SUMMARY
The release chain, not another wrapper over the API.
Other App Store Connect servers hand an agent hundreds of raw endpoints and leave the sequencing to it. This one is shaped like the job: sign, archive, upload, wait for the build to go valid, attach it, push metadata and screenshots, audit, submit, release — with the handful of steps Apple keeps out of the API returned as explicit website instructions rather than silently skipped.
What it is
An App Store Connect server built around release work rather than raw endpoints: 41 tools that read your apps and reviews, audit a version before submission, and then actually write — metadata, screenshots, builds, TestFlight, in-app purchases, submission and release. Published as @pofky/asc-mcp, version 1.9.5, over stdio.
What you get
- Six tools that cost nothing:
list_apps,app_details,review_status, plusasc_setup_checkfor diagnosing a broken connection,asc_guidefor the in-agent playbook, andasc_start_trial - A pre-submission audit that reads as the single source of truth for 'is this submittable' —
release_preflightchecks metadata, character limits, screenshots and build state, and ends with the steps Apple only allows in the website - The whole ship chain:
create_version,update_version_metadata,upload_screenshots,wait_for_build,attach_build,submit_for_review,release_version,manage_phased_release - Store-front settings in one place —
set_app_metadata,set_app_price,set_app_availability,set_age_rating,set_review_contact - TestFlight distribution:
list_beta_groups,assign_build_to_group,invite_beta_tester - Binary work driven through Xcode on your own Mac —
setup_app_store_signing,build_and_archive,upload_binary - Reading the market and your users:
list_reviews,sales_report,daily_briefing,keyword_insights,competitor_snapshot,metadata_diff, andrelease_notesbuilt from commits since your last tag - Review clustering and reply drafts that run on your own client's model through MCP Sampling —
triage_reviews,draft_review_response, which never auto-posts - Six slash-command workflows, among them /asc-ship-release and /asc-rejection-audit, shipped as MCP Prompts
Requirements
Node.js 18+, membership of the Apple Developer Program, and an App Store Connect API key created with the Admin or App Manager role. With the .p8 file Apple lets you download exactly once in ~/.appstoreconnect/private_keys/, ASC_ISSUER_ID is the only variable to set, since the Key ID and key path are auto-detected; with the key kept elsewhere, add ASC_KEY_ID and ASC_PRIVATE_KEY_PATH too. ASC_LICENSE_KEY is optional and unlocks the paid half. Running npx @pofky/asc-mcp init --write finds the key, asks for the Issuer ID and merges the server block into your client config. The .p8 is read locally and the JWT is minted on your machine. Pricing is a 7-day trial, started from inside the agent, then $9/month; every outward-facing action — submit, release, upload — needs an explicit confirm flag.
Setup effort
One command plus a key — npx @pofky/asc-mcp init --write, then supply credentials
USE CASES
Finding out whether this version will be rejected
Audit the editable version against character limits, screenshot sets and build state, then compare live metadata with what is pending.
Shipping the release you just built
Wait for the build to finish processing, attach it, push the metadata and screenshots, then submit once preflight is clean.
Writing the What's New text from what actually changed
Read the commits since the last tag, categorised, with the character budget stated, and draft against them.
Working through a week of user reviews
Pull the low-rating reviews, cluster them into themes with counts and quotes, and draft a reply in the review's own locale to paste yourself.
41 tools
Listed in project docs. Your client may show a different list.
asc_setup_checkasc_guidelist_appsapp_detailsreview_statuslist_reviewssales_reportrelease_preflightdaily_briefingrelease_noteskeyword_insightscompetitor_snapshotmetadata_difftriage_reviewsdraft_review_responsecreate_versionupdate_version_metadataupload_screenshotslist_buildswait_for_buildattach_buildsubmit_for_reviewrelease_versionmanage_phased_releaselist_beta_groupsassign_build_to_groupinvite_beta_testerset_app_metadataset_app_priceset_app_availabilityset_review_contactset_age_ratingset_privacy_nutritionset_eu_trader_statuscreate_iapcreate_subscriptionset_iap_review_screenshotsetup_app_store_signingbuild_and_archiveupload_binaryBEFORE YOU INSTALL
What to know first
Tools you get
41 tools named in the project's documentation.
Requires
- Node.js 18+
- ASC_ISSUER_ID in your environment
Optional
- ASC_KEY_ID in your environment
- ASC_PRIVATE_KEY_PATH in your environment
Where it runs
All 5 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
npx @pofky/asc-mcp init --writeMCP Clients
Claude Desktop, Claude Code, Cursor, Windsurf, Cline
{
"mcpServers": {
"appstore-connect": {
"command": "npx",
"args": [
"-y",
"@pofky/asc-mcp"
],
"env": {
"ASC_ISSUER_ID": "<YOUR_ASC_ISSUER_ID>"
}
}
}
}Put the .p8 file in ~/.appstoreconnect/private_keys/ and the server finds it and reads the Key ID from its filename, so ASC_ISSUER_ID is the only variable the block needs. If you keep the .p8 somewhere else, add ASC_KEY_ID and ASC_PRIVATE_KEY_PATH (the path to the .p8) to the same env block.