app-store-connect-mcp

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Basarisiz
  • child_process — Shell command execution capability in .github/workflows/ci.yml
  • process.env — Environment variable access in .github/workflows/ci.yml
  • fs module — File system access in .github/workflows/ci.yml
  • crypto private key — Private key handling in .github/workflows/ci.yml
  • exec() — Shell command execution in scripts/generate.ts
  • execSync — Synchronous shell command execution in scripts/update-spec.ts
  • process.env — Environment variable access in src/core/config.ts
  • crypto private key — Private key handling in src/core/config.ts
  • network request — Outbound network request in src/core/http.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Heimdall — MCP server for the Apple App Store Connect API & App Store Server API (StoreKit 2). 982 tools generated from Apple's official OpenAPI spec. Client-agnostic: Claude, Codex, Cursor, and any MCP client.

README.md

Heimdall — App Store Connect MCP

npm version
License: MIT
Node
Patreon
Buy Me A Coffee

🇬🇧 English · 🇹🇷 Türkçe

English

Manage your entire App Store Connect account from your AI client: 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.

Heimdall is 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. That makes its coverage complete by construction — 982 operations across 17 domains — and it is what sets Heimdall apart: where other servers wrap a hand-picked slice of the API, Heimdall gives you all of it, and lets you add or drop tools whenever you like.

Named after the watchman who sees across every realm and guards the gateway. The npm package (@erayendes/asc-mcp) and the command (asc-mcp) keep their names; Heimdall is the project.

Quick start

npx -y @erayendes/asc-mcp setup

The setup wizard collects your API key once, stores it securely, and registers the profiles you choose. Full walkthrough in the Guide.

[!NOTE]
Installing this through an AI agent? See AGENTS.md for the handoff protocol: the agent registers the server, then you run setup yourself — your private key never goes through the chat.

Why it's different

Most App Store Connect MCP servers wrap a hand-picked subset of endpoints. That works until you need the one endpoint nobody wrapped. Heimdall takes the opposite approach:

Complete Generated from Apple's OpenAPI spec v4.4.1 — all 966 paths, 982 operations. Not a curated subset.
Current npm run spec:update && npm run generate picks up Apple's changes as a reviewable diff.
Scoped 11 purpose-built profiles plus a --domains flag. Load only what a project needs, so large tool sets don't overwhelm your client.
StoreKit 2 Includes the App Store Server API (customer transactions, entitlements, refunds) — rare among ASC MCP servers.
Safe --read-only mode, destructive-action annotations, host-pinned requests, no telemetry.
Self-describing Ask the server what it can do — asc__discover_domains and asc__search_tools answer, and point you to a tool even when it isn't loaded.
Client-agnostic Standard MCP over stdio — works with Claude Code, Claude Desktop, Codex, Antigravity, Cursor and any other MCP client.
Private by default On macOS the .p8 key lives in the Keychain, never in plain-text config.

Profiles

One install backs eleven small, purpose-built MCP servers. Register only the areas a project uses — a revenue project loads analytics + marketing; a game adds game-center.

Profile Tools Covers
app-info 115 Names, bundle IDs, availability, encryption declarations
distribution 138 App Store versions, review submissions, phased releases, uploaded builds
user-management 95 TestFlight beta distribution, team members, sandbox test accounts
monetization 180 Subscriptions, in-app purchases, offers, pricing, StoreKit 2 transactions
marketing 73 Screenshots, previews, custom product pages, in-app events, customer reviews
analytics 17 Sales and finance reports, analytics requests, performance metrics
game-center 176 Achievements, leaderboards, matchmaking, challenges
xcode-cloud 46 Workflows, build runs, artifacts, source control
provisioning 45 Bundle IDs, certificates, devices, provisioning profiles
background-assets 18 Asset packs downloaded outside the app binary
webhooks 12 Webhooks pushing App Store Connect events to your endpoint

See the Guide for setup, and §7 for adding or removing profiles later.

