mcpField
A
Apple Ads Mcp

Apple Ads Mcp

ローカル
github.com/Happygalloその他732 週間前に更新

Apple Ads Mcp について

Apple Ads Mcpは、AIクライアントを通じてApple Search Adsのキャンペーンを管理するマーケターやチーム向けのMCPサーバーです。ツール、リソース、ワークフロープロンプトを通じて、キャンペーン操作、レポート、キーワードとクリエイティブの管理、組織の切り替えを提供します。

主な機能

  1. 01キャンペーンと広告グループの管理
  2. 02ターゲティングキーワードと入札の管理
  3. 03実績と検索語句レポートの確認
  4. 04クリエイティブと予算注文の管理
  5. 05複数組織の切り替え

活用シーン

  1. 01期間を指定してキャンペーン実績を確認
  2. 02キャンペーンの予算と状態を調整
  3. 03検索語句を見つけて関連キーワードを追加
  4. 04組織間でキャンペーン実績を比較

MCP 対応

このサーバーはSTDIO経由でMCP対応クライアントをApple Search Ads API v5に接続します。54個のツール、3つのリソース、6つのワークフロープロンプトを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"apple-ads": {
"command": "npx",
"args": [
"-y",
"apple-ads-mcp"
],
"env": {
"ASA_CLIENT_ID": "<ASA_CLIENT_ID>",
"ASA_TEAM_ID": "<ASA_TEAM_ID>",
"ASA_KEY_ID": "<ASA_KEY_ID>",
"ASA_PRIVATE_KEY_PATH": "<ASA_PRIVATE_KEY_PATH>",
"ASA_ORG_ID": "<ASA_ORG_ID>"
}
}
}
}
起動コマンドnpx -y apple-ads-mcp
設定が必要な環境変数
ASA_CLIENT_IDApple Search Ads client ID (starts with SEARCHADS.)
ASA_TEAM_IDApple Search Ads team ID (starts with SEARCHADS.)
ASA_KEY_IDシークレットApple Search Ads key ID (UUID)
ASA_PRIVATE_KEY_PATHシークレットAbsolute path to your PKCS#8 private key file
ASA_ORG_IDOrganization ID (optional, use list_organizations to switch at runtime)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmapple-ads-mcp1.0.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Apple Ads MCP

npm バージョン MCP 対応 TypeScript ライセンス

Apple Search Ads API v5 用のMCP サーバーです。
MCP 対応の任意の AI クライアントに接続し、自然言語でキャンペーン、キーワード、予算、レポートを管理できます。

クイックスタート • ツール • リソース • プロンプト • クライアント


AI に次のような質問や依頼ができます:

「先週のキャンペーンの成果はどうでしたか?」 「ブランドキャンペーンを一時停止して、ディスカバリーの予算を 500 ドルに増やしてください。」 「広告の表示につながっている検索語句は何ですか?最適なものを完全一致キーワードとして追加してください。」

54 個のツール、3 個のリソース、6 個のプロンプトに対応しています。キャンペーン、広告グループ、キーワード、クリエイティブ、予算、検索語句、地域ターゲティング、インプレッションシェア、パフォーマンスレポートを扱えます。

主な機能
機能説明
キャンペーン管理キャンペーンと広告グループの作成、更新、一時停止、削除
キーワードの最適化ターゲティングキーワードと除外キーワードの追加・削除、入札額の更新
パフォーマンスレポート日付プリセットを使ったキャンペーン、広告グループ、キーワード、広告、地域のレポート
検索語句の分析広告の表示につながった実際の検索クエリを確認
クリエイティブ管理広告、クリエイティブ、製品ページの管理
予算管理予算オーダーの作成と管理、利用状況の分析
インプレッションシェアインプレッションシェアレポートの生成と取得
複数組織のサポート実行時に組織を切り替え

クイックスタート

  1. Apple の認証情報を取得する(約 10 分、初回のみ)
  2. キーペアを生成する(2 つのコマンド)
  3. MCP クライアントに追加する
  4. チャットを始める

セットアップ

ステップ 1 — API ユーザーを招待する

searchads.apple.com でアカウント管理者が実施します。

  1. Settings → User Management → Invite User に移動します
  2. API を使用する人のメールアドレスを入力します
  3. ロールを設定します:
    • API Account Manager — 読み書きの完全なアクセス権
    • API Account Read Only — 閲覧のみのアクセス権
  4. 招待を送信します

API ユーザーには、管理者とは別の Apple ID が必要です。管理者の場合は、2 つ目の Apple ID を使用してください。

ステップ 2 — 承認して認証情報をコピーする

招待されたユーザーが実施します。

  1. メールの招待を承認し、searchads.apple.com にサインインします
  2. Settings → API タブに移動します
  3. 次の 3 つの値をコピーして保存します:
    • clientId — SEARCHADS. で始まります
    • teamId — SEARCHADS. で始まります
    • keyId — UUID です
ステップ 3 — キーペアを生成する

ターミナルを開いて実行します:

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

次に、公開鍵を生成します:

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

次のファイルが作成されます:

  • ~/apple-ads-key-pkcs8.pem — 秘密鍵(安全に保管してください。設定で使用します)
  • ~/apple-ads-key-public.pem — 公開鍵(次に Apple にアップロードします)
ステップ 4 — 公開鍵を Apple にアップロードする

公開鍵を表示します:

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

BEGIN / END の行を含む出力全体をコピーし、次の操作を行います:

  1. searchads.apple.com の Settings → API タブに移動します
  2. Public Key フィールドに貼り付けます
  3. Save をクリックします
ステップ 5 — MCP クライアントに追加する

以下からクライアントを選び、ステップ 2 の clientId、teamId、keyId と、ステップ 3 の秘密鍵のフルパスを入力します。

