Manage Apple Search Ads campaigns, keywords, budgets, and reports via API v5.
$ 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.pemPlease install the `apple-ads` MCP server into my current AI client (that's you).
Required prerequisites (do these first if not already done):
- **Invite an API user** — Account admin invites an API user in searchads.apple.com Settings -> User Management (role: API Account Manager or Read Only) (https://searchads.apple.com)
- **Copy credentials** — Invited user copies clientId, teamId, keyId from Settings -> API tab
- **Generate key pair** — Generate ES256 PKCS#8 private key and public key via openssl Run: `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`
- **Upload public key to Apple** — Paste ~/apple-ads-key-public.pem into the Public Key field in searchads.apple.com Settings -> API
Canonical MCP server config (stdio transport):
- command: `npx`
- args: ["-y","apple-ads-mcp"]
- required environment variables:
- `ASA_CLIENT_ID`: Client ID (starts with SEARCHADS.) (example: `SEARCHADS.<uuid>`)
- `ASA_TEAM_ID`: Team ID (starts with SEARCHADS.) (example: `SEARCHADS.<uuid>`)
- `ASA_KEY_ID`: Key ID (UUID) (example: `<uuid>`)
- optional environment variables:
- `ASA_PRIVATE_KEY_PATH`: Absolute path to PKCS#8 private key (example: `/Users/yourname/apple-ads-key-pkcs8.pem`)
- `ASA_PRIVATE_KEY`: Inline PEM content (alternative to ASA_PRIVATE_KEY_PATH) (example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----`)
- `ASA_ORG_ID`: Default organization ID
Note: Must provide one of ASA_PRIVATE_KEY_PATH or ASA_PRIVATE_KEY. Apple Search Ads API v5. 54 tools, 3 resources, 6 prompts.
Add this MCP server to my current client's config in the correct format for you. If you need secrets or credentials I haven't provided, ASK me — do not invent values or leave raw placeholders. After adding it, tell me how to verify the server is connected.Twitter X automation MCP - post schedule analytics engagement social media
AI-powered Attio CRM access. Manage contacts, companies, deals, tasks, notes and workflows.
Connect AI to your Attio CRM. Manage contacts, companies, deals, and sales pipelines. Create tasks…