Apple Ads MCP logo

Apple Ads MCP

Local MCP access to Apple Ads research, reporting, diagnostics, and receipt-gated campaign operations.

Install Apple Ads MCP

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "apple-ads-mcp": {
      "command": "npx",
      "args": [
        "--yes",
        "markdownlint-cli2@0.23.2"
      ],
      "env": {
        "APPLE_ADS_ALLOW_DELETES": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

We couldn’t confirm it starts correctly

We ran the install command but it didn't respond within our test window — this can mean a slow first-time install rather than a real problem.

npx --yes markdownlint-cli2@0.23.2

No response to initialize.

This is an experimental automated check and can have false negatives — missing environment variables, a slow cold install, etc. It doesn’t necessarily mean something’s wrong. Last checked 7d ago.

Overview

Apple Ads MCP MCP server connects MCP clients to the Apple Ads Platform API v1 for typed account research, reports, diagnostics, and campaign operations. It runs locally, keeps credentials on the user’s machine, and requires explicit profiles and ad accounts for account-scoped calls. The server is read-only by default; writes require previews, short-lived single-use receipts, and multiple configuration gates. Reach for it when an agent needs bounded Apple Ads analysis or carefully verified campaign changes without background automation.

Use cases

  • Audit Apple Ads campaign and account health
  • Research keywords, search popularity, and impression share
  • Generate typed campaign and search-term reports
  • Preview and verify bounded campaign changes
  • Inspect app and placement eligibility

Key features

  • Typed Apple Ads account and inventory queries
  • Keyword and campaign research tools
  • Campaign, ad group, ad, and keyword reports
  • Preview-gated mutations with expiring receipts
  • Local optimization plans and verification
  • App and placement eligibility diagnostics

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

6/6 checks healthy over the last 45d

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 5d ago via OSV.dev · markdownlint-cli2@0.23.2 (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars6Stargazers on the source repository.
npm downloads6MPackage downloads in the last 30 days.
Last commit4d agoMost recent push to the default branch.
Install checkInconclusiveDidn't respond in our test window — often a slow first install.
Directory activity1 viewsConfig copies, upvotes, and views on AllMCPs.

How Apple Ads MCP works

What Apple Ads MCP does

The Apple Ads MCP MCP server exposes typed MCP tools for researching and operating Apple Ads accounts through Apple Ads Platform API v1. Its read capabilities cover advertiser accounts, apps, storefronts, eligibility, campaign inventory, diagnostics, keyword research, search popularity, impression share, and typed reports for campaigns, ad groups, ads, keywords, and search terms.

It also supports preview-based operations for campaigns, ad groups, keywords, negative keywords, ads, creatives, recommendations, and shared budgets. Available operations include creation, updates, budgets, countries, schedules, targeting, bids, CPA caps, pausing, resuming, and lifecycle deletion where the relevant eligibility and safety conditions are satisfied. Optimization features use named local policies, 28-day baselines, plans, composite previews, application, verification, and bounded history.

The server supports Apple’s Search Results, Search Tab, Today Tab, and Product Pages placements. Placement availability depends on the account, app, storefront, creative, and Apple’s eligibility response. Search Results uses campaign, ad group, keyword, and product-page resources rather than explicit Ad resources.

How it works

The Apple Ads MCP MCP server is local-first and communicates with MCP clients over its stdio serving mode. Credentials remain local, and account-scoped calls must identify both a named profile and an ad account. Responses provide concise text and MCP structured content; raw Apple response envelopes and billing contact personal data are not exposed.

Read operations can establish a baseline or produce an operating plan, but optimization is not autonomous. There is no scheduler, and the server does not alter spend in the background. Every list is limited to 200 items and uses a next value for pagination.

A mutation starts with a specialized preview. The preview validates relevant account, app, storefront, placement, currency, and payload details, then returns a receipt. Applying it requires the same unexpired receipt, and the affected inventory must still match the previewed state. Receipts expire after ten minutes and can be used once. Timeout results are not retried; verification and direct readback are required for uncertain outcomes.

Setup and configuration

Install a released binary with Homebrew on macOS or Linux, then check the installation with apple-ads-mcp version. Initialize a local profile with apple-ads-mcp config init; the stored private-key reference must be an absolute path. The documentation specifically warns against putting the private key in chats, issues, logs, or repositories.

Run apple-ads-mcp auth doctor --profile <name> to check authentication and apple-ads-mcp accounts discover --profile <name> to find available accounts. Register the executable with an absolute path when configuring Codex or Claude Code, using serve --stdio. Restart an already running client and begin a new conversation after registration.

The default mode is read-only. Writes require the server’s --allow-writes flag and a profile with allowWrites: true. Deletes add --allow-deletes, a profile-level delete permission, the session-only APPLE_ADS_ALLOW_DELETES=true setting, an exact expected object name or keyword text, and a specialized delete receipt.

Tools and capabilities

The Apple Ads MCP MCP server includes tools for:

  • Authentication, account discovery, account health, and advertiser resources.
  • App search, app details, eligibility, locales, supported languages, and storefront geography.
  • Campaign, ad-group, keyword, negative-keyword, ad, creative, shared-budget, and inventory queries.
  • Rejection reasons, status reasons, change history, audits, and operations inspection.
  • Keyword, phrase, category, target-CPA, search-popularity, and impression-share research.
  • Typed reports and preview, apply, verify, or direct-readback workflows.

There is no raw-request tool, account or delegation mutation, Apple Maps surface, automatic scheduler, or support for the legacy Campaign Management API v5.

Limitations and notes

Apple eligibility and API validation can prevent an otherwise valid-looking placement or resource from being used. The server reports unavailable placements as not_eligible rather than bypassing Apple’s checks. Apple may partially accept a bulk request, and the server does not promise rollback.

Independent previews can drift after another operation changes the same inventory. Related keyword creations should be grouped into one bulk preview when they need to apply together. Deletes are additionally constrained: campaigns and parent resources must be paused, cascade scope is bounded and hashed, creatives cannot have referencing ads, and shared budgets cannot have assignments. The project is independent open-source software and is not affiliated with Apple Inc.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Apple Ads MCP

Apple Ads MCP is an MCP server that connects MCP clients to Apple Ads Platform API v1. Its main tools research accounts, apps, campaigns, keywords, eligibility, diagnostics, and typed reports, while preview-based tools can safely manage supported campaigns, ad groups, keywords, ads, creatives, recommendations, and shared budgets.

Install it with Homebrew on macOS or Linux using the released `apple-ads-mcp` package. Then run `apple-ads-mcp version`, initialize a profile with `apple-ads-mcp config init`, and use the absolute executable path when registering the stdio server with an MCP client.

Initialize a profile with `apple-ads-mcp config init`, run `auth doctor` for that profile, and discover accounts with `accounts discover`. The server is read-only by default, and account-scoped requests must specify an explicit profile and ad account.

Yes, supported changes require a specialized preview and a matching, unexpired single-use receipt before application. Writes also require the server and profile write gates, while the affected inventory must still match the state captured during preview.

Yes, the README provides stdio registration commands for both Codex and Claude Code. Use an absolute path to the `apple-ads-mcp` executable, start it with `serve --stdio`, then restart the client or session before making requests.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewApple Ads MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/apple-ads-mcp?style=directory)](https://allmcps.com/mcp/apple-ads-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/apple-ads-mcp"><img src="https://allmcps.com/api/badge/apple-ads-mcp?style=directory" alt="Apple Ads MCP on AllMCPs" /></a>