102 tools covering 100% of the Apple Ads Platform API (v1) — App Store Search Ads and Apple Maps Ads campaigns, ad groups, keywords, creatives, budgets, and performance reporting — built on Apple's own official SDK and usable from Claude, Cursor, Windsurf, or any MCP-compatible AI agent.
102 tools = 99 Apple Ads Platform API operations, one tool per operation in Apple's official @apple/apple-ads-platform SDK, plus 3 meta tools.
apple_ads_request is a raw authenticated tool that can call any /v1 path directly, so an endpoint Apple adds before the SDK catches up is still usable.
Handles the ES256 client-secret JWT flow, caches the access token, and refreshes it on a 401. You supply clientId, teamId, keyId, and a private key; the server does the rest.
Respects Retry-After on 429s and retries 5xx errors with capped backoff, instead of failing a long-running agent task on a transient error.
APPLE_ADS_READ_ONLY hides every tool that can write. APPLE_ADS_ENABLED_GROUPS / APPLE_ADS_DISABLED_GROUPS scope an agent to just the tool groups it needs.
The server starts and lists every tool even with no credentials configured — calls just return an actionable error until you set them.
npx -y @nerdsnipe-inc/apple-ads-mcp-servernpx -y @nerdsnipe-inc/apple-ads-mcp-server --list-toolsRequires Node.js 20+ and Apple Ads API credentials (clientId, teamId, keyId, and an EC private key) generated from Account Settings > API in Apple Ads.
Set APPLE_ADS_READ_ONLY=true to hide every tool that can create, update, or delete anything, leaving only queries and reports visible to the agent.
APPLE_ADS_ENABLED_GROUPS and APPLE_ADS_DISABLED_GROUPS scope an agent to just the groups it needs (for example accounts,campaigns,reports_apps) — useful since listing every tool costs roughly 55k tokens.
No. It targets the newer Apple Ads Platform API (api.ads.apple.com/v1), not the older Campaign Management API v5.
The server starts and lists every tool even without credentials — calls just return an actionable error until you set APPLE_ADS_CLIENT_ID, APPLE_ADS_TEAM_ID, APPLE_ADS_KEY_ID, and a private key. Run it with --list-tools to verify the install itself.
Yes. Campaigns, ad groups, ads, and creatives all branch on promotedObjectType (APPSTORE_APP or BUSINESS_BRAND), and a dedicated set of tools covers Apple Maps-specific setup: business brands, locations, location groups, and image assets.
Use apple_ads_request, a raw authenticated escape-hatch tool that can call any /v1 path with a method, query, and body — so a new endpoint is usable before the SDK or server catches up.
Listing every tool costs roughly 55k tokens. Set APPLE_ADS_ENABLED_GROUPS to just the groups you need, for example accounts,campaigns,ad_groups,keywords,reports_apps.