Skip to main content
Glama

Übersicht

asc-mcp ist ein auf Swift basierender MCP-Server, der einen lokalen macOS-MCP-Client mit der App Store Connect API verbindet. Er stellt 502 Tools aus 33 App-Store-Tool-Domänen + 2 Kerndomänen bereit und ermöglicht es Ihnen, iOS- und macOS-Release-Workflows über natürliche Sprache zu automatisieren.

Konfigurationsbeispiele sind für Codex, Claude Code, Claude Desktop, Gemini CLI, VS Code mit GitHub Copilot, Continue, Cursor und Devin Desktop (ehemals Windsurf) enthalten. Die Client-Konfiguration ist dokumentiert; die Release-CI verifiziert Installation, MCP-Initialisierung und Tool-Erkennung auf macOS, anstatt jeden Drittanbieter-Client zu starten.

Neu hier? Folgen Sie dem Quick Start. Die übrigen Abschnitte sind Referenzmaterial für erweiterte Konfiguration, Tool-Auswahl und Mitwirkende.

Wichtigste Funktionen

  • Release und Metadaten — Versionen, Lokalisierungen, Builds, Review-Einreichungen, gestaffelte Veröffentlichung und Xcode Cloud

  • TestFlight und Uploads — Beta-Gruppen, Tester, Feedback, Rekrutierung, Build-Auslieferung, Verarbeitung und Export-Compliance

  • Monetarisierung — In-App-Käufe, Abonnements, Preise, Verfügbarkeit, Angebotscodes und Werbeangebote

  • Marketing — Screenshots, Vorschauen, benutzerdefinierte Produktseiten, Produktseiten-Optimierung und beworbene Käufe

  • Konten und Provisioning — mehrere App-Store-Connect-Teams, Benutzer, Bundle-IDs, Geräte, Zertifikate, Profile und Capabilities

  • Feedback und Betrieb — Kundenbewertungen, Webhooks, Barrierefreiheitserklärungen, Analysen, Metriken und Diagnosen

  • Sicherere Automatisierung — Nur-Lese-Modus, Bestätigungsschutz, strikte Paginierung und Hinweise zur Wiederherstellung nach Mutationen

  • Prüfbare API-Abdeckung — ein versionierter Apple-OpenAPI-Vertrag und Drift-Prüfungen zur Release-Zeit

Related MCP server: App Store Connect MCP

Plattformunterstützung

asc-mcp ist ein lokaler stdio-Server: Der MCP-Client startet ihn auf demselben Computer. Dass ein Client unter Linux oder Windows verfügbar ist, macht diesen Swift-Server nicht plattformübergreifend.

Umgebung

Status

Hinweise

macOS 15.6+ mit Xcode 26.x

Empfohlen

Die Release-CI verwendet speziell den macOS-15-Runner von GitHub mit Xcode 26.2

macOS 14.0-15.5

Nur deklariertes Deployment-Ziel

Build und Laufzeit sind unverifiziert; eine separat installierte Swift-6.2+-Toolchain kann erforderlich sein

Linux

Noch nicht unterstützt

Portierungsarbeiten und Linux-CI sind nicht abgeschlossen

Windows

Nicht unterstützt

Die aktuellen Quellabhängigkeiten und der Swift-MCP-stdio-Transport sind nicht Windows-kompatibel

Die von jeder Xcode-Version unterstützten macOS-Versionen finden Sie in den Systemanforderungen von Apple für Xcode.

Web- und Cloud-Sitzungen übernehmen eine lokale MCP-Konfiguration nicht automatisch. Führen Sie den MCP-Client lokal auf einem kompatiblen Mac aus, oder nutzen Sie eine Client-Funktion, die die Ausführung ausdrücklich auf diesem Mac belässt.

Quick Start

Die empfohlene Einrichtung speichert die App-Store-Connect-Anmeldedaten einmalig in einer privaten lokalen Datei. MCP-Clients benötigen dann nur noch den Pfad zur asc-mcp-ausführbaren Datei.

1. asc-mcp installieren

brew install mint
mint install zelentsov-dev/asc-mcp@v4.1.6
~/.mint/bin/asc-mcp --version

2. App-Store-Connect-API-Schlüssel erstellen

  1. Öffnen Sie App Store Connect → Benutzer und Zugriff → Integrationen → Team-Keys.

  2. Generieren Sie einen Schlüssel mit der Rolle mit den geringsten Rechten, die Ihren Workflow abdeckt. App Manager oder Administrator wird nur benötigt, wenn die entsprechenden Vorgänge dies erfordern.

  3. Laden Sie die .p8-Datei herunter. Apple erlaubt nur einen einzigen Download.

  4. Kopieren Sie die Key ID und die Issuer ID.

3. Anmeldedaten lokal speichern

Erstellen Sie private Konfigurationsverzeichnisse und verschieben Sie dann die heruntergeladene .p8-Datei nach ~/.keys/. Ersetzen Sie Quellpfad und Dateinamen im zweiten Befehl:

mkdir -p ~/.config/asc-mcp ~/.keys
chmod 700 ~/.config/asc-mcp ~/.keys
mv /path/to/downloaded/AuthKey_XXXXXXXXXX.p8 ~/.keys/

Erstellen Sie ~/.config/asc-mcp/companies.json:

{
  "companies": [
    {
      "id": "my-company",
      "name": "My Company",
      "key_id": "XXXXXXXXXX",
      "issuer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "key_path": "/Users/you/.keys/AuthKey_XXXXXXXXXX.p8"
    }
  ]
}

Ersetzen Sie /Users/you durch den tatsächlichen Pfad Ihres Home-Verzeichnisses. Bewahren Sie beide Dateien außerhalb des Repositorys auf und schränken Sie den Zugriff ein:

chmod 600 ~/.config/asc-mcp/companies.json
chmod 600 /Users/you/.keys/AuthKey_XXXXXXXXXX.p8

[!CAUTION] Committen Sie companies.json, einen .p8-Schlüssel oder Roh-Anmeldedaten niemals in Git. Widerrufen Sie den App-Store-Connect-Schlüssel sofort, wenn er offengelegt wurde.

4. MCP-Client verbinden

Wählen Sie einen Client. Sie müssen nicht jeden Client konfigurieren.

Codex

codex mcp add asc-mcp -- ~/.mint/bin/asc-mcp
codex mcp list

Claude Code

claude mcp add \
  --transport stdio \
  --scope user \
  asc-mcp \
  -- ~/.mint/bin/asc-mcp

claude mcp get asc-mcp
claude mcp list

Für Claude Desktop, Gemini CLI, VS Code, Continue, Cursor und Devin Desktop verwenden Sie die kopierfertigen Beispiele unter MCP-Client-Einrichtung.

5. Ausprobieren

Starten Sie einen GUI-Client nach einer Konfigurationsänderung neu, öffnen Sie seine MCP-Tool-Liste und fragen Sie:

List my App Store Connect apps.

Wenn die Verbindung oder Anfrage fehlschlägt, lesen Sie Fehlerbehebung.

Installation

Mint unter macOS (empfohlen)

Mint installiert die festgepinnte Version aus dem Quellcode und legt die ausführbare Datei unter ~/.mint/bin/asc-mcp ab.

brew install mint
mint install zelentsov-dev/asc-mcp@v4.1.6

Aktualisieren oder neu installieren Sie die festgepinnte Version:

mint install zelentsov-dev/asc-mcp@v4.1.6 --force

Stabile Nutzer sollten ein Versions-Tag installieren. Die Installation von main oder develop ist nur für Maintainer und Pre-Release-Tests vorgesehen.

Aus dem Quellcode bauen

Verwenden Sie Xcode 26.x auf einer kompatiblen macOS-Version oder installieren Sie eine eigenständige Swift-6.2+-Toolchain.

git clone https://github.com/zelentsov-dev/asc-mcp.git
cd asc-mcp
swift build -c release

Die ausführbare Datei ist .build/release/asc-mcp. Wenn Sie sie woandershin kopieren, kopieren Sie auch das benachbarte Ressourcen-Bundle:

cp .build/release/asc-mcp /usr/local/bin/asc-mcp
cp -R .build/release/asc-mcp_asc-mcp.bundle /usr/local/bin/

Das Bundle enthält den versionierten OpenAPI-Operationsvertrag, der für Release-Prüfungen verwendet wird.

Upgrade von einer älteren Version

Version 4.1 behält jeden vorhandenen Tool-Namen, jede erforderliche Eingabe, jeden Projektionsschlüssel und jede Array-Form bei. Die Lese-Tools für Xcode Cloud lehnen nun undokumentierte Argumente ab und validieren zurückgegebene Links, Paginierung, Beziehungskette und enthaltene Ressourcen strenger. Neue *Present-Projektionsfelder unterscheiden von Apple ausgelassene Arrays von vorhandenen leeren Arrays, während ältere Array-Felder Arrays bleiben. Neu verfügbare verschachtelte *_limit-Eingaben müssen mit dem passenden include-Wert kombiniert werden, und Fortsetzungsaufrufe müssen den ursprünglichen Anforderungsumfang unverändert wiederholen. Die neuen Lösch-Tools für Produkte und Workflows verwenden standardmäßig eine sichere Vorschau und erfordern vor dem endgültigen Löschen die neueste Vorschau-Quittung sowie eine exakte Bestandsbestätigung.

Version 4 behält jeden vorhandenen Tool-Namen und Worker-Filter bei, aber destruktive Marketing- und Review-Anhang-Aufrufe erfordern nun vor jeder Apple-Anfrage eine exakte Bestätigungs-ID:

Vorhandenes Tool

Neu erforderliche Bestätigung

custom_pages_delete

confirm_page_id

ppo_delete_experiment

confirm_experiment_id

promoted_delete

confirm_promoted_purchase_id

review_attachments_delete

confirm_attachment_id

