Ana içeriğe geç

Hızlı başlangıç

Heimdall, Node.js 20.19+'in çalıştığı her yerde çalışır — macOS, Linux ve Windows. Yalnızca bir özellik macOS'a özgüdür: .p8 anahtarını macOS Keychain'de saklamak. Linux ve Windows'ta anahtarı dosya yolu ya da inline PEM olarak verirsiniz; gerisi birebir aynıdır.

API anahtarı oluşturun​

App Store Connect Users and Access → Integrations → Keys sayfasına gidin ve bir anahtar oluşturup, .p8 dosyasını indirin. Aynı sayfadan Key ID ve Issuer ID değerlerini not alın.

Müşteri işlemlerini de soracaksanız — satın alma geçmişi, hak sahipliği, iadeler (StoreKit 2) — uygulamanızın Bundle ID'sini de hazır tutun. Sihirbaz bunu monetization profilini seçtiğinizde sorar; seçmezseniz hiç sormaz.

.p8 dosyasını yalnızca bir kez indirebilirsiniz

setup'ı çalıştırana kadar güvenli bir yerde saklayın. Anahtara verdiğiniz rol, bir agent'ın hangi yetkileri aldığını — ve bir istek ters giderse neyi bozabileceğini — belirler. Kullanım amacınızı karşılayan en dar rolü seçin; hangi rol neyi açar, Roller ve yetkiler'de.

Kurulum​

Daha önce görmediğiniz bir MCP kurulum deneyimi yaşamaya hazır olun.

Terminali açın.

npx -y @erayendes/asc-mcp setup
Setup sihirbazı: anahtar, issuer ID, canlı kimlik doğrulama, profil ve alt profil seçimi, anahtar Keychain'e

Kimlik bilgisini bir kez kaydedin — Setup sihirbazı​

Setup sihirbazı App Store Connect hesabına erişmek için bazı bilgiler ve anahtarlar ister.

  • Yazarken Key ID ve Issuer ID formatları kontrol edilir.
  • .p8 yolu Finder'dan sürükle-bırakı kabul eder ve gerçek bir anahtar dosyasına işaret edene kadar tekrar sorulur.
  • Kaydetmeden önce bilgileri Apple'a doğrulatır. Apple reddederse yeniden girersiniz.
  • Satış/finans raporlarına ulaşmak için opsiyonel olarak Vendor number sorulur.
  • İstemci seçici, profilleri hangi MCP istemcilerine kurmak istediğinizi sorar, cihazınızda bulunanlar işaretli olarak gelir. İstemcilerin config’leri önce yedeklenir, sonra düzenlenir.
  • Profil seçicinin her satırı, profilin araç sayısını ve kabaca token maliyetini gösterir; zaten kayıtlı profiller önceden işaretlidir. Hangisini seçeceğiniz Profiller'de.
  • Eğer monetization profili seçerseniz, Bundle ID'yi ve StoreKit ortamını (Sandbox / Production) sorar. Monetization seçmezseniz hiç sorulmaz.

En sonunda planı gösterip bir kez sorduktan sonra seçtiğiniz her yere kaydeder. Bittiğinde istemcinizi yeniden başlatın ve "App Store Connect bağlantısını kontrol et" deyin — bu asc__status'u çağırır ve kimlik bilgilerinizi doğrular.

  • Anahtar macOS Keychain'de saklanır. macOS dışında dosya yoluyla referanslanır.
  • Gizli olmayan her şey ~/.config/asc-mcp/config.json'a yazılır. Her profil bu ortak yapılandırmayı okur.
  • Eğer Heimdall setup daha önce çalışmışsa, kayıtlı Key/Issuer'ınızı bulur ve bunları yeniden kullanıp yalnızca profilleri yeniden seçmeyi önerir.
  • Xcode 27 eklentileri Git URL’sinden kurduğu için bir config dosyası yok. Bu yüzden Setup sihirbazında kendine yer bulamıyor.

Heimdall'ı bir AI agent mı kuracak? Devir protokolü AGENTS.md'de: agent profilleri register ile ekler, anahtar için setup'ı siz çalıştırırsınız — özel anahtarınız sadece sizin gözleriniz için, AI agent göremez.

Nereye kaydedilir​

Heimdall, setup profillerini, bulduğu her MCP istemcisine kaydeder. Bu istemcilerin hiçbiri config dosyasını paylaşmaz; yani bu adım olmasa her istemci için ayrı ayrı, her seferinde farklı biçimde elle yapılırdı.

İstemciNereyeNasıl yazılır
Claude Code~/.claude.jsonclaude mcp add
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonburadan düzenlenir
Codex~/.codex/config.tomlcodex mcp add
Antigravity~/.gemini/config/mcp_config.jsonburadan düzenlenir
Cursor~/.cursor/mcp.jsonburadan düzenlenir
Windsurf~/.codeium/windsurf/mcp_config.jsonburadan düzenlenir
VS Codekullanıcı MCP config'icode --add-mcp

Sonradan ekleme ve çıkarma​

Her şeyi baştan kurmanız gerekmez

