Skip to main content
Glama
apple-ads-mcp

apple-ads-mcp

by Happygallo

Stelle deiner KI Fragen wie:

„Wie haben sich meine Kampagnen letzte Woche entwickelt?" „Pausiere die Brand-Kampagne und erhöhe das Budget für Discovery auf 500 $." „Welche Suchbegriffe lösen meine Anzeigen aus? Füge die besten als Keywords mit exakter Übereinstimmung hinzu."

Unterstützt 54 Tools, 3 Ressourcen und 6 Prompts – Kampagnen, Anzeigengruppen, Keywords, Creatives, Budgets, Suchbegriffe, Geo-Targeting, Impression Share und Leistungsberichte.

Funktionen im Überblick

Funktion

Beschreibung

Kampagnenverwaltung

Kampagnen und Anzeigengruppen erstellen, aktualisieren, pausieren und löschen

Keyword-Optimierung

Targeting- und Negativ-Keywords hinzufügen/entfernen, Gebote aktualisieren

Leistungsberichte

Kampagnen-, Anzeigengruppen-, Keyword-, Anzeigen- und Geo-Berichte mit Datumsvoreinstellungen

Suchbegriff-Analyse

Tatsächliche Suchanfragen sehen, die deine Anzeigen auslösen

Creative-Verwaltung

Anzeigen, Creatives und Produktseiten verwalten

Budgetkontrolle

Budgetaufträge erstellen und verwalten, Auslastung analysieren

Impression Share

Impression-Share-Berichte erstellen und abrufen

Multi-Org-Unterstützung

Zur Laufzeit zwischen Organisationen wechseln


Schnellstart

  1. Apple-Zugangsdaten besorgen (~10 Min., einmalig)

  2. Schlüsselpaar generieren (2 Befehle)

  3. Zum MCP-Client hinzufügen

  4. Chatten starten


Related MCP server: google-ads-mcp

Einrichtung

Schritt 1 — API-Benutzer einladen

Wird vom Kontoadministrator unter searchads.apple.com durchgeführt.

  1. Gehe zu Einstellungen → Benutzerverwaltung → Benutzer einladen

  2. Gib die E-Mail-Adresse der Person ein, die die API nutzen wird

  3. Rolle festlegen:

    • API-Kontomanager — voller Lese-/Schreibzugriff

    • API-Konto nur lesen — Nur-Lese-Zugriff

  4. Einladung senden

Der API-Benutzer muss eine andere Apple-ID sein als die des Administrators. Wenn du der Administrator bist, verwende eine zweite Apple-ID.

Schritt 2 — Einladung annehmen und Zugangsdaten kopieren

Wird vom eingeladenen Benutzer durchgeführt.

  1. E-Mail-Einladung annehmen und bei searchads.apple.com anmelden

  2. Gehe zu Einstellungen → Tab API

  3. Diese drei Werte kopieren und speichern:

    • clientId — beginnt mit SEARCHADS.

    • teamId — beginnt mit SEARCHADS.

    • keyId — eine UUID

Schritt 3 — Schlüsselpaar generieren

Terminal öffnen und ausführen:

openssl ecparam -genkey -name prime256v1 -noout -out ~/apple-ads-key.pem && \
openssl pkcs8 -topk8 -nocrypt -in ~/apple-ads-key.pem -out ~/apple-ads-key-pkcs8.pem

Dann den öffentlichen Schlüssel generieren:

openssl ec -in ~/apple-ads-key-pkcs8.pem -pubout -out ~/apple-ads-key-public.pem

Dadurch werden erstellt:

  • ~/apple-ads-key-pkcs8.pem — privater Schlüssel (sicher aufbewahren, wird in deiner Konfiguration verwendet)

  • ~/apple-ads-key-public.pem — öffentlicher Schlüssel (wird als Nächstes bei Apple hochgeladen)

Schritt 4 — Öffentlichen Schlüssel bei Apple hochladen

Öffentlichen Schlüssel anzeigen:

cat ~/apple-ads-key-public.pem

Die gesamte Ausgabe kopieren (einschließlich der BEGIN-/END-Zeilen), dann:

  1. Gehe zu Einstellungen → Tab API auf searchads.apple.com

  2. In das Feld Öffentlicher Schlüssel einfügen

  3. Speichern