screenshots_delete_set, screenshots_delete_preview_set

confirm_set_id

screenshots_delete

confirm_screenshot_id

screenshots_delete_preview

confirm_preview_id

ppo_update_experiment erfordert außerdem confirm_experiment_id, wenn state angegeben wird. Aufrufe, die nur den Namen oder den Traffic-Anteil aktualisieren, bleiben unverändert. Verwenden Sie nach einem unknown- oder committed_unverified-Mutationsergebnis die zurückgegebene Prüfaktion, bevor Sie es erneut versuchen.

Entfernen Sie undokumentierte Top-Level-Argumente aus vorhandenen Marketing- und Review-Anhang-Aufrufen. Version 4 lehnt unbekannte Schlüssel vor jeder Netzwerkanfrage ab, anstatt sie stillschweigend zu ignorieren.

Konfiguration

Anmeldedaten

Die im Quick Start gezeigte Standarddatei ~/.config/asc-mcp/companies.json wird empfohlen, weil sie konsistent für Terminal- und GUI-Clients funktioniert, ohne Geheimnisse in jeder Client-Konfiguration zu duplizieren.

Für mehrere Unternehmen fügen Sie weitere Einträge hinzu:

{
  "companies": [
    {
      "id": "my-company",
      "name": "My Company",
      "key_id": "XXXXXXXXXX",
      "issuer_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "key_path": "/Users/you/.keys/AuthKey_XXXXXXXXXX.p8",
      "vendor_number": "YOUR_VENDOR_NUMBER"
    },
    {
      "id": "client-company",
      "name": "Client Company",
      "key_id": "YYYYYYYYYY",
      "issuer_id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
      "key_path": "/Users/you/.keys/AuthKey_YYYYYYYYYY.p8"
    }
  ]
}

vendor_number ist nur für analytics_sales_report, analytics_financial_report und analytics_app_summary erforderlich. Sie finden es unter App Store Connect → Verkäufe und Trends → Berichte.

Umgebungsvariablen sind für die Automatisierung nützlich, aber über den Finder gestartete GUI-Apps übernehmen möglicherweise nicht Ihre Shell-Umgebung. Die dateibasierte Einrichtung oben ist für die meisten Nutzer einfacher.

Ein Unternehmen:

export ASC_KEY_ID=XXXXXXXXXX
export ASC_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ASC_PRIVATE_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8
export ASC_COMPANY_NAME="My Company"                 # optional
export ASC_VENDOR_NUMBER=YOUR_VENDOR_NUMBER          # optional, analytics only

Mehrere Unternehmen:

export ASC_COMPANY_1_NAME="My Company"
export ASC_COMPANY_1_KEY_ID=XXXXXXXXXX
export ASC_COMPANY_1_ISSUER_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ASC_COMPANY_1_KEY_PATH=/Users/you/.keys/AuthKey_XXXXXXXXXX.p8

export ASC_COMPANY_2_NAME="Client Company"
export ASC_COMPANY_2_KEY_ID=YYYYYYYYYY
export ASC_COMPANY_2_ISSUER_ID=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
export ASC_COMPANY_2_KEY_PATH=/Users/you/.keys/AuthKey_YYYYYYYYYY.p8

Die Nummerierung beginnt bei 1. Jeder aufeinanderfolgende Eintrag muss sowohl ASC_COMPANY_{N}_KEY_ID als auch ASC_COMPANY_{N}_ISSUER_ID bereitstellen; das Scannen stoppt beim ersten fehlenden Paar.

Der Server löst die Anmeldedaten in dieser Reihenfolge auf:

  1. --companies /absolute/path/to/companies.json

  2. Konstruktorparameter für die programmatische Einbettung

  3. ASC_MCP_COMPANIES=/absolute/path/to/companies.json

  4. Standard-Speicherorte für Konfigurationsdateien, einschließlich ~/.config/asc-mcp/companies.json

  5. ASC_COMPANY_1_KEY_ID und die anderen nummerierten Multi-Company-Variablen

  6. ASC_KEY_ID, ASC_ISSUER_ID und eine Private-Key-Variable für ein Unternehmen

MCP-Client-Einrichtung

Alle folgenden Beispiele setzen eine Mint-Installation und die empfohlene Anmeldedatei companies.json voraus. Ersetzen Sie /Users/you durch den tatsächlichen Pfad Ihres Home-Verzeichnisses. GUI-Clients erfordern in der Regel einen absoluten Pfad zur ausführbaren Datei.

Client

Konfigurationsbereich

Hinweise

Codex

Benutzerkonfiguration per CLI; optionale Konfiguration für vertrauenswürdige Projekte

Wird von lokalen Codex-Clients auf demselben Mac gemeinsam genutzt

Claude Code

user-, local- oder project-Bereich

user ist am einfachsten für ein persönliches App-Store-Dienstprogramm

Claude Desktop

Desktop-Konfiguration auf Benutzerebene

Nach dem Bearbeiten neu starten

Gemini CLI

Benutzereinstellungen

Lokaler stdio-Server

VS Code with GitHub Copilot

Benutzerprofil oder .vscode/mcp.json

Serververtrauen beim ersten Start bestätigen

Continue

Arbeitsbereich .continue/mcpServers/

Getrennt von der nativen VS Code MCP-Konfiguration

Cursor

Benutzer- oder Projekt-mcp.json

Verwenden Sie einen absoluten Befehlspfad

Devin Desktop (formerly Windsurf)

Benutzer-MCP-Konfiguration

Nicht mehr als 100 aktive Tools beibehalten

Empfohlene CLI-Registrierung:

codex mcp add asc-mcp -- ~/.mint/bin/asc-mcp
codex mcp list
codex mcp get asc-mcp --json

Dieselbe lokale MCP-Konfiguration wird von Codex-Clients auf diesem Mac gemeinsam genutzt. Die Benutzerkonfiguration ist $CODEX_HOME/config.toml, standardmäßig ~/.codex/config.toml:

[mcp_servers.asc-mcp]
command = "/Users/you/.mint/bin/asc-mcp"
startup_timeout_sec = 20
tool_timeout_sec = 60
enabled = true

Für eine projektspezifische Einrichtung platzieren Sie dieselbe Tabelle in .codex/config.toml; Codex lädt die Projektkonfiguration erst, nachdem das Projekt als vertrauenswürdig eingestuft wurde. Wenn Sie Shell-Anmeldeinformationen anstelle von companies.json verwenden, leiten Sie diese explizit weiter:

env_vars = ["ASC_KEY_ID", "ASC_ISSUER_ID", "ASC_PRIVATE_KEY_PATH"]

Starten Sie einen GUI-Client nach der Änderung der Konfiguration neu und verwenden Sie dann seine MCP-Ansicht oder /mcp, um zu bestätigen, dass asc-mcp aktiv ist. Siehe die offizielle Codex-MCP-Dokumentation.

Einmal für alle lokalen Projekte registrieren:

claude mcp add \
  --transport stdio \
  --scope user \
  asc-mcp \
  -- ~/.mint/bin/asc-mcp

claude mcp get asc-mcp
claude mcp list

Verwenden Sie --scope local nur für das aktuelle Projekt oder --scope project, um eine gemeinsame .mcp.json zu erstellen. Projektserver erfordern eine Vertrauensbestätigung. Legen Sie niemals rohe App-Store-Connect-Anmeldeinformationen in einer committeten .mcp.json ab.

Claude speichert user- und local-MCP-Einträge in ~/.claude.json; .claude/settings.json ist nicht die globale MCP-Registry. Verwenden Sie /mcp in Claude Code, um den Server zu überprüfen oder erneut zu verbinden. Siehe die offizielle Claude-Code-MCP-Dokumentation.

Fügen Sie den Server zu ~/Library/Application Support/Claude/claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

Beenden Sie Claude Desktop und öffnen Sie es nach dem Speichern der Datei erneut.

Fügen Sie den Server zu ~/.gemini/settings.json hinzu:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

Das standardmäßige Gemini-MCP-Timeout wird absichtlich beibehalten. Siehe die offizielle Gemini-CLI-MCP-Dokumentation.

Führen Sie MCP: Add Server über die Befehlspalette aus und wählen Sie für eine persönliche Einrichtung das Benutzerprofil. Für eine Arbeitsbereichseinrichtung erstellen Sie .vscode/mcp.json:

{
  "servers": {
    "asc-mcp": {
      "type": "stdio",
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

Bestätigen Sie, dass Sie dem lokalen Server vertrauen, wenn VS Code ihn zum ersten Mal startet. Committen Sie keine benutzerspezifischen Pfade oder Geheimnisse in eine gemeinsame Arbeitsbereichsdatei. Siehe die offizielle VS Code MCP-Dokumentation.

Continue verwendet keine .vscode/mcp.json. Erstellen Sie .continue/mcpServers/asc-mcp.json im Arbeitsbereich:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

MCP-Tools sind im Continue-Agentenmodus verfügbar. Siehe die offizielle Continue-MCP-Dokumentation.

Verwenden Sie ~/.cursor/mcp.json für alle Projekte oder .cursor/mcp.json für ein einzelnes Projekt:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp"
    }
  }
}

Starten Sie den MCP-Server nach dem Bearbeiten der Datei über die Cursor-Einstellungen neu oder aktualisieren Sie ihn. Siehe die offizielle Cursor-MCP-Dokumentation.

Fügen Sie den Server zu ~/.codeium/windsurf/mcp_config.json hinzu. Dieses Beispiel aktiviert eine Teilmenge von 72 Tools für die Veröffentlichung, unterhalb des 100-Tool-Limits von Cascade:

{
  "mcpServers": {
    "asc-mcp": {
      "command": "/Users/you/.mint/bin/asc-mcp",
      "args": [
        "--workers",
        "apps,builds,export_compliance,versions,reviews"
      ]
    }
  }
}