Loading the right tools

The full 982-operation surface would cost well over 100k tokens of tool definitions — more than most context windows can spare. So a profile loads only its own area, and the combined server loads a default working set for everyday release work. The 123 deprecated operations stay out unless you pass --include-deprecated.

[!TIP]
You don't have to memorise anything. Ask "what App Store Connect domains are available?" and the server answers from asc__discover_domains. Ask "is there a tool for in-app events?" and asc__search_tools searches all 982 operations — including ones not loaded — and tells you which profile or flag would load it.

Tool naming

Tool names mirror the resource hierarchy, with the action last (apps__listGET /v1/apps, app_store_versions__createPOST /v1/appStoreVersions). Every tool carries its METHOD /path in the description, so you can cross-reference Apple's API documentation directly.

Reviews AI

Three tools ride on top of the reviews domain and use MCP Sampling — your client's own model, no separate API key: reviews_ai__draft_response, reviews_ai__triage, reviews_ai__daily_briefing. All read-only; none post anything. To publish a reply you review the draft yourself and call customer_review_responses__create.

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 on Patreon or buy me a coffee ☕.

License

MIT — see LICENSE. Not affiliated with Apple Inc. See NOTICE.


Türkçe

Tüm App Store Connect hesabınızı yapay zekâ istemcinizden yönetin: 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ı.

Heimdall, App Store Connect API ve App Store Server API (StoreKit 2) için, her aracı Apple'ın kendi OpenAPI spesifikasyonundan üretilen bir MCP sunucusudur. Bu, kapsamını yapısı gereği eksiksiz kılar — 17 domainde 982 işlem — ve Heimdall'ı farklı kılan da budur: diğer sunucular API'nin elle seçilmiş bir dilimini sararken, Heimdall size tamamını verir ve araçları dilediğiniz zaman ekleyip çıkarmanıza izin verir.

Adını, tüm dünyaları gören ve geçidi bekleyen gözcüden alır. npm paketi (@erayendes/asc-mcp) ve komut (asc-mcp) adlarını korur; Heimdall projenin adıdır.

Hızlı başlangıç

npx -y @erayendes/asc-mcp setup

Setup sihirbazı API anahtarınızı bir kez toplar, güvenle saklar ve seçtiğiniz profilleri kaydeder. Adım adım anlatım Rehber'de.

[!NOTE]
Bunu bir AI agent ile mi kuruyorsunuz? Devir protokolü için AGENTS.md'ye bakın: agent sunucuyu kaydeder, setup'ı siz çalıştırırsınız — özel anahtarınız sohbetten hiç geçmez.

Neden farklı

Çoğu App Store Connect MCP sunucusu, elle seçilmiş bir uç nokta alt kümesini sarmalar. Kimsenin sarmalamadığı o bir uç noktaya ihtiyaç duyana kadar bu işe yarar. Heimdall tam tersi bir yaklaşım izler:

Eksiksiz Apple'ın OpenAPI spec v4.4.1'inden üretildi — tüm 966 path, 982 işlem. Elle seçilmiş bir alt küme değil.
Güncel npm run spec:update && npm run generate, Apple'ın değişikliklerini gözden geçirilebilir bir diff olarak yakalar.
Kapsamlı seçilebilir 11 amaca özel profil ve bir --domains bayrağı. Sadece projenizin ihtiyacı olanı yükleyin; büyük araç setleri istemcinizi boğmasın.
StoreKit 2 App Store Server API'yi (müşteri işlemleri, hak, iadeler) içerir — ASC MCP sunucuları arasında nadir.
Güvenli --read-only modu, yıkıcı işlem etiketleri, host'a sabitlenmiş istekler, telemetri yok.
Kendini anlatan Sunucuya ne yapabildiğini sorun — asc__discover_domains ve asc__search_tools yanıtlar, araç yüklü olmasa bile size yolunu gösterir.
İstemciden bağımsız stdio üzerinden standart MCP — Claude Code, Claude Desktop, Codex, Antigravity, Cursor ve diğer tüm MCP istemcileriyle çalışır.
Varsayılan gizli macOS'ta .p8 anahtarı Keychain'de durur, düz metin config'de değil.

