# Apple Ads MCP

Local-first MCP server for Apple Ads Platform API v1. Inspect App Store ad groups, analyze search queries, and preview campaign changes safely.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Author: zelentsov-dev
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/zelentsov-dev/apple-ads-mcp
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/apple-ads-mcp

## What it does

This server connects AI assistants to the Apple Ads Platform API v1 across four placements: Search Results, Search Tab, Today Tab, and Product Pages. Security starts with local confinement. All private keys and auth tokens stay on your filesystem, while every query targets an explicit account profile. Optimization runs strictly under manual command. Because there is no background scheduler, the agent cannot alter ad spend on its own.

The server operates in read-only mode by default. Making actual updates requires passing six distinct safety gates. You must start the process with write flags enabled, run a dedicated preview call, and receive a short-lived single-use receipt valid for ten minutes. Applying updates through `operations_apply` fails if the live campaign state shifted after the preview step. Inventory queries return up to 200 items per call with pagination. Without a valid private key path in your local profile, `auth_check` refuses to proceed.

## Requirements
- Needs: Docker
- Environment variables: `APPLE_ADS_MCP_CONFIG` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env APPLE_ADS_MCP_CONFIG=<APPLE_ADS_MCP_CONFIG> --transport stdio apple-ads-mcp -- docker run -i --rm -e APPLE_ADS_MCP_CONFIG ghcr.io/zelentsov-dev/apple-ads-mcp:v0.3.7
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add apple-ads-mcp --env APPLE_ADS_MCP_CONFIG=<APPLE_ADS_MCP_CONFIG> -- docker run -i --rm -e APPLE_ADS_MCP_CONFIG ghcr.io/zelentsov-dev/apple-ads-mcp:v0.3.7
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "apple-ads-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "APPLE_ADS_MCP_CONFIG",
                "ghcr.io/zelentsov-dev/apple-ads-mcp:v0.3.7"
            ],
            "env": {
                "APPLE_ADS_MCP_CONFIG": "<APPLE_ADS_MCP_CONFIG>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "apple-ads-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "APPLE_ADS_MCP_CONFIG",
                "ghcr.io/zelentsov-dev/apple-ads-mcp:v0.3.7"
            ],
            "env": {
                "APPLE_ADS_MCP_CONFIG": "<APPLE_ADS_MCP_CONFIG>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e APPLE_ADS_MCP_CONFIG=<APPLE_ADS_MCP_CONFIG> apple-ads-mcp docker run -i --rm -e APPLE_ADS_MCP_CONFIG ghcr.io/zelentsov-dev/apple-ads-mcp:v0.3.7
```
Replace <…> with your own values

## When to use it
- audit App Store advertising structure without risk of accidental edits
- research keyword opportunities and search popularity metrics
- generate typed reports across campaigns, ad groups, and search terms
- execute bid and budget updates using single-use preview receipts

## Example prompts
- Run server_info and account_health for my profile without enabling write access.
- List available placements for my app and explain any eligibility gaps.
- Audit the current campaign structure and extract search term performance.

## Similar
- [labelhead-artist-momentum](https://affpapa.org/en/nevibecode/mcp/labelhead-artist-momentum.md) — MCP server · ★ 107701
- [openshorts](https://affpapa.org/en/nevibecode/mcp/openshorts.md) — MCP server · ★ 7132
- [OpenScreen](https://affpapa.org/en/nevibecode/mcp/openscreen.md) — MCP server · ★ 4963
- [Usertour MCP Server](https://affpapa.org/en/nevibecode/mcp/usertour-mcp-server.md) — MCP server · ★ 2329
- [Appllama](https://affpapa.org/en/nevibecode/mcp/appllama.md) — MCP server · ★ 3228
- [obsei](https://affpapa.org/en/nevibecode/mcp/obsei.md) — MCP server · ★ 1441

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
