Apple Ads runs on your own machine — the client starts it, so there is no endpoint to ping. Last commit 23 Oct 2026.
Apple Ads MCP server: 9 read tools, 11 opt-in preview-first writes.
Today is the operative word: we check Apple Ads every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add apple-ads -e 'APPLE_ADS_CLIENT_ID=<APPLE_ADS_CLIENT_ID>' -e 'APPLE_ADS_TEAM_ID=<APPLE_ADS_TEAM_ID>' -e 'APPLE_ADS_KEY_ID=<APPLE_ADS_KEY_ID>' -e 'APPLE_ADS_AD_ACCOUNT_IDS=<APPLE_ADS_AD_ACCOUNT_IDS>' -- npx -y @getmcpads/apple-ads-mcp-server
{
"mcpServers": {
"apple-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/apple-ads-mcp-server"
],
"env": {
"APPLE_ADS_AD_ACCOUNT_IDS": "<APPLE_ADS_AD_ACCOUNT_IDS>",
"APPLE_ADS_CLIENT_ID": "<APPLE_ADS_CLIENT_ID>",
"APPLE_ADS_KEY_ID": "<APPLE_ADS_KEY_ID>",
"APPLE_ADS_TEAM_ID": "<APPLE_ADS_TEAM_ID>"
}
}
}
}
[mcp_servers.apple-ads]
command = "npx"
args = ["-y", "@getmcpads/apple-ads-mcp-server"]
env = { APPLE_ADS_CLIENT_ID = "<APPLE_ADS_CLIENT_ID>", APPLE_ADS_TEAM_ID = "<APPLE_ADS_TEAM_ID>", APPLE_ADS_KEY_ID = "<APPLE_ADS_KEY_ID>", APPLE_ADS_AD_ACCOUNT_IDS = "<APPLE_ADS_AD_ACCOUNT_IDS>" }
{
"mcpServers": {
"apple-ads": {
"command": "npx",
"args": [
"-y",
"@getmcpads/apple-ads-mcp-server"
],
"env": {
"APPLE_ADS_AD_ACCOUNT_IDS": "<APPLE_ADS_AD_ACCOUNT_IDS>",
"APPLE_ADS_CLIENT_ID": "<APPLE_ADS_CLIENT_ID>",
"APPLE_ADS_KEY_ID": "<APPLE_ADS_KEY_ID>",
"APPLE_ADS_TEAM_ID": "<APPLE_ADS_TEAM_ID>"
}
}
}
}
{
"servers": {
"apple-ads": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@getmcpads/apple-ads-mcp-server"
],
"env": {
"APPLE_ADS_AD_ACCOUNT_IDS": "<APPLE_ADS_AD_ACCOUNT_IDS>",
"APPLE_ADS_CLIENT_ID": "<APPLE_ADS_CLIENT_ID>",
"APPLE_ADS_KEY_ID": "<APPLE_ADS_KEY_ID>",
"APPLE_ADS_TEAM_ID": "<APPLE_ADS_TEAM_ID>"
}
}
}
}
Put your own values in place of
<APPLE_ADS_CLIENT_ID> (clientId shown in Apple Ads under Account Settings > API), <APPLE_ADS_TEAM_ID> (teamId shown in Apple Ads under Account Settings > API), <APPLE_ADS_KEY_ID> (keyId shown in Apple Ads under Account Settings > API), <APPLE_ADS_AD_ACCOUNT_IDS> (Comma-separated allowed ad account IDs. Required even for reads).
The author’s registry entry marks them as required.
Optional settings from the registry entry, left out of the block above:
APPLE_ADS_PRIVATE_KEY (EC P-256 private key in PEM text. Set this or APPLE_ADS_PRIVATE_KEY_PATH. Keep it secret), APPLE_ADS_PRIVATE_KEY_PATH (Absolute path to the private key PEM file, instead of APPLE_ADS_PRIVATE_KEY), APPLE_ADS_ENABLE_WRITES (true enables write tools. Defaults to false).
X Ads MCP server: 25 read tools, 21 opt-in preview-first writes.
Google Ads MCP server: 35 read tools, 13 opt-in preview-first writes.
Meta Ads MCP server: 42 read tools, 24 opt-in preview-first writes.
LinkedIn Ads MCP server: 18 read tools, 15 opt-in preview-first writes.
TikTok Ads MCP server: 35 read tools, 30 opt-in preview-first writes.
Reddit Ads MCP server: 31 read tools, 22 opt-in preview-first writes.
Amazon Ads MCP server: 31 read tools, 77 opt-in preview-first writes.
ChatGPT Ads MCP server: 30 read tools, 28 opt-in preview-first writes.
Answers built from our own checks of this server.