asc-mcp
About
An MCP server for App Store Connect: 41 tools to ship a release from your agent, covering metadata, screenshots, builds, TestFlight, in-app purchases, submit and release.
Details
- Author
- pofky
- Categories
- Developer Tools
Jump to
Setup
Install asc-mcp in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/pofky/asc-mcp
Follow the installation instructions in the repository README, then restart your MCP client.
Ship an App Store release from your coding agent.An MCP server for App Store Connect: 41 tools that edit version metadata, upload screenshots, attach builds, drive TestFlight, create in-app purchases, submit and release, plus an intelligence layer that audits a version before you submit and summarizes your reviews. 6 slash-command workflows and a bundled Claude Skill. Not another API wrapper.
asc-mcp.pages.dev·npm·Pricing: 7-day free trial, then $9/month
Claude Desktop, one click:download the latestasc-mcp.mcpband open it. Claude asks for your Issuer ID and lets you pick your.p8with a file picker. No JSON, no restart hunt.
Everything else(Claude Code, Cursor, Windsurf, Cline), one command:
npx @pofky/asc-mcp init --write # finds your .p8, asks for your Issuer ID, writes your MCP config
Then ask your agent:"start my asc-mcp trial, my email isyou@example.com". All 41 tools unlock for 7 days, no card and nothing to cancel, and the trial activates in the session you are already in, so whatever you were blocked on works on the very next call. After that Pro is $9 a month. Six tools stay free, and three of those need nothing but Node.
No context switching. No portal. Just ask.
Maintained successor toJoshuaRileyDev/app-store-connect-mcp-server(archived Feb 2026). Different angle, same API surface plus more.
Other ASC MCP servers wrap the API and give you 80 to 982 raw endpoints. This one gives you 41 opinionated tools, 6 slash-command Prompts, and a Claude Skill that all think. The read tools summarize and audit; the Pro control tools actually drive App Store Connect, from editing metadata to submitting and releasing, with the same API key. Two tools use MCP Sampling: your own client's model does the LLM work, so there is no extra cost from this server.
Why full control is possible without fastlane:fastlane'sdeliverandpilotare just calls to the same App Store Connect REST API this server authenticates against with your.p8. So nearly everything you would script with fastlane is a tool here, no Ruby toolchain required. The only step that needs your Mac is building and signing the binary, whichbuild_and_archiveandupload_binarydrive via Xcode.
Step 1.Create an API key inApp Store Connect > Integrations > App Store Connect API(Admin or App Manager role), then grab three things from that same page:
- Issuer ID(ASC_ISSUER_ID): the UUID shown at the top of the page, with a copy button next to it.
- Key ID(ASC_KEY_ID): the 10-character ID next to your key, also in the filenameAuthKey_XXXXXXXXXX.p8.
- .p8file(ASC_PRIVATE_KEY_PATH): clickDownloadand point this at the saved file. Apple lets you download it only once, so keep it safe.
No global install needed if you prefernpx(see the manual config below).
Fastest setup (recommended).Drop your.p8into Apple's standard path~/.appstoreconnect/private_keys/(the file is namedAuthKey_XXXXXXXXXX.p8, and the Key ID is in the filename). Then run:
npx @pofky/asc-mcp init --write # auto-detects the key, asks for your Issuer ID, and writes the config for you # or: npx @pofky/asc-mcp init # same, but prints the block to paste yourself
init --writefinds your Claude Desktop / Claude Code config, backs it up, and merges in the server block, so there's no JSON editing. The server also auto-discovers the.p8path at runtime, so you only ever needASC_ISSUER_ID(andASC_LICENSE_KEYfor Pro).
Stuck?Runnpx @pofky/asc-mcp doctor(or ask your agent to callasc_setup_check). It checks your key, Issuer ID, a live connection to App Store Connect, and your license, and prints the exact fix for anything wrong. In your agent, the/asc-startcommand walks a first-time user through all of this.
Manual setup.Add to your agent's MCP config (Claude Desktop config, or~/.claude.jsonfor Claude Code). Usenpxfor zero-install, orasc-mcpif you installed globally:
{ "mcpServers": { "appstore-connect": { "command": "npx", "args": ["-y", "@pofky/asc-mcp"], "env": { "ASC_ISSUER_ID": "YOUR_ISSUER_ID" } } } }
With the.p8in~/.appstoreconnect/private_keys/,ASC_ISSUER_IDis the only required env var (Key ID and key path are auto-detected). AddASC_LICENSE_KEYto unlock Pro.
Step 3.Ask your agent: "List my App Store Connect apps"
Step 4, to try the paid half.Ask your agent: "start my asc-mcp trial, my email isyou@example.com". It callsasc_start_trial, which unlocks all 41 tools for 7 days with no card and nothing to cancel. The key activates in the running session, so whatever you were blocked on works on the very next call, and it is written into your MCP config so it survives a restart. One trial per Apple developer account.
Works withClaude Code,Cursor,Windsurf,Cline, and any MCP-compatible client.
These tools write to App Store Connect. Every outward-facing action (submit, release, upload binary) requires an explicitconfirm: true, so nothing leaves your machine by accident.
The whole flow chains:setup_app_store_signingtobuild_and_archivetoupload_binarytowait_for_build(blocks until VALID) toattach_buildtoupdate_version_metadatatoupload_screenshotstoset_app_metadata/set_app_price/set_app_availability/set_age_rating/set_review_contacttorelease_preflighttosubmit_for_reviewtorelease_version. The/asc-ship-releaseslash command drives it for you.
release_preflightis the single source of truth for "is this submittable": it checks every API-addressable field and ends with a tailored "Manual steps to finish" list for the few things Apple only allows in the website (first-IAP bundling, App Privacy nutrition labels, EU trader status).
A handful of things Apple does not expose to API keys. The MCP never pretends otherwise: it either returns the exact website steps plus a deep link, or detects the case and aborts so nothing is half-done. Full detail inLIMITATIONS.md(andasc_guide topic:limitations):
- Create an app record / App Group.POST /v1/appsis forbidden for API keys; do it once in the website.
- App Privacy nutrition label.Not in the API.set_privacy_nutritionreturns the checklist plus a deep link.
- EU DSA trader status.Not in the API.set_eu_trader_statusreturns the steps. Legal decision.
- An app's first IAPs/subscriptions.Must be submitted with the version in the website;submit_for_reviewaborts rather than orphan the version. Later products submit via the API.
- Certificate creation / cloud signing.Least-privilege keys can't;setup_app_store_signinguses manual-signing profiles instead.
- Compiling the binary.Needs Xcode on your Mac (build_and_archiveruns it locally).
- Posting a public review reply.draft_review_responsewrites it; you paste it in the website.
triage_reviewsanddraft_review_responseuse the MCP Sampling primitive. When you call one of these tools, this server sends asampling/createMessagerequest back to your own MCP client. Your client runs the LLM locally (Claude Desktop uses your account; Claude Code uses its session). We never call Anthropic from our side.
Outcome: review clustering and reply drafting cost you exactly what you would pay for any other Claude request, not a penny more from this server.
If your MCP client does not support Sampling yet, both tools return a structureddegraded: trueresult with a clear explanation. Upgrade Claude Desktop or Claude Code to a recent version for full functionality.
Type these in Claude Desktop or Claude Code and the agent runs a pre-built multi-tool workflow:
These are MCP Prompts per thespec. Zero other App Store Connect MCP ships with them.
This copies a smallasc-review-triageSkill to~/.claude/skills/so Claude automatically picks up review-related questions ("any bad reviews lately?", "what do my users say?", "ratings this week?") and calls the right ASC tools without you having to explain the workflow each time.
Works on macOS, Linux, and Windows. To remove:npx @pofky/asc-mcp uninstall-skill.
"Run a preflight check before I submit"
Release Preflight: v2.3 State: PREPARE_FOR_SUBMISSION Platform: IOS PASS (with 1 warning) Warnings (recommended): - Missing screenshot set for APP_IPHONE_67. May be required. Passing checks: 4 - [en-US] Description OK (3874/4000 chars). - [en-US] Keywords OK (96/100 chars). - 2 screenshot set(s) found across 1 locale(s). - Build 40 attached and valid. Total: 4 pass, 1 warn, 0 fail
Daily Briefing - 2026-04-13 2 apps in your account Tempo: Habit Builder - Latest: v2.3 (IOS) - Waiting for Review - Action needed: v2.3 is Waiting for Review - Reviews (last 3d): 5 new, avg 4.2 stars NightOwl Weather - Latest: v1.1 (IOS) - Live - No new reviews in the last 3 days
"Generate release notes from git"
Git History for Release Notes Since: v2.2.0 Commits: 8 Character limit: 4000 chars for "What's New" New Features (3) - feat: add habit streak calendar view - feat: dark mode support - add widget for home screen Bug Fixes (2) - fix: notification timing off by 1 hour - fix: crash on iPad when rotating Instructions: Write user-facing "What's New" text. Lead with the most impactful change. Keep under 4000 chars.
Why This One Over the Free Alternatives?
Raw wrappers give you endpoints. This gives you answers.
Your credentials never leave your machine:
- The.p8private key is read locally. JWT tokens are generated on your computer.
- API calls go directly from your machine toapi.appstoreconnect.apple.com.
- The license server sees only your license key string. Zero Apple data, zero credentials.
- Fully open source.Read the code.
- Claude Code(Anthropic)
- Cursor
- Windsurf
- Cline
- Any client supporting theModel Context Protocol
- Node.js 18+
- Apple Developer Program membership
- App Store Connect API key (Admin or App Manager role)
This project is not affiliated with, endorsed by, or sponsored by Apple Inc. Apple, App Store, App Store Connect, TestFlight, iOS, and macOS are trademarks of Apple Inc.
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
Create crafted UI components inspired by the best 21st.dev design engineers.
Bring agent evaluations, observability, and synthetic test set generation directly into your IDE for free with Galileo's new MCP server
An MCP server to help AI assistants to answer questions and generate AccelByte Extend SDK code more effectively .
MCP server for AI Diagram Maker — generate beautiful software engineering diagrams directly inside Cursor, Claude Desktop, Claude Code, or any MCP-compatible AI agent
ALAPI MCP Tools,Call hundreds of API interfaces via MCP
AI-powered SVG animation generator that transforms static files into animated SVG components using the Allyson platform
MCP server that gives AI assistants on-demand access to 1,500+ amCharts docs, ~300 code examples, and 1000+ class API references.
APIMatic MCP Server is used to validate OpenAPI specifications using APIMatic. The server processes OpenAPI files and returns validation summaries by leveraging APIMatic’s API.
One shared context layer for AI agents and humans — live API specs, DB schemas, and versioned contracts across repos so every agent and teammate works from the same source of truth.
Build and deploy full-stack Next.js apps with 98 tools for React, AWS, and MongoDB
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