Birkaç profille başlayın, proje ihtiyaç duydukça ekleyin.

  • Setup'ı yeniden çalıştırın — npx -y @erayendes/asc-mcp setup.
  • Kimlik bilgilerinizi yeniden kullanır ve seçicileri tekrar gösterir.
  • İstemciler ve profiller mevcut hâlleriyle işaretli gelir. İşaretleyin/kaldırın; seçtiğiniz her istemcide ekler ve siler.

Bir aracı yeniden başlatmadan kullanmak​

Daralttığınız bir profil geri kalanını yine de bilir:

  • asc__describe profilin sahip olduğu herhangi bir aracın tam şemasını döndürür — yüklü olsun olmasın.
  • asc__call sadece okur. Fiyat listeler, uygulama getirir ama fiyat değiştirmez, sürüm göndermez.
  • asc__load oturum ortasında bütün bir alt profil ekler, araçları kullanılabilir hale getirir.

Peki araç bambaşka bir profildeyse? asc__search_tools tüm 982 işlemi artı StoreKit'i arar, yüklü olmayan her şey için sahibi olan kardeş sunucuyu adlandırır ve ekleme komutunu basar. Yalın kurun, sunucu size neyin eksik olduğunu söylesin.

Xcode 27'de Heimdall kullanmak​

  1. Henüz yapmadıysanız bir kez npx -y @erayendes/asc-mcp setup çalıştırın. Anahtar bilgileriniz Keychain'e kaydedilir; eklentinin ona ulaşmasının başka yolu yok.

  2. Xcode → Settings → Intelligence → Plug-ins → Add Plug-in…

    Xcode Settings, Intelligence sekmesi, Plug-ins bölümü ve Add Plug-in düğmesi
  3. Add from URL seçin, https://github.com/erayendes/app-store-connect-mcp yapıştırın.

    Add Plug-in ekranı: Add from URL seçili URL alanına depo adresi yapıştırılmış
  4. Xcode her eklenti için onay kutulu bir "Choose Plug-ins" ekranı gösterir. Heimdall | ASC Skill'i ve ihtiyacınız olan alanları seçin.

    Choose Plug-ins ekranı: Heimdall | ASC Skill ve profiller onay kutularıyla
  5. İlk App Store Connect çağrısı, her agent aracı gibi izin sorar.

Bundan sonrası bildiğiniz Heimdall.

Sonradan başka bir alan mı gerekti?

Aynı adresle yeniden Add from URL: ekran kurulu olanları "Already imported" diye gri gösterir; yenisini tikleyip Import deyin. Bir alanı atmak için listeden eklentisini açıp Delete Plug-in.

uyarı

Eklentiler Xcode'un kendi chat'ine değil, agent'lara gider. Sohbetin model menüsünden yerleşik bir model değil, bir agent seçin. Seçtiğiniz agent sunucuları başlatır.

Sorun giderme​

BelirtiNe oluyorÇözüm
401 UnauthorizedKey ID, Issuer ID ve .p8 aynı anahtara ait değil ya da anahtar iptal edilmiş.setup'ı yeniden çalıştırın — kaydetmeden önce kimlik bilgilerini Apple'a doğrular.
403 ForbiddenAnahtarın rolü o işlem için yeterli değil.Roller ve yetkiler. asc__status'u check_capabilities: true ile çağırıp neyin kapalı olduğunu görün.
Sürüm güncellemesinde 409 ConflictApp Store Connect düzenlemelere yalnızca belirli sürüm durumlarında izin verir.İncelemede olan veya yayınlanmış bir sürüm kilitlidir.
Çok fazla araç / context tükendiBirleşik sunucuyu ya da --domains=all çalıştırıyorsunuz.Tek bir profil kaydedin. asc__search_tools yine de ihtiyacınız olanı bulur.
İhtiyacım olan araç listede yokBaşka bir profilde.Agent'a arattırın: asc__search_tools kardeş sunucuyu adlandırır ve ekleme komutunu basar.
429 Too Many Requestsİstekler Apple'ın saatte 3.600 limitine göre hızlandırılır ve backoff ile tekrar denenir.Israrlı 429'lar, anahtarınızı başka bir şeyin de kullandığı anlamına gelir.
StoreKit araçları eksikApp Store Server API bir Bundle ID ister.setup'ı yeniden çalıştırıp monetization altında Bundle ID'yi girin.

Kaldırma​

Önce kaydı silin. setup'ı yeniden çalıştırın, profil seçicisinde her şeyin işaretini kaldırın; seçtiğiniz her istemciden profilleri siler.

Sonra gerisi:

# Ortak kimlik bilgisi yapılandırması
rm -rf ~/.config/asc-mcp

# Kullandıysanız, macOS Keychain'deki anahtar
security delete-generic-password -s asc-mcp -a AuthKey_XXXXXXXXXX

# Paket, yalnızca global kurduysanız
npm uninstall -g @erayendes/asc-mcp
uyarı

API anahtarının kendisini iptal etmek App Store Connect üzerinden yapılır. Yerel kopyayı silmek onu iptal etmez.