Schritt 5 — Zum MCP-Client hinzufügen

Wähle unten deinen Client aus und trage deine clientId, teamId und keyId aus Schritt 2 sowie den vollständigen Pfad zu deinem privaten Schlüssel aus Schritt 3 ein.

Mehrere Organisationen? ASA_ORG_ID weglassen und zur Laufzeit list_organizations / switch_organization verwenden. Oder in env festlegen, um eine Standard-Organisation zu wählen.


Clients

~/Library/Application Support/Claude/claude_desktop_config.json bearbeiten:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Claude Desktop nach dem Speichern neu starten.

claude mcp add apple-ads \
  -e ASA_CLIENT_ID=SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_TEAM_ID=SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_KEY_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
  -e ASA_PRIVATE_KEY_PATH=/Users/yourname/apple-ads-key-pkcs8.pem \
  -- npx -y apple-ads-mcp

Zu .cursor/mcp.json hinzufügen:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Zu deiner settings.json hinzufügen:

{
  "mcp": {
    "servers": {
      "apple-ads": {
        "command": "npx",
        "args": ["-y", "apple-ads-mcp"],
        "env": {
          "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
          "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
        }
      }
    }
  }
}

Zu ~/.codeium/windsurf/mcp_config.json hinzufügen:

{
  "mcpServers": {
    "apple-ads": {
      "command": "npx",
      "args": ["-y", "apple-ads-mcp"],
      "env": {
        "ASA_CLIENT_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_TEAM_ID": "SEARCHADS.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_KEY_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "ASA_PRIVATE_KEY_PATH": "/Users/yourname/apple-ads-key-pkcs8.pem"
      }
    }
  }
}

Dieser Server verwendet den STDIO-Transport. Jeder MCP-kompatible Client kann sich verbinden, indem er Folgendes ausführt:

npx -y apple-ads-mcp

Diese Umgebungsvariablen festlegen:

Variable

Beschreibung

ASA_CLIENT_ID

Deine Client-ID (beginnt mit SEARCHADS.)

ASA_TEAM_ID

Deine Team-ID (beginnt mit SEARCHADS.)

ASA_KEY_ID

Deine Key-ID (UUID)

ASA_PRIVATE_KEY_PATH

Absoluter Pfad zu deinem PKCS#8-privaten Schlüssel

ASA_ORG_ID

(optional) Standardmäßig zu verwendende Organisations-ID

ASA_PRIVATE_KEY_PATH durch ASA_PRIVATE_KEY ersetzen und den PEM-Inhalt mit \n für Zeilenumbrüche einfügen:

"ASA_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\nMIGH...your-key...\n-----END PRIVATE KEY-----"

Tools

Kategorie

Anzahl

Was du tun kannst

Organisationen

3

Zwischen Organisationen wechseln und auflisten. Benutzerdetails abrufen.

Kampagnen

6

Kampagnen auflisten, erstellen, aktualisieren, löschen. Leistungsberichte abrufen.

Anzeigengruppen

6

Anzeigengruppen innerhalb von Kampagnen verwalten. Anzeigengruppen-Berichte abrufen.

Keywords

11

Targeting- und Negativ-Keywords hinzufügen/entfernen. Gebote aktualisieren. Keyword-Berichte.

Suchbegriffe

1

Die tatsächlichen Suchanfragen sehen, die Menschen vor dem Tippen auf deine Anzeige eingegeben haben.

Anzeigen

7

Anzeigen auflisten, erstellen, aktualisieren, löschen. Anzeigenberichte und Ablehnungsgründe abrufen.

Creatives

5

Creatives und Produktseiten verwalten.

Budgetaufträge

4

Budgetaufträge erstellen, aktualisieren, auflisten und Details abrufen.

Apps & Geo

5

Nach geeigneten Apps suchen, Eignung prüfen, Assets finden, Standorte suchen.

Geo-Leistung

1

Leistungsaufschlüsselung nach Land/Region.

Impression Share

3

Benutzerdefinierte Impression-Share-Berichte erstellen, auflisten und abrufen.

Optimierung

2

Kampagnen-Snapshots und Budget-Auslastungsanalyse.

Alle 54 Tools

Kategorie

Tools

Organisationen

list_organizations, switch_organization, get_me_details

Kampagnen

list_campaigns, get_campaign_details, create_campaign, update_campaign, delete_campaign, get_campaign_report