Profiller

Tek kurulum, on bir küçük, amaca özel MCP sunucusu sunar. Sadece projenizin kullandığı alanları kaydedin — gelir projesi analytics + marketing yükler; oyun game-center ekler.

Profil Araç Kapsam
app-info 115 İsimler, bundle ID'ler, ülke uygunluğu, şifreleme beyanları
distribution 138 App Store sürümleri, inceleme gönderimleri, kademeli yayınlar, yüklenen build'ler
user-management 95 TestFlight beta dağıtımı, ekip üyeleri, sandbox test hesapları
monetization 180 Abonelikler, uygulama içi satın almalar, teklifler, fiyatlandırma, StoreKit 2 işlemleri
marketing 73 Ekran görüntüleri, önizlemeler, özel ürün sayfaları, uygulama içi etkinlikler, müşteri yorumları
analytics 17 Satış ve finans raporları, analytics istekleri, performans metrikleri
game-center 176 Başarımlar, liderlik tabloları, eşleştirme, meydan okumalar
xcode-cloud 46 İş akışları, build çalıştırmaları, artifact'lar, kaynak kontrolü
provisioning 45 Bundle ID'ler, sertifikalar, cihazlar, provisioning profilleri
background-assets 18 Uygulama binary'sinin dışında indirilen varlık paketleri
webhooks 12 App Store Connect olaylarını uç noktanıza gönderen webhook'lar

Kurulum için Rehber'e, sonradan profil ekleme/çıkarma için §7'ye bakın.

Doğru araçları yükleme

Tüm 982 işlemlik yüzey, araç tanımları için 100 bin token'ın epey üzerinde bir maliyet çıkarır — çoğu context penceresinin ayırabileceğinden fazla. Bu yüzden bir profil yalnızca kendi alanını yükler; birleşik sunucu ise günlük release işleri için bir varsayılan çalışma seti yükler. Kullanımdan kaldırılmış 123 işlem, --include-deprecated vermedikçe dışarıda kalır.

[!TIP]
Hiçbir şeyi ezberlemeniz gerekmez. "Hangi App Store Connect domainleri mevcut?" diye sorun, sunucu asc__discover_domains'den yanıtlar. "Uygulama içi etkinlikler için bir araç var mı?" diye sorun, asc__search_tools tüm 982 işlemi — yüklenmemiş olanlar dahil — arar ve hangi profil ya da bayrağın onu yükleyeceğini söyler.

Araç isimlendirme

Araç isimleri kaynak hiyerarşisini yansıtır, eylem en sonda gelir (apps__listGET /v1/apps, app_store_versions__createPOST /v1/appStoreVersions). Her araç açıklamasında METHOD /path bilgisini taşır; böylece doğrudan Apple'ın API dokümantasyonuyla çapraz kontrol yapabilirsiniz.

Reviews AI

reviews domaininin üzerine binen ve MCP Sampling kullanan üç araç var — istemcinizin kendi modeli, ayrı API anahtarı yok: reviews_ai__draft_response, reviews_ai__triage, reviews_ai__daily_briefing. Üçü de salt okunur; hiçbiri bir şey yayınlamaz. Bir yanıtı yayınlamak için taslağı kendiniz gözden geçirir ve customer_review_responses__create'i çağırırsınız.

Dokümantasyon

Projeye destek

Heimdall ücretsiz ve açık. Zamanınızı kurtardıysa Patreon'da üye olabilir ya da bana bir kahve ısmarlayabilirsiniz ☕.

Lisans

MIT — bkz. LICENSE. Apple Inc. ile bağlantılı değildir. Bkz. NOTICE.

Yorumlar (0)

Sonuc bulunamadi