複数の組織がある場合 ASA_ORG_ID を省略し、実行時に list_organizations / switch_organization を使用します。または、デフォルトを選択するために env に設定します。


クライアント

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json を編集します。

{
  "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 を再起動します。

Claude Code
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
Cursor

.cursor/mcp.json に追加します。

{
  "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"
      }
    }
  }
}
VS Code

settings.json に追加します。

{
  "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"
        }
      }
    }
  }
}
Windsurf

~/.codeium/windsurf/mcp_config.json に追加します。

{
  "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"
      }
    }
  }
}
その他の MCP クライアント

このサーバーは STDIO トランスポートを使用します。MCP 互換のクライアントであれば、次を実行して接続できます。

npx -y apple-ads-mcp

以下の環境変数を設定します。

変数説明
ASA_CLIENT_IDクライアント ID(SEARCHADS. で始まります)
ASA_TEAM_IDチーム ID(SEARCHADS. で始まります)
ASA_KEY_IDキー ID(UUID)
ASA_PRIVATE_KEY_PATHPKCS#8 秘密鍵の絶対パス
ASA_ORG_ID(任意) デフォルトで使用する組織 ID
インラインキー(ファイルなし)

ASA_PRIVATE_KEY_PATH を ASA_PRIVATE_KEY に置き換え、改行を \n で表した PEM の内容を貼り付けます。

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

ツール

カテゴリ数できること
組織3組織の一覧表示と切り替え。ユーザーの詳細を取得します。
キャンペーン6キャンペーンの一覧表示、作成、更新、削除。パフォーマンスレポートを取得します。
広告グループ6キャンペーン内の広告グループを管理します。広告グループのレポートを取得します。
キーワード11ターゲティングキーワードと除外キーワードを追加/削除します。入札額を更新します。キーワードレポートを取得します。
検索語句1広告をタップする前にユーザーが実際に検索した語句を確認します。
広告7広告の一覧表示、作成、更新、削除。広告レポートと却下理由を取得します。
クリエイティブ5クリエイティブと製品ページを管理します。
予算オーダー4予算オーダーの作成、更新、一覧表示、詳細の取得を行います。
アプリと地域5対象となるアプリの検索、適格性の確認、アセットの検索、地域の検索を行います。
地域別パフォーマンス1国/地域別のパフォーマンス内訳を確認します。
インプレッションシェア3カスタムのインプレッションシェアレポートを作成、一覧表示、取得します。
最適化2キャンペーンのスナップショットと予算の利用状況を分析します。
54 個すべてのツール
カテゴリツール
組織list_organizations、switch_organization、get_me_details
キャンペーンlist_campaigns、get_campaign_details、create_campaign、update_campaign、delete_campaign、get_campaign_report
広告グループlist_ad_groups、get_ad_group、create_ad_group、update_ad_group、delete_ad_group、get_adgroup_report
キーワード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
検索語句get_search_term_report
広告list_ads、get_ad、create_ad、update_ad、delete_ad、get_ad_report、find_ad_rejection_reasons
クリエイティブlist_creatives、get_creative、create_creative、list_product_pages、get_product_page_by_id
予算注文list_budget_orders、get_budget_order、create_budget_order、update_budget_order
アプリと地域search_apps、get_app_details、get_app_eligibility、find_app_assets、search_geolocations
地域別パフォーマンスget_geo_performance
インプレッションシェアcreate_impression_share_report、get_impression_share_report_by_id、list_impression_share_reports
最適化get_campaign_snapshot、get_budget_analysis

リソース

サーバーは 3 つのリソースを公開しています。

URI説明
apple-ads://countriesApple Search Ads がサポートする国と地域
apple-ads://device-sizesクリエイティブアセット用のアプリプレビューのデバイスサイズ
apple-ads://metrics-glossaryすべてのレポート指標(CPA、CPT、TTR など)の定義、計算式、ベンチマーク

プロンプト

一般的なタスクをガイドする、組み込みのワークフロープロンプトが 6 つあります。

プロンプト説明
campaign_health_check包括的なキャンペーン分析。費用、コンバージョン、CPA の推移を確認し、問題を特定します
keyword_optimizationキーワードと検索語句の最適化ワークフロー。無駄な費用と新たな機会を見つけます
new_campaign_setup新しいキャンペーンの作成をガイドします。アプリの選択、構成、キーワード、予算の設定手順を案内します
budget_reallocationキャンペーン横断の予算分析。予算の過剰消化や未消化を特定し、予算の再配分を提案します
creative_reviewクリエイティブの A/B レビュー。広告のパフォーマンスを比較し、却下された広告を特定して、最適な広告を提案します
geo_expansion地域拡大の分析。現在の市場を順位付けし、新たに参入する市場を特定します

トラブルシューティング

「pkcs8 must be PKCS#8 formatted string」 キーの形式が正しくありません。手順 3 の openssl pkcs8 コマンドをもう一度実行してください。

「No organization selected」 list_organizations を実行してから switch_organization を実行するか、設定に ASA_ORG_ID を追加してください。

「Token request failed (401)」 clientId、teamId、keyId が Apple の API タブの値と一致していることを確認してください。公開鍵をアップロードしたことも確認してください。

「Failed to read private key」 ~/... ではなく、絶対パス(例:/Users/yourname/...)を指定してください。

サーバーがすぐに切断される 必須の認証情報が不足しています。ASA_CLIENT_ID、ASA_TEAM_ID、ASA_KEY_ID、ASA_PRIVATE_KEY_PATH の 4 つすべてが必要です。

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

ホットリロードを行うには、npm run dev を実行してください。

コントリビューションのガイドラインについては、CONTRIBUTING.md を参照してください。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。