Sie können auch einzelne Tools im Client deaktivieren. Serverseitiges Worker-Filtering wird empfohlen, da es den aktiven Katalog vorhersehbar hält. Siehe die offizielle Devin-Desktop-MCP-Dokumentation.

[!IMPORTANT] command muss auf die tatsächliche ausführbare Datei zeigen. GUI-Clients übernehmen häufig keine Shell-Aliasse, PATH-Änderungen oder Umgebungsvariablen. Verwenden Sie einen absoluten Pfad und bevorzugen Sie die standardmäßige companies.json-Anmeldedatei.

Worker-Filterung

Der Server stellt 502 Tools über 33 App-Store-Tool-Domänen + 2 Kerndomänen bereit. Einige MCP-Clients legen ein Tool-Limit fest; Cascade in Devin Desktop erlaubt derzeit 100 aktive Tools. Verwenden Sie die 35 --workers-Filterschlüssel, um nur die benötigten Worker zu aktivieren:

# Only load apps, builds, and version lifecycle tools
asc-mcp --workers apps,builds,versions

# App Store release preparation subset (99 tools, including always-on and build sub-workers)
asc-mcp --workers apps,accessibility,builds,export_compliance,versions,app_info,screenshots

# TestFlight review helpers can be loaded separately (49 tools)
asc-mcp --workers apps,builds,beta_app,pre_release

# Monetization focus
asc-mcp --workers apps,iap,subscriptions,pricing,promoted,review_submissions

company- und auth-Worker sind immer aktiviert, unabhängig vom Filter (sie bieten die zentrale Multi-Konto- und Authentifizierungsfunktionalität).

Wenn builds aktiviert ist, werden automatisch die Unter-Worker build_processing und build_beta eingeschlossen.

Schreibgeschützter Modus

Verwenden Sie --read-only, wenn Sie eine sichere Überprüfung ohne Änderungen an App Store Connect wünschen:

asc-mcp --read-only
asc-mcp --read-only --workers apps,builds,reviews,analytics

In diesem Modus bleiben Lesetools wie *_list, *_get, *_search, *_status, *_verify, *_parse, *_triage, auth_*, Analytik und Metriken verfügbar. Tools, die App Store Connect erstellen, aktualisieren, hochladen, einreichen, veröffentlichen, löschen, widerrufen, leeren, abbrechen oder anderweitig verändern können, werden blockiert, bevor ihr Worker-Handler ausgeführt wird. company_switch bleibt verfügbar, da es nur den lokal aktiven Unternehmenskontext ändert.

OpenAPI-Vertrag und Drift-Tooling

Verwenden Sie den Befehl operation-contract, um den tatsächlichen, anmeldefreien WorkerManager-Katalog mit dem semantischen Manifest und der festgelegten Apple-App-Store-Connect-OpenAPI-Spezifikation zu vergleichen. Das Produktionsmanifest zeichnet exakte Apple-operationId, HTTP-Methode, Pfad, auf den Aufruf bezogene Eingabebindungen, typisierte feste Werte, Antwort-Abstammung, lokale Workflows, Implementierungsstatus, veraltete Aliase und bewusst aufgeschobene Operationen auf. Der Befehl lädt keine App-Store-Connect-Anmeldeinformationen und startet den MCP-Server nicht.

rm -rf /tmp/asc-openapi
mkdir -p /tmp/asc-openapi
curl -L --fail -o /tmp/asc-openapi/spec.zip \
  https://developer.apple.com/sample-code/app-store-connect/app-store-connect-openapi-specification.zip
spec_entry="$(unzip -Z1 /tmp/asc-openapi/spec.zip | grep -E '(^|/)openapi\.oas[^/]*\.json$')"
test "$(echo "$spec_entry" | grep -c .)" -eq 1
unzip -p /tmp/asc-openapi/spec.zip "$spec_entry" > /tmp/asc-openapi/openapi.oas.json

swift run asc-mcp openapi-contract-check \
  --spec /tmp/asc-openapi/openapi.oas.json \
  --json-output /tmp/asc-openapi/operation-contract.json \
  --markdown-output /tmp/asc-openapi/operation-contract.md \
  --strict

Das Manifest ist über Version, SHA-256, Pfadanzahl und Operationsanzahl auf Apple API 4.4.1 fixiert. Es bildet derzeit 476 Apple-Operationen ab, schiebt 424 explizit auf und klammert 363 aus, wobei alle 1.263 Operationen ohne Überschneidung abgedeckt werden. CI schlägt fehl, wenn sich das Apple-Dokument ändert, eine abgebildete Operation verschoben wird oder verschwindet, ein öffentliches Tool oder ein Worker vom Manifest abweicht, ein Eingabefeld seine Bindung verliert, die Antwort-Abstammung ungültig wird oder eine aufgeschobene Entscheidung abläuft. Nicht offengelegte optionale Apple-Parameter werden als Warnungen behandelt, damit sie im generierten Backlog sichtbar bleiben.

Manifest-Schema v2 berücksichtigt außerdem jede optionale Apple-Abfrage- und Request-Body-Eingabe als öffentlich gebunden, intern kontrolliert, absichtlich mit einem geprüften Grund ausgelassen oder noch unklassifiziert. Das eingecheckte optionalInputCoveragePin zeichnet die genauen aktuellen Gesamtzahlen und einen SHA-256-Digest der sortierten Eingabeidentitäten und -dispositionen auf; --strict weist eine fehlende Pin oder eine Abweichung auf Anzahl- oder Identitätsebene zurück. Die Pin macht eine schrittweise Behebung prüfbar und regressionssicher, ist aber keine Behauptung, dass jede optionale Apple-Eingabe bereits öffentlich ist. Die v4.1.3-Pin umfasst insgesamt 2.905: 1.122 gebunden, 40 intern kontrolliert, 1.743 absichtlich ausgelassen und 0 unklassifiziert. Ihr Identitäts-SHA-256 ist c975f4e4eebb62ec87864a73fbf72bb8841f644108e54e6ffb25168bcf2a2766.

--strict ist das Release-Gate zum Zeitpunkt von Merge und Tag. Jedes deklarierte target- oder broken-Tool bleibt in Berichten ein Fehler, und ein Regressionstest fixiert ihren genauen Zustand. Die aktuelle Basislinie enthält keine target- oder broken-Implementierungen und keine Implementierungsabweichung. Daher blockiert jede Implementierung, die asBuilt verlässt, jeder strukturelle Vertragsfehler oder jede Abweichung bei der Abdeckung optionaler Eingaben sowohl Merges als auch Releases. --structural-strict bleibt nur für lokale schrittweise Behebungsarbeiten verfügbar.

Dieses Gate weist die Operationsidentität, den Besitz der MCP-Felder auf oberster Ebene, erforderliche Apple-Eingaben, typisierte interne Werte und die Quelle/Zeiger-Abstammung der Antworten nach. Die vollständige MCP-Typ-/Enum-/Bereichs-Parität und vollständige typisierte Antwortschemata bleiben separate Optimierungsphasen; der aktuelle Mapping-Status ist 469 partiell und 33 veraltet.

Der ältere Befehl openapi-coverage bleibt für den High-Level-Domänenbericht in ASC-OPENAPI-COVERAGE-GENERATED.md verfügbar. Der Befehl operation-contract ist das maßgebliche Release-Gate.

Verfügbare Workernamen:

Worker

Prefix

Tools

Beschreibung

company

company_

3

Multi-Konto-Verwaltung

auth

auth_

4

JWT-Token-Werkzeuge

apps

apps_

10

App-Listung, Metadaten, Lokalisierungen, Suchbegriff-IDs

accessibility

accessibility_

6

App-Store-Barrierefreiheitserklärungen

webhooks

webhooks_

11

Webhook-Benachrichtigungen, Zustellungsdiagnose und Empfänger-Hilfsfunktionen

xcode_cloud

xcode_cloud_

42

Xcode-Cloud-Produkte, Workflow-Verwaltung, Build-Ausführungen, Artefakte, Probleme, Testergebnisse und SCM

builds

builds_

4

Build-Verwaltung

build_uploads

build_uploads_

10

Übergeordnete Build-Uploads, Dateien, sichere Übertragungen und Wiederherstellung

build_processing

builds_get_processing_*, builds_update_encryption, builds_check_readiness

4

Build-Status, Verschlüsselung

export_compliance

export_compliance_

11

Verschlüsselungserklärungen, Dokument-Uploads, Build-Verknüpfung, Bereitschaft

build_beta

builds_*_beta_*, individuelle Tester-Build-Tools

11

TestFlight-Lokalisierungen, Benachrichtigungen

versions

app_versions_

17

Versionslebenszyklus, Altersfreigaben, Einreichen, Veröffentlichen

reviews

reviews_

8

Kundenbewertungen und Antworten

beta_groups

beta_groups_

15

TestFlight-Gruppen und Rekrutierungskriterien für öffentliche Links

beta_feedback

beta_feedback_

8

TestFlight-Feedback-Screenshots, Absturzübermittlungen, Absturzprotokolle

beta_testers

beta_testers_

12

Tester-Verwaltung

iap

iap_

59

In-App-Käufe, versionierte Metadaten, Preise, Verfügbarkeit, Angebotscodes, Review-Assets

subscriptions

subscriptions_

99

Abonnement- und Gruppenversionen, Preise, Planverfügbarkeit, Angebote, Assets

sandbox

sandbox_

3

Sandbox-Tester

beta_app

beta_app_

10

Beta-App-Lokalisierungen und Review

pre_release

pre_release_

3

Vorabversionen

beta_license

beta_license_

3

Beta-Lizenzvereinbarungen

provisioning

provisioning_

17

Bundle-IDs, Geräte, Zertifikate

app_info

app_info_

10

App-Informationen, Kategorien, EULA

pricing

pricing_

9

