app-store-connect-mcp
Heimdall — MCP server for the Apple App Store Connect API and App Store Server API (StoreKit 2). 890 tools across 13 profiles, generated from Apple's OpenAPI spec, plus one-call macros for worldwide pricing, submission readiness and metadata diffs, and confirm-before-write safety.
Install / Use
claude mcp add erayendes -- npx -y github:erayendes/app-store-connect-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AutomationSupported Platforms
Skill content
View source on GitHubHeimdall — App Store Connect MCP
<!-- Absolute URL on purpose: npm does not rewrite relative image paths. --> <img src="https://raw.githubusercontent.com/erayendes/app-store-connect-mcp/main/assets/brand/heimdall-social-card.png" alt="Heimdall — App Store Connect MCP" width="720">English
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, 868 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.
Ask and it answers. Tell it and it's done.
- "Summarise this week's 1-star reviews and draft replies."
- "Which builds are stuck in review?"
- "Raise this subscription's price in every territory."
[!IMPORTANT] 2.0.0 is a breaking release. Which tool belongs to which profile is hand-curated now, so every profile's contents changed and
user-managementwas split into four. Nothing was lost, but the tool you reach for may have moved next door. Upgrading from 1.x: check the profile names in your config against the changelog.
Quick start
npx -y @erayendes/asc-mcp setup
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. Full walkthrough in the Guide.
[!NOTE] 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.
What sets Heimdall apart
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 nine 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 24 tools instead of 204. 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. |
Profiles
Register only the profiles your project uses. What each one covers is in the profile table; adding and removing them later is here.
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.
Writes can ask first
Changing a price, submitting for review or deleting something can ask for confirmation before it runs, showing what would change, so a misread instruction cannot execute unchecked. --confirm (or ASC_CONFIRM_WRITES=1) turns it on — it is off by default because your client already approves each tool call, and a client that cannot render the prompt answers "declined" for you. --read-only drops mutating tools entirely. See Security.
Local by design, not by default
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.
A remote Heimdall would have to hold your .p8 — the private key that signs every App Store Connect request, with whatever role you granted it. Hosting it means asking every user to hand their App Store account's signing key to a third party, and making that server a target worth attacking. 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.
Works alongside Fastlane
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.
Documentation
- Guide — API key, install, setup wizard, profiles, configuration, examples
- Security — credential handling, safety modes, pre-install audit, vulnerability reporting
- Support — getting help, troubleshooting
- Changelog — release history
- Contributing — how to contribute, local dev setup
- Code of Conduct
- Governance — who maintains this and why
Support the project
Heimdall is free and open. If it saves you time, you can become a member or buy me a coffee ☕.
About the name
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. :)
License
MIT — see LICENSE.
Tool definitions in src/generated/ are produced from Apple Inc.'s published App Store Connect OpenAPI specification (spec/openapi.json), redistributed here so the generator is reproducible without network access. App Store Connect, TestFlight, StoreKit, Xcode and Game Center are trademarks of Apple Inc. This project is not affiliated with, endorsed by, or sponsored by Apple Inc.
Türkçe
Heimdall. Tüm App Store Connect hesabınız için tek bir araç.
App Store Connect API ve App Store Server API (StoreKit 2) için bir MCP sunucusu; her aracı Apple'ın kendi OpenAPI spesifikasyonundan üretiliyor. 13 profil, 32 alt profil, 868 araç.
Uygulamalar ve metadata, sürümler ve kademeli yayınlar, TestFlight, abonelikler ve uygulama içi satın almalar, fiyatlandırma, yorumlar, Game Center, Xcode Cloud, provisioning, webhook'lar, satış ve finans raporları.
Sorun yanıtlasın. İsteyin yapsın.
- "Bu haftanın 1 yıldızlı yorumlarını özetle ve cevap taslakları hazırla."
- "Hangi build'ler incelemede takıldı?"
- "Bu aboneliğin fiyatını her ülkede artır."
[!IMPORTANT] 2.0.0 kırıcı bir sürümdür. Hangi aracın hangi profile ait olduğu artık elle belirleniyor; bu yüzden her profilin içeriği değişti ve
user-managementdörde bölündü. Hiçbir araç kaybolmadı, ama aradığınız araç yan komşuya taşınmış olabilir. 1.x'ten yükseltiyorsanız config'inizdeki profil adlarını değişiklik günlüğüyle karşılaştırın.
Hızlı başlangıç
npx -y @erayendes/asc-mcp setup
Setup sihirbazı API anahtarınızı bir kez ister, güvenle saklar ve seçtiğiniz profilleri makinenizdeki bütün MCP istemcilerine kaydeder — Claude, Codex, Antigravity, Cursor, Windsurf, VS Code. Hiçbiri config dosyasını paylaşmaz; yani bu adım olmasa her istemci için ayrı ayrı, her seferinde farklı biçimde tekrarlanırdı. Adım adım anlatım Rehber'de.
[!NOTE] Heimdall'ı bir AI agent mı kuracak? Devir protokolü için AGENTS.md'ye bakın: agent profilleri
registerile ekler, anahtar içinsetup'ı siz çalıştırırsınız — özel anahtarınız sadece sizin gözleriniz için, AI agent göremez.
Heimdall'ı diğerlerinden ayıran
Çoğu App Store Connect MCP sunucusu API'nin elle seçilmiş bir araç dilimini sunar. Hiçbirinin kapsamadığı o bir uç noktaya ihtiyaç duyana kadar bu işe yarar. Heimdall tam tersini yapar: araçların tamamını verir, istediklerinizi siz seçersiniz — ve istediğiniz zaman ekleyip çıkarırsınız.
| | |
| :--- | :--- |
| Eksiksiz | Apple'ın OpenAPI spec v4.4.1'i, tüm 966 path, 982 işlem — 281 id-only tekrar zaten birleştirilmiş durumda, Apple'ın kullanımdan kaldırdığı 123 işlem de siz istemedikçe yüklenmiyor; geriye erişilebilir 859 işlem artı elle yazılmış dokuz araç kalıyor. npm run spec:update Apple'ın değişikliklerini gözden geçirilebilir bir diff olarak getirir. |
| Daraltılabilir | 13 amaca özel profil, her biri daha da daralabilir — monetization:subscription-pricing 204 yerine 24 araç. Tüm yüzey araç tanımları için 100 bin token'ı aşar; bir profil bunun küçük bir kısmı. |
| StoreKit 2 | App Store Server API de var — tüm müşteri işlemleri, haklar, iadeler. ASC MCP sunucuları arasında nadir bir özellik. |
| İkinci API anahtarı yok | Yorum tasnifi, günlük brifing ve cevap taslakları yorum verisini döndürür — metni kendi modeliniz yazar. |
| Güvenli | Yazmadan-önce onay, --read-only, yıkıcı işlem etiketleri, host'a sabitlenmiş istekler, telemetri yok. |
| Gizli | .p8 macOS Keychain'de durur, düz metin config'de değil. |
Profiller
Sadece projenizin kullandığı profilleri kaydedin. Hangisinin neyi kapsadığı profil tablosunda, sonradan ekleme ve çıkarma burada'de.
Hiçbir şeyi ezberlemeniz gerekmez — "uygulama içi etkinlikler için bir araç var mı?" diye sorun; asc__search_tools o an yüklü olmayanlar dahil hepsini arar ve hangi profilde olduğunu söyler.
Yazma işlemlerini önce sorabilir
Fiyat değiştirme, incelemeye gönderme ya da bir şeyi silme çalışmadan önce onay isteyebilir ve neyin değişeceğini gösterir; böylece yanlış anlaşılmış bir talimat kontrolsüz çalışamaz. --confirm (veya ASC_CONFIRM_WRITES=1) açar — varsayılan kapalıdır, çünkü client'ınız zaten her araç çağrısını onaylatıyor ve istemi gösteremeyen bir client sizin yerinize "reddedildi" der. --read-only mutasyon araçlarını tamamen kaldırır. Bkz. Güvenlik.
Yerelde çalışması tercih, eksiklik değil
MCP rehberleri uzak HTTP sunucularını önerir: tek URL, kurulum yok, güncellemeyi siz yönetirsiniz. Heimdall bunun yerine yerelde stdio üzerinden çalışır ve bu bilinçli bir tercihtir.
Uzak bir Heimdall,
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
84.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.0k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
CowAgent
47.1kOpen-source super AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
