Apple Ads MCP tools: the full directory

Explore every Apple Ads MCP tool with example calls for campaigns, keywords, reports, budgets, bids, write permissions and account support.

25 tools. IDs in examples are illustrative except the documented owner fixture campaign. Replace example parent IDs with IDs from your account. Budgets and bids use your account's currency.

apple_ads_whoami

Read the Apple API user, organization and accessible ad accounts, selected default and safe token status. Never returns credentials.

apple_ads_whoami({})

apple_ads_get_campaigns

List app campaigns, automatically paginated up to 1000. Filter by App Store adam_id. Returns truncated and next_offset when capped.

apple_ads_get_campaigns({})

apple_ads_get_campaign

Read an app campaign by ID from the selected ad account.

apple_ads_get_campaign({"campaign_id":"2144279635"})

apple_ads_get_adgroups

Read a campaign's ad groups, bids, CPA caps, status and targeting summary.

apple_ads_get_adgroups({"campaign_id":"2144279635"})

apple_ads_get_keywords

Read targeting keywords, match type, bids and status in a campaign and ad group.

apple_ads_get_keywords({"campaign_id":"2144279635","adgroup_id":"123456"})

apple_ads_get_negative_keywords

Read campaign or ad-group negative keywords.

apple_ads_get_negative_keywords({"campaign_id":"2144279635"})

apple_ads_report_campaigns

Report campaigns per day/week/month. Defaults to previous seven complete days, DAILY and ORTZ. Exact lowercase metrics; preserves currency. At most 1000 output rows.

apple_ads_report_campaigns({})

apple_ads_report_adgroups

Report adgroups within a campaign. Inclusive dates default to previous seven complete days. Supports ORTZ or UTC. Use next.offset and next.metric_offset to continue truncated output.

apple_ads_report_adgroups({"campaign_id":"2144279635"})

apple_ads_report_keywords

Report keywords within a campaign. Inclusive dates default to previous seven complete days. Supports ORTZ or UTC. Use next.offset and next.metric_offset to continue truncated output.

apple_ads_report_keywords({"campaign_id":"2144279635"})

apple_ads_report_searchterms

Report searchterms within a campaign. Inclusive dates default to previous seven complete days. Apple requires ORTZ; UTC is rejected. Use next.offset and next.metric_offset to continue truncated output.

apple_ads_report_searchterms({"campaign_id":"2144279635"})

apple_ads_compare_periods

Compare two inclusive date ranges for the same campaign set. Uses Apple period totals for rates. Percentage deltas are null when the baseline is zero. Marks incomplete data.

apple_ads_compare_periods({"period_a":{"start_date":"2026-10-17","end_date":"2026-10-23"},"period_b":{"start_date":"2026-10-24","end_date":"2026-10-30"},"campaign_ids":["2144279635"]})

apple_ads_get_budget_pacing

Compare daily caps with trailing seven-day daily average and today's spend. Flag utilization at or above 90%. Lifetime budgets are unsupported by Apple; shared caps are explicitly unevaluated.

apple_ads_get_budget_pacing({})

apple_ads_pause_items

Pause campaigns, ad groups or keywords. Requires spend access. Each item is read back; partial failures are explicit.

apple_ads_pause_items({"item_type":"campaign","ids":["2144279635"]})

apple_ads_enable_items

Enable campaigns, ad groups or keywords. Can start spend. Requires explicit spend access and reads every item back.

apple_ads_enable_items({"item_type":"campaign","ids":["2144279635"]})

apple_ads_update_budget

Update a campaign daily budget in account currency. Apple no longer supports lifetime budgets. Read back after the update.

apple_ads_update_budget({"campaign_id":"2144279635","amount":"25.00","budget_type":"daily"})

apple_ads_update_bid

Update an ad-group default CPT bid, keyword bid, or CPA cap (cpa_goal), in account currency. Does not switch bidding strategy. Read back after writing.

apple_ads_update_bid({"campaign_id":"2144279635","adgroup_id":"123456","amount":"1.25","bid_type":"default_bid"})

apple_ads_add_keywords

Add targeting keywords in an ad group. Keywords start PAUSED. Requires spend access; readbacks and per-item outcomes are returned.

apple_ads_add_keywords({"campaign_id":"2144279635","adgroup_id":"123456","keywords":[{"text":"retrograde","match_type":"EXACT","bid":"1.25"}]})

apple_ads_add_negative_keywords

Add campaign or ad-group negative keywords. Requires spend access. Negative keywords have no bids.

apple_ads_add_negative_keywords({"campaign_id":"2144279635","keywords":[{"text":"free","match_type":"EXACT"}]})

apple_ads_create_campaign

Create an App Store search-results campaign with manual CPT bidding, always PAUSED. Daily budget is in account currency. Requires spend access.

apple_ads_create_campaign({"name":"Retrograde test","adam_id":"1436050691","daily_budget":"25.00","countries":["US"]})

apple_ads_create_adgroup

Create an ad group in a manual CPT campaign, always PAUSED. Set default_bid, optional cpa_goal and search_match. Requires spend access.

apple_ads_create_adgroup({"campaign_id":"2144279635","name":"Exact terms","default_bid":"1.25","search_match":false})

apple_ads_get_access_status

Read connection, write tier, entitlement, setup URL and feedback replies. Available without a subscription or Apple setup.

apple_ads_get_access_status({})

apple_ads_set_write_access

Only call when the user explicitly asks to enable changes. Spend requires the exact phrase ENABLE SPEND CHANGES. Tier read immediately revokes writes and is always available.

apple_ads_set_write_access({"tier":"spend","confirmation":"ENABLE SPEND CHANGES"})

apple_ads_send_feedback

Report a bug, question or feedback, or follow up on your existing ticket. Context includes tool names and status codes, never advertising payloads or credentials.

apple_ads_send_feedback({"kind":"question","message":"How do I rotate my Apple key?"})

apple_ads_get_feedback

Read your feedback tickets and support replies.

apple_ads_get_feedback({})

apple_ads_get_subscribe_link

Read subscription and account-management links. When billing is enabled, returns current prices from Stripe. Never requires an Apple connection.

apple_ads_get_subscribe_link({})

Keep going

Connect your client · Tool directory · Prompts that work

All guides