Anzeigengruppen

list_ad_groups, get_ad_group, create_ad_group, update_ad_group, delete_ad_group, get_adgroup_report

Keywords

get_keyword_report, list_targeting_keywords, get_targeting_keyword, add_targeting_keywords, update_targeting_keywords, delete_targeting_keywords, list_negative_keywords, get_negative_keyword, add_negative_keywords, update_negative_keywords, delete_negative_keywords

Suchbegriffe

get_search_term_report

Anzeigen

list_ads, get_ad, create_ad, update_ad, delete_ad, get_ad_report, find_ad_rejection_reasons

Creatives

list_creatives, get_creative, create_creative, list_product_pages, get_product_page_by_id

Budgetaufträge

list_budget_orders, get_budget_order, create_budget_order, update_budget_order

Apps & Geo

search_apps, get_app_details, get_app_eligibility, find_app_assets, search_geolocations

Geo-Performance

get_geo_performance

Impression Share

create_impression_share_report, get_impression_share_report_by_id, list_impression_share_reports

Optimierung

get_campaign_snapshot, get_budget_analysis


Ressourcen

Der Server stellt 3 Ressourcen bereit:

URI

Beschreibung

apple-ads://countries

Unterstützte Länder und Regionen für Apple Search Ads

apple-ads://device-sizes

Gerätegrößen für App-Vorschauen für kreative Assets

apple-ads://metrics-glossary

Definitionen, Formeln und Benchmarks für alle Berichtsmetriken (CPA, CPT, TTR usw.)


Prompts

6 integrierte Workflow-Prompts zur Unterstützung häufiger Aufgaben:

Prompt

Beschreibung

campaign_health_check

Umfassende Kampagnenanalyse – prüft Ausgaben, Conversions, CPA-Trends und kennzeichnet Probleme

keyword_optimization

Workflow zur Keyword- und Suchbegriff-Optimierung – findet verschwendete Ausgaben und neue Chancen

new_campaign_setup

Geführte Erstellung neuer Kampagnen – führt durch App-Auswahl, Struktur, Keywords und Budgets

budget_reallocation

Kampagnenübergreifende Budgetanalyse – identifiziert Über-/Unterausgaben und schlägt Budgetverschiebungen vor

creative_review

Kreativ-A/B-Review – vergleicht Anzeigenleistung, kennzeichnet Ablehnungen, empfiehlt Gewinner

geo_expansion

Analyse zur geografischen Expansion – bewertet aktuelle Märkte und identifiziert neue Einstiegsmärkte


„pkcs8 must be PKCS#8 formatted string" Ihr Schlüssel hat das falsche Format. Führen Sie den Befehl openssl pkcs8 aus Schritt 3 erneut aus.

„No organization selected" Verwenden Sie list_organizations und dann switch_organization, oder fügen Sie ASA_ORG_ID zu Ihrer Konfiguration hinzu.

„Token request failed (401)" Stellen Sie sicher, dass Ihre clientId, teamId und keyId mit dem API-Tab von Apple übereinstimmen. Prüfen Sie, dass Sie Ihren öffentlichen Schlüssel hochgeladen haben.

„Failed to read private key" Verwenden Sie einen absoluten Pfad (z. B. /Users/yourname/...), nicht ~/....

Server trennt die Verbindung sofort Eine erforderliche Anmeldeinformation fehlt. Sie benötigen alle vier: ASA_CLIENT_ID, ASA_TEAM_ID, ASA_KEY_ID und ASA_PRIVATE_KEY_PATH.

git clone https://github.com/javiergalloroca/AppleAdsMCP.git
cd AppleAdsMCP
npm install
npm run build
npm start

Für Hot Reload: npm run dev

Siehe CONTRIBUTING.md für Beitragsrichtlinien.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    MCP server that provides tools and resources for interacting with Google Ads API, enabling search, metadata retrieval, and account management through natural language.
    7
    4,099 PyPI
    1,119
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    MCP server for Meta Ads providing 30 tools for account discovery, campaign management, targeting research, and insights. Designed with LLM-friendly outputs and productivity features like cloning and bulk operations.
    31
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for managing App Store Optimization: add apps, track keywords, pull health reports, spy on competitors, find keyword opportunities, and write AI copy suggestions.
    7
    MIT