About Heimdall
Heimdall is a local MCP server for App Store Connect, covering the App Store Connect API and App Store Server API (StoreKit 2). Its API tools are organized into selectable profiles, and it requests confirmation before high-risk changes, for developers managing releases and store data.
Key features
- 01Covers App Store Connect and StoreKit 2 APIs
- 02929 tools organized into profiles
- 03Add or remove profiles as needed
- 04Reads API keys from Keychain
- 05Previews and confirms high-risk changes
Use cases
- 01Check TestFlight builds and review status
- 02Manage subscriptions, in-app purchases, and pricing
- 03Summarize reviews and draft replies
- 04Manage releases, screenshots, and sales reports
MCP support
As a local MCP server, it exposes tools for the App Store Connect API and App Store Server API (StoreKit 2) to MCP clients. It communicates directly with Apple and lets users choose tools through profiles.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @erayendes/asc-mcpASC_KEY_IDSecretApp Store Connect API Key ID. Normally written for you by `npx -y @erayendes/asc-mcp setup`.ASC_ISSUER_IDApp Store Connect Issuer ID (a UUID). Normally written for you by `setup`.ASC_PRIVATE_KEYSecretThe .p8 private key as PEM text. Prefer `setup`, which stores it in the macOS Keychain instead of any config file; set this only where a Keychain is unavailable, such as CI.ASC_PRIVATE_KEY_PATHSecretPath to the .p8 file, as an alternative to pasting its contents. Off macOS this is what `setup` records.ASC_BUNDLE_IDBundle ID of one app. Only needed by the StoreKit 2 transaction tools on the monetization profile.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEHeimdall — App Store Connect MCP
Your whole App Store Connect account, in one tool.
🇬🇧 English · 🇹🇷 Türkçe
Ask, and it answers. Tell it, and it's done.
- "Summarize this week's 1-star reviews and draft replies."
- "Which builds are stuck in review?"
- "Raise this subscription's price in every country."
- "What does this subscription cost in each country?"
- "Which screenshots are on the store listing?"
- "Add build 42 to the Internal and External groups."
- "Why did my Xcode Cloud build fail?"
Almost anything you'd click through App Store Connect to do, you can now just ask your AI to do. More examples in the Guide.
A real AI session, sped up. The App Store Connect account is a stand-in so the recording can be public.
Heimdall
One MCP server for the App Store Connect API and the App Store Server API (StoreKit 2), built from Apple's own OpenAPI specification. 13 profiles, 33 sub-profiles, 929 tools.
Apple's specification lists 1011 API operations. Heimdall leaves out the 123 that Apple has deprecated, so 888 become tools, and adds 41 hand-written ones: 929 tools in all.
Most App Store Connect MCP servers give you a hand-picked slice of the API. That works until you need the one endpoint they left out, and then you're off hunting for yet another tool.
Heimdall does the opposite: it gives you the whole API, organized into profiles. Apps and metadata, versions, TestFlight, subscriptions and in-app purchases, pricing, reviews, Game Center, Xcode Cloud, provisioning, webhooks, sales and finance reports — all of it. You pick what you need, and add or remove profiles whenever you like.
Profiles shows what each one covers. You don't have to memorize any of it, though: ask "Is there a tool for in-app events?" and Heimdall tells you which profile has it.
Not sure which profiles you need? The starter packs suggest a set for your role.
Runs on your machine
Most MCP guides recommend remote HTTP servers. Heimdall runs locally instead. It reads your App Store Connect key from the Keychain, signs a short-lived token and talks to Apple directly. Nothing sits in between, so your key stays with you.
Note
Give your key the narrowest role that does the job. Roles explains what each App Store Connect role can do.
Asks before risky changes
Before changing a price, giving someone Admin access or deleting something, Heimdall asks you to confirm and shows what will change. This is on by default for changes that are hard to undo: revenue, deletions, infrastructure and access, and for the release steps that reach users: sending a version to review, releasing it, changing a phased rollout, and opening a build to external testers. Everything else goes through your app's own approval.
More in Security.
Works alongside Fastlane
Heimdall doesn't replace Fastlane; it complements it. Fastlane for the pipeline, Heimdall for everything you'd otherwise do by hand.
Setup
One command:
npx -y @erayendes/asc-mcp setup
It asks whether to continue in your browser (recommended) or the terminal. You'll need an App Store Connect API key; the browser page tells you which role to give it from what you pick, so you can run setup before creating the key. Node.js 20.19 or later.
Want your AI to install it for you, or to use it in Xcode 27? Everything else is in Setup.
About the name and the project
In Norse mythology, Heimdall keeps watch over Bifröst, the rainbow bridge that links Asgard to the nine realms. Here, his job is to guard the road between your App Store Connect account and your machine. That's where the name comes from.
I build Heimdall on my own, in the evenings, and release it free and open source under the MIT license. If it gets you out of the App Store Connect dashboard, it has done its job.
License
MIT © Eray Endes
SECURITY.md | SUPPORT.md | CHANGELOG.md | CONTRIBUTING.md | CODE_OF_CONDUCT.md | GOVERNANCE.md
Heimdall is generated from the App Store Connect OpenAPI specification published by Apple Inc. App Store Connect, TestFlight, StoreKit, Xcode and Game Center are trademarks of Apple Inc. This project is not affiliated with Apple Inc.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.