App Store Connect + StoreKit 2 from any AI client. 982 tools from Apple's OpenAPI spec.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A real agent session over MCP, sped up. The App Store Connect account is a stand-in so the recording can be public β regenerate with vhs assets/demo/demo.tape.
π¬π§ English Β· πΉπ· TΓΌrkΓ§e
Heimdall. One tool for your entire App Store Connect account.
An MCP server for the App Store Connect API and the App Store Server API (StoreKit 2), with every tool generated from Apple's own OpenAPI specification. 13 profiles, 32 sub-profiles, 890 tools.
Apps and metadata, versions and phased releases, TestFlight, subscriptions and in-app purchases, pricing, reviews, Game Center, Xcode Cloud, provisioning, webhooks, and sales and finance reports.
- "Summarise this week's 1-star reviews and draft replies."
- "Which builds are stuck in review?"
- "Raise this subscription's price in every territory."
| The question | Through the raw tools | Heimdall |
|---|---|---|
| "What does this subscription cost in every country?" | one measured agent session: 1.02M tokens, $3 | ~1.3k tokens, 2.1s |
| "What screenshots are on the listing?" | 53 HTTP calls, 264 KB | 4 calls, ~1 KB |
| "Change this subscription's price." | 4 reads, then a choice among 842 price points | one call |
The first row is a real session, not a projection: the agent walked the chain, could not fit the answer, wrote it to a CSV and hand-built a country-name dictionary in Python to finish. The other two are call counts against a live account.
One pass, and safe throughout: the access details it needs, then a live credential check. Then your choices β the profiles and sub-profiles you want, and the key ends up in the Keychain, not in a config file.
The setup wizard asks for your API key once, stores it safely, and registers the profiles you choose with every MCP client on your machine β Claude, Codex, Antigravity, Cursor, Windsurf, VS Code. None of them share a config file, so this is the step you would otherwise repeat once per client, in a different format each time. Time thrown away. Full walkthrough in the Guide.
Is an AI agent installing Heimdall for you? See AGENTS.md for the handoff protocol: the agent adds the profiles with
register, you runsetupyourself for the key β your private key is for your eyes only, and the agent never sees it.
Most App Store Connect MCP servers offer a hand-picked slice of the API. That works right up until you need the one endpoint none of them covered. Heimdall does the opposite: it gives you all of the tools and lets you choose which ones you want β and change your mind whenever you like.
| Complete | Apple's OpenAPI spec v4.4.1, all 966 paths, 982 operations β 281 id-only duplicates already collapsed, and the 123 Apple has deprecated stay unloaded unless you ask for them, which leaves the 859 reachable operations plus 31 hand-written tools. npm run spec:update brings Apple's changes in as a reviewable diff. |
| Narrowable | 13 purpose-built profiles, each narrowing further β monetization:subscription-pricing is 27 tools instead of 207. The whole surface would cost over 100k tokens of tool definitions; one profile costs a fraction of that. |
| StoreKit 2 | The App Store Server API too β customer transactions, entitlements, refunds. Rare among ASC MCP servers. |
| No second API key | Review triage, daily briefings and draft replies return the review data β your own model writes the text. |
| Safe | Confirm-before-write, --read-only, destructive-action annotations, host-pinned requests, no telemetry. |
| Private | The .p8 lives in the macOS Keychain, never in a plain-text config. |
Register only the profiles your project uses. What each one covers is in the profile table; adding and removing them later is here.
Not sure which? Starter packs answers it by role β a release manager installs distribution + app-info, an ASO team marketing + analytics β and examples/ works each one through, including the part that usually goes wrong.
There is nothing to memorise β ask "is there a tool for in-app events?" and asc__search_tools searches everything, including what isn't loaded, and tells you which profile it lives in.
Changing a price, handing out Admin or deleting something asks for confirmation before it runs, showing what would change, so a misread instruction cannot execute unchecked. This is the default for the four risk levels that are hard to undo β revenue, destructive, infrastructure, access β and everything else runs on your client's own tool approval. --confirm asks before every write instead; --no-confirm asks before none; --read-only drops mutating tools entirely. See Security.
Apple never returns a key's role from any endpoint, so App Manager β not Admin β is the right default for day-to-day release work; Admin only earns its place for user management and for the one-time first request of a new analytics report type, which has no path in the App Store Connect UI at all. Contracts, tax and banking sit behind the Account Holder alone, reachable by no API key regardless of role. Call asc__status with check_capabilities: true to see what a key actually has rather than guessing from a 403 mid-task. Full breakdown in the Guide.
MCP guidance recommends remote HTTP servers: one URL, no install, updates you control. Heimdall runs locally over stdio instead, and that is a deliberate trade. Running locally, the key never leaves your machine: Heimdall reads it from the Keychain, signs a short-lived token, and talks to Apple directly. Nothing sits in between.
The cost is real and worth naming: you need Node installed, and you update by version rather than by us pushing one. That is the price of the key staying yours.
Heimdall is not a Fastlane alternative β it is the interactive half. Keep Fastlane for repeatable, scripted CI work (code signing, build upload, metadata pushes). Fastlane for the pipeline, Heimdall for exploration and one-off changes.
Heimdall is free and open. If it saves you time, you can become a member or buy me a coffee β.
Heimdall is the guardian of Asgard in Norse mythology and one of Odin's sons. He keeps watch over BifrΓΆst, the rainbow bridge linking Asgard to the nine realms. His gift for sensing events before they happen lets him guard Asgard against giants and other enemies, and warn the gods of danger on its way.
This project stands watch over your App Store Connect account; that's where it gets its name. :)
MIT β see LICENSE.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/asc-mcp)<a href="https://allmcps.com/mcp/asc-mcp"><img src="https://allmcps.com/api/badge/asc-mcp?style=directory" alt="Asc MCP on AllMCPs" /></a>