Gebiete, Preise

users

users_

10

Teammitglieder, Rollen

app_events

app_events_

9

In-App-Events, Lokalisierungen

analytics

analytics_

11

Verkaufs-/Finanzberichte, Analysen

screenshots

screenshots_

19

Screenshots, Vorschauen, Sets und verifizierte Reihenfolge

custom_pages

custom_pages_

17

Benutzerdefinierte Produktseiten, Versionen, Lokalisierungen und Suchbegriffe

ppo

ppo_

15

Experimente zur Produktseitenoptimierung, Treatments und Lokalisierungen

promoted

promoted_

10

Beworbene In-App-Käufe und verifizierte Reihenfolge

review_attachments

review_attachments_

4

App-Store-Review-Anhänge

review_submissions

review_submissions_

9

Allgemeine App-Store-Review-Einreichungen und Einreichungselemente

metrics

metrics_

9

Leistungsmetriken, Diagnosen und TestFlight-Nutzungsmetriken

Größe des Tool-Katalogs

Wenn ein MCP-Client alle Tool-Definitionen sofort lädt, beträgt der ungefähre Schema-Umfang:

Konfiguration

Tools

~Tokens

Alle Worker (Standard)

502

~60,000

Release-Workflow: apps,builds,export_compliance,versions,reviews

~72

~8,900

Monetarisierung: apps,iap,subscriptions,pricing

184

~21,100

TestFlight: apps,builds,beta_groups,beta_testers

~63

~7,100

Marketing: apps,screenshots,custom_pages,ppo,promoted

~78

~8,800

--workers apps

17

~2,100

Schwerste Worker: Subscriptions (99 Tools), InAppPurchases (59 Tools), Xcode Cloud (42 Tools), Screenshots (19 Tools), Provisioning (17 Tools).

Die genauen Kosten hängen von der Serialisierung, dem Tokenizer und der Tool-Erkennungsstrategie des MCP-Hosts ab. Moderne Clients verschieben Schemas möglicherweise, bis sie benötigt werden. Verwenden Sie --workers, wenn der Client ein Tool-Limit erzwingt oder wenn Sie einen kleineren, fokussierteren Katalog wünschen.

Verfügbare Tools

502 Tools organisiert über 33 App-Store-Tool-Domänen + 2 Kerndomänen (verwenden Sie die 35 --workers-Filterschlüssel – siehe Worker-Filterung):

Tool

Beschreibung

company_list

Alle konfigurierten Unternehmen auflisten

company_switch

Aktives Unternehmen für API-Operationen wechseln

company_current

Informationen zum aktuell aktiven Unternehmen abrufen

Tool

Beschreibung

auth_generate_token

JWT-Token für den API-Zugriff generieren

auth_validate_token

Ein Standard-Team-Key-JWT lokal validieren: ES256-Signatur, konfigurierte kid/iss, App-Store-Connect-Zielgruppe, Ausstellungs- und Ablaufansprüche sowie die maximale Lebensdauer von 20 Minuten. Dabei wird kein Apple-API-Aufruf durchgeführt und keine Serverakzeptanz nachgewiesen.

auth_refresh_token

JWT-Token-Aktualisierung erzwingen

auth_token_status

JWT-Token-Cache-Status abrufen

Tool

Description

apps_list

Alle Apps mit Filterung auflisten

apps_get_details

Detaillierte App-Informationen abrufen

apps_search

Apps nach Name oder Bundle-ID durchsuchen

apps_list_versions

Alle Versionen mit Status auflisten

apps_get_metadata

Lokalisierte Metadaten für eine Version abrufen

apps_list_search_keywords

Kanonische App-Store-Suchbegriff-IDs für Custom-Page-Targeting auflisten

apps_update_metadata

