Connects Google Ads to AI assistants so advertising data, campaigns, performance metrics and keywords can be analyzed in natural language.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-ads --env GOOGLE_ADS_CREDENTIALS_PATH='<GOOGLE_ADS_CREDENTIALS_PATH>' --env GOOGLE_ADS_DEVELOPER_TOKEN='<GOOGLE_ADS_DEVELOPER_TOKEN>' --env GOOGLE_ADS_LOGIN_CUSTOMER_ID='<GOOGLE_ADS_LOGIN_CUSTOMER_ID>' --env GOOGLE_ADS_CLIENT_ID='<GOOGLE_ADS_CLIENT_ID>' --env GOOGLE_ADS_CLIENT_SECRET='<GOOGLE_ADS_CLIENT_SECRET>' --env GOOGLE_ADS_AUTH_TYPE='<GOOGLE_ADS_AUTH_TYPE>' -- python path/to/your/main.py~/.codex/config.toml
[mcp_servers.google-ads]
command = "python"
args = ["path/to/your/main.py"]
env = { GOOGLE_ADS_CREDENTIALS_PATH = "<GOOGLE_ADS_CREDENTIALS_PATH>", GOOGLE_ADS_DEVELOPER_TOKEN = "<GOOGLE_ADS_DEVELOPER_TOKEN>", GOOGLE_ADS_LOGIN_CUSTOMER_ID = "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>", GOOGLE_ADS_CLIENT_ID = "<GOOGLE_ADS_CLIENT_ID>", GOOGLE_ADS_CLIENT_SECRET = "<GOOGLE_ADS_CLIENT_SECRET>", GOOGLE_ADS_AUTH_TYPE = "<GOOGLE_ADS_AUTH_TYPE>" }
# codex mcp add google-ads --env GOOGLE_ADS_CREDENTIALS_PATH='<GOOGLE_ADS_CREDENTIALS_PATH>' --env GOOGLE_ADS_DEVELOPER_TOKEN='<GOOGLE_ADS_DEVELOPER_TOKEN>' --env GOOGLE_ADS_LOGIN_CUSTOMER_ID='<GOOGLE_ADS_LOGIN_CUSTOMER_ID>' --env GOOGLE_ADS_CLIENT_ID='<GOOGLE_ADS_CLIENT_ID>' --env GOOGLE_ADS_CLIENT_SECRET='<GOOGLE_ADS_CLIENT_SECRET>' --env GOOGLE_ADS_AUTH_TYPE='<GOOGLE_ADS_AUTH_TYPE>' -- python path/to/your/main.py~/.cursor/mcp.json
{
"mcpServers": {
"google-ads": {
"command": "python",
"args": [
"path/to/your/main.py"
],
"env": {
"GOOGLE_ADS_CREDENTIALS_PATH": "<GOOGLE_ADS_CREDENTIALS_PATH>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_AUTH_TYPE": "<GOOGLE_ADS_AUTH_TYPE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-ads": {
"type": "stdio",
"command": "python",
"args": [
"path/to/your/main.py"
],
"env": {
"GOOGLE_ADS_CREDENTIALS_PATH": "<GOOGLE_ADS_CREDENTIALS_PATH>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_AUTH_TYPE": "<GOOGLE_ADS_AUTH_TYPE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-ads": {
"command": "python",
"args": [
"path/to/your/main.py"
],
"env": {
"GOOGLE_ADS_CREDENTIALS_PATH": "<GOOGLE_ADS_CREDENTIALS_PATH>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_AUTH_TYPE": "<GOOGLE_ADS_AUTH_TYPE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-ads": {
"command": "python",
"args": [
"path/to/your/main.py"
],
"env": {
"GOOGLE_ADS_CREDENTIALS_PATH": "<GOOGLE_ADS_CREDENTIALS_PATH>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_AUTH_TYPE": "<GOOGLE_ADS_AUTH_TYPE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-ads": {
"command": "python",
"args": [
"path/to/your/main.py"
],
"env": {
"GOOGLE_ADS_CREDENTIALS_PATH": "<GOOGLE_ADS_CREDENTIALS_PATH>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"GOOGLE_ADS_CLIENT_ID": "<GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_AUTH_TYPE": "<GOOGLE_ADS_AUTH_TYPE>"
}
}
}
}Environment variables
GOOGLE_ADS_CREDENTIALS_PATHGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_LOGIN_CUSTOMER_IDGOOGLE_ADS_CLIENT_IDGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_AUTH_TYPE
Replace the placeholders with your own credentials and keep them out of version control.