Metadaten aktualisieren (What's New, Beschreibung usw.)

apps_list_localizations

Lokalisierungen mit Inhaltsstatus auflisten

apps_create_localization

Neue Lokalisierung für eine Version erstellen

apps_delete_localization

Lokalisierung aus einer Version löschen

Tool

Description

accessibility_list

Barrierefreiheitserklärungen für eine App auflisten

accessibility_get

Eine Barrierefreiheitserklärung abrufen

accessibility_create

Erklärung für eine Gerätefamilie erstellen

accessibility_update

Support-Flags aktualisieren oder Erklärung veröffentlichen

accessibility_delete

Erklärung löschen

accessibility_list_relationships

Beziehungs-IDs von Erklärungen für eine App auflisten

Tool

Description

webhooks_list

Webhooks für eine App auflisten

webhooks_get

Webhook anhand der ID abrufen

webhooks_create

Webhook-Konfiguration erstellen

webhooks_update

Webhook-Felder aktualisieren

webhooks_delete

Webhook löschen

webhooks_list_deliveries

Zustellversuche auflisten

webhooks_redeliver

Vorhandene Zustellung erneut zustellen

webhooks_ping

Test-Ping senden

webhooks_verify_signature

x-apple-signature gegen den exakten rohen Payload-Body verifizieren

webhooks_parse_payload

Rohen Webhook-Benachrichtigungs-Payload parsen und normalisieren

webhooks_triage_event

Aktionsfähigen Triage-Plan für Webhook-Ereignisse oder Zustellfehler erstellen

Tool

Description

xcode_cloud_products_list

Xcode-Cloud-Produkte auflisten

xcode_cloud_products_get

Xcode-Cloud-Produkt abrufen

xcode_cloud_products_delete

Xcode-Cloud-Produkt mit Bestätigungsschutz in der Vorschau anzeigen oder endgültig löschen

xcode_cloud_app_product_get

Mit einer App verknüpftes Xcode-Cloud-Produkt abrufen

xcode_cloud_product_app_get

Mit einem Xcode-Cloud-Produkt verknüpfte App abrufen

xcode_cloud_product_primary_repositories_list

Primäre Repositorys eines Produkts auflisten

xcode_cloud_product_additional_repositories_list

Zusätzliche Repositorys eines Produkts auflisten

xcode_cloud_product_workflows_list

Workflows für ein Produkt auflisten

xcode_cloud_product_build_runs_list

Build-Runs für ein Produkt auflisten

xcode_cloud_workflows_get

Workflow abrufen

xcode_cloud_workflows_create

Xcode-Cloud-Workflow erstellen

xcode_cloud_workflows_update

Xcode-Cloud-Workflow aktualisieren

xcode_cloud_workflows_delete

Workflow mit Bestätigungsschutz in der Vorschau anzeigen oder endgültig löschen

xcode_cloud_workflow_repository_get

Von einem Workflow verwendetes Repository abrufen

xcode_cloud_workflow_build_runs_list

Build-Runs für einen Workflow auflisten

xcode_cloud_build_runs_get

Build-Run abrufen

xcode_cloud_build_runs_start

Xcode-Cloud-Build starten oder neu erstellen

xcode_cloud_build_run_actions_list

Build-Aktionen für einen Run auflisten

xcode_cloud_build_run_builds_list

Von einem Run erstellte App-Store-Connect-Builds auflisten

xcode_cloud_actions_get

Build-Aktion abrufen

xcode_cloud_action_build_run_get

Build-Run abrufen, dem eine Build-Aktion gehört

xcode_cloud_action_artifacts_list

Artefakte für eine Aktion auflisten

xcode_cloud_action_issues_list

Probleme für eine Aktion auflisten

xcode_cloud_action_test_results_list

Testergebnisse für eine Aktion auflisten

xcode_cloud_artifacts_get

Artefakt abrufen

xcode_cloud_issues_get

Problem abrufen

xcode_cloud_test_results_get

Testergebnis abrufen

xcode_cloud_xcode_versions_list

Verfügbare Xcode-Versionen auflisten

xcode_cloud_xcode_versions_get

Xcode-Version abrufen

xcode_cloud_xcode_version_macos_versions_list

Mit einer Xcode-Version kompatible macOS-Versionen auflisten

xcode_cloud_macos_versions_list

Verfügbare macOS-Versionen auflisten

xcode_cloud_macos_versions_get

macOS-Version abrufen

xcode_cloud_macos_version_xcode_versions_list

Mit einer macOS-Version kompatible Xcode-Versionen auflisten

xcode_cloud_scm_providers_list

SCM-Anbieter auflisten

xcode_cloud_scm_providers_get

SCM-Anbieter abrufen

xcode_cloud_scm_provider_repositories_list

Repositorys für einen SCM-Anbieter auflisten

xcode_cloud_scm_repositories_list

SCM-Repositorys auflisten

xcode_cloud_scm_repositories_get

SCM-Repository abrufen

xcode_cloud_scm_repository_git_references_list

Git-Referenzen des Repositorys auflisten

xcode_cloud_scm_repository_pull_requests_list

Pull-Requests des Repositorys auflisten

xcode_cloud_scm_git_references_get

Git-Referenz abrufen

xcode_cloud_scm_pull_requests_get

Pull-Request abrufen

Tool

Description

beta_feedback_list_crashes

Beta-Absturz-Feedback-Einsendungen auflisten

beta_feedback_get_crash

Eine Beta-Absturz-Feedback-Einsendung abrufen

beta_feedback_get_crash_log

Absturzprotokoll für eine Einsendung lesen

beta_feedback_get_crash_log_by_id

Absturzprotokoll anhand der Absturzprotokoll-ID lesen

beta_feedback_delete_crash

Beta-Absturz-Feedback-Einsendung löschen

beta_feedback_list_screenshots

Beta-Screenshot-Feedback-Einsendungen auflisten

beta_feedback_get_screenshot

Eine Beta-Screenshot-Feedback-Einsendung abrufen

beta_feedback_delete_screenshot

Beta-Screenshot-Feedback-Einsendung löschen

Tool

Description

builds_list

Builds mit Verarbeitungsstatus auflisten

builds_get

Detaillierte Build-Informationen abrufen

builds_find_by_number

Build anhand der Versionsnummer finden

builds_list_for_version

Builds für eine bestimmte App-Version abrufen

Tool

Beschreibung

build_uploads_list

Listet die Build-Upload-Elternobjekte einer App mit Filtern, Sparse Fields, Includes und strikter Paginierung auf

build_uploads_get

Ruft einen Build-Upload mit Verarbeitungsdiagnose und optionalen enthaltenen Ressourcen ab

build_uploads_create

Erstellt ein Build-Upload-Elternobjekt ohne Wiedergabe eines mehrdeutigen POST

build_uploads_delete

Löscht ein Build-Upload-Elternobjekt nach Bestätigung der exakten ID

build_uploads_list_files

Listet Dateireservierungen unter einem Build-Upload mit strikter Paginierung auf

build_uploads_get_file

Ruft eine Build-Upload-Datei und ihren Bereitstellungsstatus ab

build_uploads_reserve_file

Reserviert eine exakte Datei ohne Wiedergabe eines mehrdeutigen POST

build_uploads_commit_file

Übernimmt Prüfsummen- oder Upload-Statusänderungen, wobei Auslassung und Null getrennt erhalten bleiben

build_uploads_upload_file

Überträgt eine neue oder bestehende Reservierung aus einem unveränderlichen lokalen Snapshot

build_uploads_upload

Führt Elternobjekt-Erstellung, Reservierung, Übertragung, Commit und Verarbeitungsabgleich aus

Compound-Uploads behalten denselben MD5-Fingerabdruck in Kleinbuchstaben von der Reservierung bis zur Wiederherstellung. Explizite Fortsetzungs- und Wiederherstellungsanweisungen tragen expected_md5; der nächste Aufruf prüft einen frischen unveränderlichen Snapshot dagegen, bevor eine Apple-Anfrage oder Übertragung erfolgt. Eine vorhandene Reservierung, die bereits als UPLOAD_COMPLETE oder COMPLETE markiert ist, wird nur akzeptiert, wenn der MD5-Wert von Apples sourceFileChecksums.file mit diesem Snapshot übereinstimmt; fehlende, nicht unterstützte oder abweichende Nachweise werden zur Prüfung aufbewahrt, ohne erneute Übertragung, Commit oder Löschung. Vorsignierte Operationen werden nur wiederholt, wenn ihre Methode PUT ist; Weiterleitungen, POST und unbekannte Methoden werden nicht erneut ausgeführt. Wenn ein mehrdeutiger Create eindeutig wiederhergestellt wird, stoppt der Workflow und gibt seine Ressourcen-ID für die explizite Fortsetzung zurück. Übertragungsanmeldedaten bleiben geschwärzt, es sei denn, include_sensitive_details wird bei einem direkten Lesevorgang explizit aktiviert.

Tool

Beschreibung

builds_get_processing_state

Aktuellen Verarbeitungsstatus abrufen

builds_update_encryption

Verschlüsselungskonformität festlegen

builds_get_processing_status

Detaillierten Verarbeitungsstatus abrufen

builds_check_readiness

Prüfen, ob der Build für die Einreichung bereit ist

Tool

Beschreibung

export_compliance_list_declarations

Listet die Verschlüsselungserklärungen einer App mit strikter Paginierung auf

export_compliance_get_declaration

Ruft eine Erklärung ohne veraltete Dokument-URL-Felder ab

export_compliance_create_declaration

Erstellt einen Fragebogen zur Verschlüsselungserklärung für eine App

export_compliance_create_document

Reserviert, überträgt, führt den Commit aus und pollt ein Dokument aus einem unveränderlichen lokalen Snapshot

export_compliance_get_document

Ruft sichere Bereitstellungsmetadaten ohne signierte URLs, Tokens oder Upload-Header ab

export_compliance_update_document

Wendet einen Low-Level-Patch für eine nullable Prüfsumme oder den Upload-Status an

export_compliance_upload_document

Setzt eine AWAITING_UPLOAD-Reservierung mit exakten Bytes und deren MD5-Beleg in Kleinbuchstaben fort

export_compliance_inspect_document

Prüft das Vorhandensein des Dokuments und klassifiziert seinen Bereitstellungsstatus

export_compliance_get_build_declaration

Ruft die aktuell an einem Build angehängte Erklärung ab

export_compliance_attach_build_declaration

Hängt eine genehmigte Erklärung an und verifiziert die Beziehung

export_compliance_check_release_readiness

Bewertet nur das Export-Compliance-Release-Gate des Builds

Tool

Beschreibung

builds_get_beta_detail

TestFlight-Konfiguration für Build abrufen

builds_update_beta_detail

TestFlight-Einstellungen aktualisieren

builds_set_beta_localization

Neuerungen für TestFlight festlegen

builds_list_beta_localizations

Alle TestFlight-Lokalisierungen auflisten

builds_get_beta_groups

Beta-Gruppen für einen Build abrufen

builds_get_beta_testers

Einzeltester für einen Build abrufen

builds_send_beta_notification

Benachrichtigung an Beta-Tester senden

builds_add_to_beta_groups

Build zu Beta-Gruppen hinzufügen

builds_add_individual_testers

Einzeltester zu einem Build hinzufügen

builds_remove_individual_testers

Einzeltester von einem Build entfernen

builds_list_individual_testers

Einzeltester auflisten, die einem Build zugewiesen sind

Tool

Beschreibung

beta_groups_list

TestFlight-Beta-Gruppen für eine App auflisten

beta_groups_create

Neue Beta-Gruppe erstellen

beta_groups_update

Einstellungen der Beta-Gruppe aktualisieren

beta_groups_delete

Beta-Gruppe löschen

beta_groups_add_testers

Tester zu einer Beta-Gruppe hinzufügen

beta_groups_remove_testers

Tester aus einer Beta-Gruppe entfernen

beta_groups_list_testers

Tester in einer Beta-Gruppe auflisten

beta_groups_add_builds

Builds zu einer Beta-Gruppe hinzufügen

beta_groups_remove_builds

Builds aus einer Beta-Gruppe entfernen

beta_groups_get_recruitment_criteria

Die an einer Beta-Gruppe angehängten Rekrutierungskriterien für öffentliche Links abrufen

beta_groups_create_recruitment_criteria

Rekrutierungskriterien für Gerätefamilie und OS-Version erstellen

beta_groups_update_recruitment_criteria

Rekrutierungsfilter ersetzen oder explizit löschen

beta_groups_delete_recruitment_criteria

Rekrutierungskriterien nach Bestätigung der exakten Kriterien-ID löschen

beta_groups_list_recruitment_options

Gerätefamilien und OS-Versionen auflisten, die Apple derzeit zulässt

beta_groups_check_recruitment_compatibility

Prüfen, ob eine Gruppe einen Build hat, der mit ihren Kriterien kompatibel ist

Enthält Tools für Tester-Liste, -Suche, -Abruf, -Erstellung und -Löschung sowie App-Beziehungen, Einladungen, Beta-Gruppenzuweisung, Build-Zuweisung und App-Entfernung.

Tool

Beschreibung

app_versions_create

Neue App-Version erstellen

app_versions_list

Versionen mit Statusfilterung auflisten

app_versions_get

Detaillierte Versionsinformationen abrufen

app_versions_get_age_rating_declaration

Fragebogen zur Altersfreigabe der App-Info lesen

app_versions_list_territory_age_ratings

Berechnete Altersfreigaben nach Gebiet auflisten

app_versions_update

Versionsattribute aktualisieren

app_versions_attach_build

Build an Version anhängen

app_versions_submit_for_review

Zur App-Store-Prüfung einreichen

app_versions_cancel_review

Laufende Prüfung abbrechen

app_versions_release

Genehmigte Version veröffentlichen

app_versions_create_phased_release

Phased Release erstellen

app_versions_get_phased_release

Phased-Release-Informationen und ID abrufen

app_versions_update_phased_release

Rollout pausieren/fortsetzen/abschließen

app_versions_delete_phased_release

Eine berechtigte geplante Phased-Release mit Bestätigung der exakten ID und Sicherheit bei unbekanntem Ausgang löschen

app_versions_set_review_details

Kontaktinformationen des Prüfers festlegen

app_versions_update_age_rating

Altersfreigabe-Erklärung konfigurieren

app_versions_delete

Eine bearbeitbare App-Version mit Bestätigung der exakten ID und Sicherheit bei unbekanntem Ausgang löschen

Tool

Description

reviews_list

Bewertungen mit Filtern und Paginierung abrufen

reviews_get

Details zu einer bestimmten Bewertung abrufen

reviews_list_for_version

Bewertungen für eine bestimmte Version abrufen

reviews_stats

Aggregierte Bewertungsstatistiken

reviews_create_response

Auf eine Kundenbewertung antworten

reviews_delete_response

Eine Antwort löschen

reviews_get_response

Antwort zu einer Bewertung abrufen

reviews_summarizations

Bewertungsthemen und Bewertungswerte zusammenfassen

Tool

Description

iap_list

In-App-Käufe für eine App auflisten

iap_get

IAP-Details abrufen

iap_create

Neues IAP erstellen

iap_update

IAP-Attribute aktualisieren

iap_delete

IAP löschen

iap_list_localizations

IAP-Lokalisierungen auflisten

iap_create_localization

IAP-Lokalisierung erstellen

iap_update_localization

IAP-Lokalisierung aktualisieren

iap_delete_localization

IAP-Lokalisierung löschen

iap_submit_for_review

IAP zur Überprüfung einreichen

iap_list_subscriptions

Abonnementgruppen auflisten

iap_get_subscription_group

Details zur Abonnementgruppe abrufen

iap_inventory

KI-freundliches IAP-Inventar für eine App

iap_list_price_points

Gebietsspezifische Preispunkte auflisten

iap_list_price_point_equalizations

Preispunkt-Angleichungen auflisten

iap_get_price_schedule

Preisplan abrufen

iap_set_price_schedule

Preisplan festlegen

iap_pricing_summary

Aktuelle und geplante Preise zusammenfassen

iap_prepare_offer_prices

Preispunkt-Kandidaten für Angebote finden

iap_set_availability

Gebietsverfügbarkeit festlegen

iap_get_availability

Verfügbarkeit nach IAP oder Verfügbarkeits-ID abrufen

iap_list_available_territories

Verfügbare Gebiete auflisten

iap_get_promoted_purchase

Status des beworbenen Kaufs abrufen

iap_list_offer_codes

IAP-Angebotscodes auflisten

iap_get_offer_code

IAP-Angebotscode abrufen

iap_create_offer_code

IAP-Angebotscode erstellen

iap_update_offer_code

IAP-Angebotscode aktualisieren

iap_deactivate_offer_code

IAP-Angebotscode deaktivieren

iap_list_offer_code_prices

Gebietsspezifische Angebotspreise auflisten

iap_generate_one_time_codes

Einmalige Angebotscodes generieren

iap_list_one_time_codes

Einmalcode-Chargen auflisten

iap_get_one_time_code

Einmalcode-Charge abrufen

iap_update_one_time_code

Einmalcode-Charge aktualisieren

iap_deactivate_one_time_code

Einmalcode-Charge deaktivieren

iap_get_one_time_code_values

Generierte Einmalcode-Werte abrufen

iap_create_custom_code

Benutzerdefinierten Angebotscode erstellen

iap_get_custom_code

Details zum benutzerdefinierten Code abrufen

iap_update_custom_code

Benutzerdefinierten Code aktualisieren

iap_deactivate_custom_code

Benutzerdefinierten Code deaktivieren

iap_get_review_screenshot

Screenshot zur Überprüfung abrufen

iap_upload_review_screenshot

Screenshot zur Überprüfung hochladen

iap_delete_review_screenshot

Screenshot zur Überprüfung löschen

iap_upload_image

Werbeimage hochladen

iap_get_image

Werbeimage abrufen

iap_delete_image

Werbeimage löschen

iap_list_images

Werbeimages auflisten

iap_create_version

Überprüfbare IAP-Metadatenversion erstellen

iap_get_version

IAP-Version und deren Überprüfungsstatus abrufen

iap_list_versions

Überprüfbare Versionen für ein IAP auflisten

iap_list_version_localizations

Lokalisierungen einer IAP-Version auflisten

iap_create_version_localization

Lokalisierung für eine IAP-Version erstellen

iap_get_version_localization

Lokalisierung einer IAP-Version abrufen

iap_update_version_localization

Nullable-Text einer IAP-Versionslokalisierung aktualisieren

iap_delete_version_localization

Lokalisierung einer IAP-Version löschen

iap_get_version_image

Das einzelne Bild einer IAP-Version abrufen

iap_list_version_images

Alle Bildressourcen einer IAP-Version mit strikter Fortsetzungsunterstützung auflisten

iap_upload_version_image

Unveränderliches IAP-Versionsbild hochladen, committen und abgleichen

iap_get_version_image_resource

Versionsbezogene IAP-Bildressource abrufen

iap_delete_version_image

Versionsbezogenes IAP-Bild löschen

Die bisherigen produktbezogenen Lokalisierungs-, Einreichungs- und Bildtools bleiben aus Kompatibilitätsgründen aufrufbar. Apple 4.4.1 kennzeichnet iap_list_localizations, iap_create_localization, iap_update_localization, iap_delete_localization, iap_submit_for_review, iap_upload_image, iap_get_image, iap_delete_image und iap_list_images als veraltet; erfolgreiche Antworten weisen auf die versionierten Ersatztools hin. Verwenden Sie für die Erstellung von Lokalisierungen, den Upload von Werbeimages und die Einreichung zur Überprüfung zunächst iap_list_versions, rufen Sie iap_create_version nur auf, wenn eine neue Metadatenversion benötigt wird, und übergeben Sie diese Versions-ID an das nachgelagerte versionierte Tool. Diese Kompatibilitätsaufrufe erstellen oder wählen niemals automatisch eine Version aus.

Falls Apple eine Version oder Versionslokalisierung möglicherweise akzeptiert hat, die Antwort jedoch verloren gegangen ist oder nicht dekodiert werden kann, gibt das Tool write_outcome: not_confirmed und retrySafe: false zusammen mit der angeforderten Identität sowie Listen-/Abruf-Prüfschritten zurück. Prüfen Sie vor einem erneuten Versuch, um doppelte Metadatenressourcen zu vermeiden.

Umfasst Abonnement- und Gruppen-Metadatenversionen, versionsbezogene Lokalisierungen und Bilder, plantypabhängige Verfügbarkeit, gebietsspezifische Preise, Preispunkte und angepasste Angleichungen, Lesezugriffe auf beworbene Käufe, Inventar-/Preis-Hilfsfunktionen, Einführungsangebote, Werbeangebote, Angebotscodes, Einmal-/benutzerdefinierte Codes, Win-back-Angebote und Überprüfungs-Screenshots. Die gesamte bisherige öffentliche Funktionalität von offer_codes_*, intro_offers_*, promo_offers_* und winback_* wird über subscriptions_* bereitgestellt.

Apple 4.4.1 kennzeichnet außerdem die bisherigen produkt- oder gruppenbezogenen Lokalisierungs-, Bild- und Einreichungstools als veraltet. Sie bleiben aus Kompatibilitätsgründen aufrufbar, geben bei Erfolg explizite Hinweise auf Ersatztools zurück und erstellen oder wählen niemals automatisch eine Metadatenversion aus. Neue Integrationen sollten subscriptions_create_version oder subscriptions_create_group_version, die entsprechenden Versionslokalisierungs-/Bildtools sowie den generischen review_submissions_*-Workflow verwenden.

Erstellungen von Abonnementversionen, Gruppenversionen, Lokalisierungen und Planverfügbarkeiten verwenden denselben nicht-idempotenten Wiederherstellungsvertrag: Ein mehrdeutiger Apple-Schreibvorgang gibt write_outcome: not_confirmed, retrySafe: false, den angeforderten Fingerabdruck und deterministische Listen-/Abruf-Prüfhinweise zurück.

Die folgenden Namen bleiben aus Kompatibilitätsgründen verfügbar, aber Apple 4.4.1 kennzeichnet ihre bisherige subscriptionAvailability-Ressource zugunsten plantypabhängiger subscriptionPlanAvailabilities als veraltet:

Tool

Kompatibilitätsstatus

subscriptions_get_availability

Veralteter Legacy-Verfügbarkeits-Lesezugriff

subscriptions_set_availability

Veralteter Legacy-Verfügbarkeits-Schreibzugriff

subscriptions_list_available_territories

Veraltete Legacy-Liste der Vertriebsgebiete

subscriptions_inventory

Veralteter Helfer; kann Abonnements über die erste enthaltene Beziehungsseite hinaus auslassen und ist kein maßgebliches vollständiges Inventar

Tool

Beschreibung

sandbox_list

Sandbox-Tester auflisten

sandbox_update

Sandbox-Tester-Einstellungen aktualisieren

sandbox_clear_purchase_history

Kaufhistorie für Sandbox-Tester löschen

Tool

Beschreibung

beta_app_list_localizations

Beta-App-Lokalisierungen auflisten

beta_app_create_localization

Beta-App-Lokalisierung erstellen

beta_app_get_localization

Beta-App-Lokalisierung abrufen

beta_app_update_localization

Beta-App-Lokalisierung aktualisieren

beta_app_delete_localization

Beta-App-Lokalisierung löschen

beta_app_submit_for_review

Build zur Beta-Überprüfung einreichen

beta_app_list_submissions

Beta-Überprüfungseinreichungen auflisten

beta_app_get_submission

Beta-Überprüfungseinreichung abrufen

beta_app_get_review_details

Details zur Beta-App-Überprüfung abrufen

beta_app_update_review_details

Details zur Beta-App-Überprüfung aktualisieren

Enthält Auflistung, Details und zugehörige Builds von Pre-Release-Versionen.

Enthält Auflisten, Abrufen und Aktualisieren von Beta-Lizenzvereinbarungen.

Tool

Beschreibung

provisioning_list_bundle_ids

Registrierte Bundle-Identifikatoren auflisten

provisioning_get_bundle_id

Bundle-ID-Details abrufen

provisioning_create_bundle_id

Neuen Bundle-Identifikator registrieren

provisioning_delete_bundle_id

Bundle-Identifikator löschen

provisioning_list_devices

Registrierte Geräte auflisten

provisioning_register_device

Neues Gerät (UDID) registrieren

provisioning_update_device

Gerätenamen oder -status aktualisieren

provisioning_list_certificates

Signierzertifikate auflisten

provisioning_get_certificate

Zertifikatsdetails abrufen

provisioning_revoke_certificate

Zertifikat widerrufen

provisioning_list_profiles

Provisioning-Profile auflisten

provisioning_get_profile

Profildetails abrufen

provisioning_delete_profile

Profil löschen

provisioning_create_profile

Provisioning-Profil erstellen

provisioning_list_capabilities

Bundle-ID-Funktionen auflisten

provisioning_enable_capability

Funktion aktivieren

provisioning_disable_capability

Funktion deaktivieren

Enthält App-Info-Listen-/Abruf-/Aktualisierungs-Tools, App-Info-Lokalisierungen sowie EULA-Abruf-/Erstellungs-/Aktualisierungs-Tools.

Enthält Tools für Vertriebsgebiete, Verfügbarkeit, Preispunkte, Preispläne und App-Store-Verfügbarkeit v2.

Enthält Tools zum Auflisten/Abrufen/Aktualisieren/Entfernen von Teammitgliedern, Einladungen, sichtbare Apps und Aktualisierungen der Beziehungen sichtbarer Apps.

Enthält CRUD für In-App-Events sowie Tools zum Auflisten/Erstellen/Aktualisieren/Löschen von Ereignislokalisierungen.

Enthält Tools für Verkäufe, Finanzen, App-Zusammenfassung, Analytics-Berichtsanfrage, Bericht, Instanz, Snapshot und Segmente.

Tool

Beschreibung

screenshots_list_sets

Screenshot-Sets auflisten

screenshots_get_set

Screenshot-Set anhand der ID abrufen

screenshots_create_set

Screenshot-Set erstellen

screenshots_delete_set

Screenshot-Set löschen

screenshots_list

Screenshots in einem Set auflisten

screenshots_upload

Screenshot hochladen

screenshots_get

Screenshot-Details abrufen

screenshots_delete

Screenshot löschen

screenshots_reorder

Screenshots in einem Set neu anordnen

screenshots_list_preview_sets

App-Preview-Sets auflisten

screenshots_get_preview_set

App-Preview-Set anhand der ID abrufen

screenshots_create_preview_set

Preview-Set erstellen

screenshots_delete_preview_set

Preview-Set löschen

screenshots_upload_preview

App-Preview hochladen

screenshots_get_preview

Preview-Details abrufen

screenshots_list_previews

Previews in einem Preview-Set auflisten

screenshots_reorder_previews

Jedes Preview in einem Set mit Mitgliedschaft und Postflight-Verifizierung neu anordnen

screenshots_upload_batch

Screenshots in einem Stapel hochladen

screenshots_delete_preview

Preview löschen

Tool

Beschreibung

custom_pages_list

Benutzerdefinierte Produktseiten auflisten

custom_pages_get

Seitendetails abrufen

custom_pages_create

Benutzerdefinierte Seite erstellen

custom_pages_update

Benutzerdefinierte Seite aktualisieren

custom_pages_delete

Benutzerdefinierte Seite löschen

custom_pages_list_versions

Seitenversionen auflisten

custom_pages_get_version

Seitenversion anhand der ID abrufen

custom_pages_create_version

Seitenversion erstellen

custom_pages_update_version

Seitenversion aktualisieren

custom_pages_list_localizations

Versionslokalisierungen auflisten

custom_pages_get_localization

Lokalisierung anhand der ID abrufen

custom_pages_create_localization

Lokalisierung erstellen

custom_pages_update_localization

Lokalisierung aktualisieren

custom_pages_delete_localization

Lokalisierung nach exakter Bestätigung löschen

custom_pages_list_search_keywords

Einer Lokalisierung zugewiesene Suchschlüsselwort-IDs auflisten

custom_pages_add_search_keywords

Suchschlüsselwort-Beziehungen hinzufügen

custom_pages_remove_search_keywords

Suchschlüsselwort-Beziehungen nach exakter Bestätigung entfernen

Tool

Beschreibung

ppo_list_experiments

A/B-Test-Experimente auflisten

ppo_list_version_experiments

V2-Experimente für eine App-Store-Version auflisten

ppo_get_experiment

Experimentdetails abrufen

ppo_create_experiment

Experiment erstellen

ppo_update_experiment

Experiment aktualisieren/starten/stoppen

ppo_delete_experiment

Experiment löschen

ppo_list_treatments

Experiment-Treatments auflisten

ppo_get_treatment

Treatment anhand der ID abrufen

ppo_create_treatment

Treatment-Variante erstellen

ppo_update_treatment

Treatment-Variante aktualisieren

ppo_delete_treatment

Treatment nach exakter Bestätigung löschen

ppo_list_treatment_localizations

Treatment-Lokalisierungen auflisten

ppo_get_treatment_localization

Treatment-Lokalisierung anhand der ID abrufen

ppo_create_treatment_localization

Treatment-Lokalisierung erstellen

ppo_delete_treatment_localization

Treatment-Lokalisierung nach exakter Bestätigung löschen

Tool

Beschreibung

promoted_list

Beworbene Käufe für eine App auflisten

promoted_get

Details zur Promotion abrufen

promoted_create

Eine Promotion erstellen

promoted_update

Sichtbarkeit oder Aktivierungsstatus der Promotion aktualisieren

promoted_delete

Eine Promotion löschen

promoted_reorder

Die vollständige Reihenfolge der beworbenen Käufe für eine App ersetzen und verifizieren

promoted_upload_image

Veraltet: gibt Migrationshinweise zurück; der Endpunkt fehlt in der fixierten Apple OpenAPI 4.4.1

promoted_get_image

Veraltet: gibt Migrationshinweise zurück; der Endpunkt fehlt in der fixierten Apple OpenAPI 4.4.1

promoted_delete_image

Veraltet: gibt Migrationshinweise zurück; der Endpunkt fehlt in der fixierten Apple OpenAPI 4.4.1

promoted_get_image_for_purchase

Veraltet: gibt Migrationshinweise zurück; die Beziehung fehlt in der fixierten Apple OpenAPI 4.4.1

Enthält Tools zum Hochladen, Abrufen, Löschen und Auflisten von App-Store-Review-Anhängen.

Tool

Beschreibung

review_submissions_list

Generische Review-Einreichungen für eine App auflisten

review_submissions_get

Eine generische Review-Einreichung abrufen

review_submissions_create

Eine generische Review-Einreichung für eine App und Plattform erstellen

review_submissions_list_items

Elemente auflisten, die an einer Review-Einreichung angehängt sind

review_submissions_add_item

Eine überprüfbare Ressourcenversion an eine Einreichung anhängen

review_submissions_update_item

Den nullable-Status resolved oder removed eines eingereichten Elements aktualisieren

review_submissions_remove_item

Ein Element aus einer Einreichung entfernen

review_submissions_submit

Alle angehängten Elemente zur Überprüfung einreichen

review_submissions_cancel

Eine eingereichte generische Review-Einreichung abbrechen

review_submissions_add_item meldet Erfolg nur, wenn Apples Antwort eine gültige Element-ID sowie exakt den angeforderten Beziehungsnamen, den JSON:API-Typ und die Ressourcen-ID bestätigt. Jede Abweichung wird als unbestätigter Schreibvorgang mit Schritten zur Wiederherstellung der Einreichung und der Elementliste zurückgegeben.

Tool

Beschreibung

metrics_app_perf

App-Leistungs-/Energiemetriken abrufen

metrics_build_perf

Build-Leistungsmetriken abrufen

metrics_build_diagnostics

Diagnosen für einen Build auflisten

metrics_get_diagnostic_logs

Diagnoseprotokolle abrufen

metrics_app_beta_tester_usage

TestFlight-Absturz-, Sitzungs- und Feedback-Metriken einer App nach Beta-Tester abrufen

metrics_group_beta_tester_usage

TestFlight-Absturz-, Sitzungs- und Feedback-Metriken einer Beta-Gruppe nach Beta-Tester abrufen

metrics_group_public_link_usage

Aufrufe öffentlicher Links, Annahmeergebnisse, Kriterienfehler und Umfrageverhältnisse abrufen

metrics_tester_usage

TestFlight-Nutzungsmetriken eines Testers innerhalb einer App abrufen

metrics_build_beta_usage

TestFlight-Absturz-, Installations-, Sitzungs-, Feedback- und Einladungsmetriken eines Builds abrufen

Verwendungsbeispiele

Vollständiger Release-Workflow

You: "Release version 2.2.0 of my app with build 456"

Claude will:
1. app_versions_create(app_id, platform: "IOS", version_string: "2.2.0")
2. app_versions_attach_build(version_id, build_id)
3. app_versions_set_review_details(version_id, contact_email: "...")
4. app_versions_submit_for_review(version_id)
5. app_versions_create_phased_release(version_id)  # after approval

TestFlight-Verteilung

You: "Create a beta group 'External Testers' and distribute the latest build"

Claude will:
1. beta_groups_create(app_id, name: "External Testers")
2. builds_list(app_id, limit: 1)  # find latest
3. builds_set_beta_localization(build_id, locale: "en-US", whats_new: "...")
4. beta_groups_add_testers(group_id, tester_ids: [...])

Review-Verwaltung

You: "Show me all 1-star reviews from the last week and draft responses"

Claude will:
1. reviews_list(app_id, rating: 1, sort: "-createdDate", limit: 50)
2. reviews_create_response(review_id, response_body: "...")  # for each

Multi-Company-Workflow

You: "Switch to ClientCorp and check their latest build status"

Claude will:
1. company_switch(company: "ClientCorp")
2. apps_list(limit: 5)
3. builds_list(app_id, limit: 1)
4. builds_get_processing_state(build_id)

API-Einschränkungen

Einschränkung

Details

Keine Emojis

Metadatenfelder (What's New, Description, Keywords) dürfen keine Emoji-Zeichen enthalten

Versionsstatus

App Store Connect validiert die bearbeitbaren Status für Metadatenaktualisierungen. Abgelehnte und wegen Metadaten abgelehnte Versionen können für die erneute Einreichung bearbeitet werden; veröffentlichte oder in Prüfung befindliche Versionen können von Apple abgelehnt werden.

JWT-Ablauf

Tokens laufen nach 20 Minuten ab — der Server aktualisiert sie automatisch

Ratenlimits

Apple erzwingt Ratenlimits pro Konto (Dokumentation)

Locale-Format

Verwenden Sie Standardcodes: en-US, ru, de-DE, ja, zh-Hans

Architektur

Sources/asc-mcp/
├── EntryPoint.swift                # Entry point, --workers filtering
├── Core/
│   ├── Application.swift           #   MCP server setup & initialization
│   └── ASCError.swift              #   Custom error types
├── Helpers/                        # JSON formatting, pagination, safe helpers
├── Models/                         # API request/response models
│   ├── AppStoreConnect/            #   Apps, versions, localizations
│   ├── Builds/                     #   Builds, beta details, beta groups
│   ├── AppLifecycle/               #   Version lifecycle models
│   ├── InAppPurchases/             #   IAP models
│   ├── Subscriptions/              #   Subscriptions, offer codes, win-back
│   ├── Marketing/                  #   Screenshots, custom pages, PPO, promoted
│   ├── Metrics/                    #   Performance metrics, diagnostics
│   ├── Analytics/                  #   Sales/financial reports
│   ├── Provisioning/               #   Bundle IDs, devices, certificates
│   ├── Shared/                     #   Shared upload/image types
│   └── ...                         #   AppEvents, AppInfo, Pricing, Users
├── Services/
│   ├── HTTPClient.swift            #   Actor-based HTTP with retry logic
│   ├── JWTService.swift            #   ES256 JWT token generation
│   └── CompaniesManager.swift      #   Multi-account management
└── Workers/                        # MCP tool implementations (39 Swift worker classes + MainWorker router)
    ├── MainWorker/WorkerManager    #   Central tool registry & routing
    ├── CompaniesWorker/            #   company_* tools
    ├── AuthWorker/                 #   auth_* tools
    ├── AppsWorker/                 #   apps_* tools
    ├── AccessibilityWorker/        #   accessibility_* tools
    ├── WebhooksWorker/             #   webhooks_* tools
    ├── XcodeCloudWorker/           #   xcode_cloud_* tools
    ├── BuildsWorker/               #   builds_* tools
    ├── BuildUploadsWorker/         #   build_uploads_* tools
    ├── BuildProcessingWorker/      #   builds_*_processing tools
    ├── ExportComplianceWorker/     #   export_compliance_* tools
    ├── BuildBetaDetailsWorker/     #   builds_*_beta_* tools
    ├── AppLifecycleWorker/         #   app_versions_* tools
    ├── ReviewsWorker/              #   reviews_* tools
    ├── BetaGroupsWorker/           #   beta_groups_* tools
    ├── BetaFeedbackWorker/         #   beta_feedback_* tools
    ├── BetaTestersWorker/          #   beta_testers_* tools
    ├── InAppPurchasesWorker/       #   iap_* tools
    ├── SubscriptionsWorker/        #   subscriptions_* tools
    ├── OfferCodesWorker/           #   subscriptions offer-code tools
    ├── IntroductoryOffersWorker/   #   subscriptions intro-offer tools
    ├── PromotionalOffersWorker/    #   subscriptions promotional-offer tools
    ├── WinBackOffersWorker/        #   subscriptions win-back tools
    ├── SandboxTestersWorker/       #   sandbox_* tools
    ├── BetaAppWorker/              #   beta_app_* tools
    ├── PreReleaseVersionsWorker/   #   pre_release_* tools
    ├── BetaLicenseAgreementsWorker/ #  beta_license_* tools
    ├── ProvisioningWorker/         #   provisioning_* tools
    ├── AppInfoWorker/              #   app_info_* tools
    ├── PricingWorker/              #   pricing_* tools
    ├── UsersWorker/                #   users_* tools
    ├── AppEventsWorker/            #   app_events_* tools
    ├── AnalyticsWorker/            #   analytics_* tools
    ├── ScreenshotsWorker/          #   screenshots_* tools
    ├── CustomProductPagesWorker/   #   custom_pages_* tools
    ├── ProductPageOptimizationWorker/ # ppo_* tools
    ├── PromotedPurchasesWorker/    #   promoted_* tools
    ├── ReviewAttachmentsWorker/    #   review_attachments_* tools
    ├── ReviewSubmissionsWorker/    #   review_submissions_* tools
    └── MetricsWorker/              #   metrics_* tools

Designprinzipien

  • Strikte Nebenläufigkeit in Swift 6 — alle Worker und Dienste sind Sendable, mit korrekter Actor-Isolation

  • Actor-basierter HTTP-Client — threadsicher mit exponentiellem Backoff und Wiederholungslogik

  • Präfixbasiertes Routing — WorkerManager leitet Tool-Aufrufe anhand des Namenspräfixes weiter (keine Konfiguration erforderlich)

  • Minimale Abhängigkeiten — nur das MCP Swift SDK

Fehlerbehebung

  1. Führen Sie ~/.mint/bin/asc-mcp --version aus, um die Installation unabhängig vom MCP-Client zu überprüfen.

  2. Stellen Sie sicher, dass der MCP-Client den absoluten Pfad zur installierten ausführbaren Datei verwendet.

  3. Führen Sie für Codex codex mcp list und codex mcp get asc-mcp --json aus.

  4. Führen Sie für Claude Code claude mcp get asc-mcp und claude mcp list aus.

  5. Prüfen Sie entweder die konfigurierte Datei companies.json oder die Umgebungsvariablen, die von Ihrer gewählten Einrichtung verwendet werden.

  6. Stellen Sie sicher, dass jeder .p8-Schlüsselpfad absolut ist und die Datei existiert.

  7. Starten Sie GUI-Clients nach Änderungen an ihrer MCP-Konfiguration neu und prüfen Sie anschließend das MCP-Ausgabeprotokoll des Clients.

  1. Stellen Sie sicher, dass Ihre Key ID und Issuer ID mit den Angaben in App Store Connect übereinstimmen

  2. Stellen Sie sicher, dass die .p8-Datei der ursprüngliche Download ist (nicht modifiziert)

  3. Prüfen Sie, ob der API-Schlüssel widerrufen wurde

  4. JWT-Tokens aktualisieren sich automatisch, aber wenn der Schlüssel ungültig ist, schlagen alle Anfragen fehl

apps_update_metadata sendet den Metadaten-PATCH nach lokaler Text-, Locale- und URL-Validierung an App Store Connect. Apple entscheidet, ob der aktuelle Versionsstatus bearbeitbar ist. Abgelehnte und wegen Metadaten abgelehnte Versionen können bearbeitet und erneut eingereicht werden; veröffentlichte, in Prüfung befindliche oder anderweitig gesperrte Versionen können einen Apple-API-Fehler zurückgeben.

Verwenden Sie builds_get_processing_status, um den aktuellen Verarbeitungsstatus zu prüfen, und builds_check_readiness, um die App-Store-/TestFlight-Bereitschaft zu überprüfen. Die Build-Verarbeitung von Apple dauert in der Regel 5-30 Minuten, kann aber zu Spitzenzeiten länger dauern.

Der HTTP-Client wiederholt 429-Antworten automatisch mit exponentiellem Backoff. Wenn Sie regelmäßig an Grenzen stoßen, reduzieren Sie die Häufigkeit der API-Aufrufe oder verwenden Sie Paginierung mit kleineren Seitengrößen.

Hilfe erhalten

Bevor Sie ein Issue eröffnen, durchsuchen Sie die bestehenden Issues. Wenn das Problem neu ist, erstellen Sie ein Issue und geben Sie Folgendes an:

  • macOS-Version und Installationsmethode;

  • Name und Version des MCP-Clients;

  • den ausgewählten Wert für --workers, falls vorhanden;

  • die genaue Fehlermeldung und die kleinste reproduzierbare Anfrage.

Entfernen Sie Key IDs, Issuer IDs, private Schlüssel, signierte URLs, Tokens und Kontodaten aus Protokollen, bevor Sie sie veröffentlichen. Melden Sie Sicherheitslücken vertraulich, indem Sie SECURITY.md befolgen. Informationen zu Code-Beiträgen finden Sie in CONTRIBUTING.md.

Entwicklung

Erstellen

swift build              # Debug build
swift build -c release   # Release build (optimized)
swift package clean      # Clean build artifacts

Testmodus

.build/debug/asc-mcp --test    # Runs built-in integration tests

Hinzufügen eines neuen Tools

  1. Erstellen Sie eine Handler-Methode in der entsprechenden Datei Worker+Handlers.swift

  2. Fügen Sie die Tool-Definition in Worker+ToolDefinitions.swift hinzu

  3. Registrieren Sie sie in der getTools()-Methode des Workers

  4. Fügen Sie einen Routing-Fall im handleTool()-Switch des Workers hinzu

  5. Der WorkerManager routet automatisch anhand des Präfixes — dort sind keine Änderungen erforderlich

Hinzufügen eines neuen Workers

  1. Erstellen Sie ein Verzeichnis: Workers/MyWorker/

  2. Erstellen Sie 3 Dateien: MyWorker.swift, MyWorker+ToolDefinitions.swift, MyWorker+Handlers.swift

  3. Fügen Sie die Worker-Eigenschaft und die Initialisierung in WorkerManager.swift hinzu

  4. Fügen Sie die Routing-Regel in WorkerManager.registerWorkers() hinzu

  5. Fügen Sie die Hilfsmethode getMyTools() hinzu

Mitwirken

Wir freuen uns über Beiträge! Weitere Informationen finden Sie im Leitfaden für Mitwirkende.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert. Weitere Informationen finden Sie in der Datei LICENSE.

Danksagungen


Dies ist ein inoffizielles, von der Community gepflegtes Tool und steht in keiner Verbindung zu Apple Inc. und wird von Apple Inc. nicht unterstützt.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that connects Cursor, Claude Desktop, and other MCP clients to the official App Store Connect API—so you can manage iOS/macOS apps, TestFlight, in-app subscriptions, and store metadata via chat or automated tool calls.
    69
    51 npm
    13
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An opinionated MCP server for App Store Connect that provides 13 curated tools, slash-command workflows, and a Claude Skill to manage apps, reviews, sales, and pre-submission audits via natural language.
    41
    263 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A Model Context Protocol server that exposes the entire Apple App Store Connect API (1,200+ operations) as MCP tools, enabling AI assistants to query apps, manage builds, handle submissions, read analytics, and more.
    6 npm
    MIT