Connect your Google Ads account to Claude, Codex, or any MCP-compatible AI assistant. Manage campaigns, optimize keywords, and cut wasted spend — all through conversation.
AdsAgent is a hosted MCP server. You don't install or run anything — just connect your Google Ads account, copy a config snippet, and your AI can start managing your ads.
Go to adsagent.org/connect and sign in with Google. You'll get a personal access token.
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"adsagent": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://adsagent.org/api/mcp",
"--transport",
"streamable-http",
"--header",
"Authorization: Bearer YOUR_TOKEN"
]
}
}
}Replace YOUR_TOKEN with the token from step 1. Then restart Claude Desktop.
claude mcp add adsagent -- npx -y mcp-remote https://adsagent.org/api/mcp --transport streamable-http --header "Authorization: Bearer YOUR_TOKEN"codex mcp add adsagent --url https://adsagent.org/api/mcp -- --header "Authorization: Bearer YOUR_TOKEN"Ask your AI something like:
"How are my Google Ads campaigns performing? Show me the top spenders and any wasted budget."
| Tool | Description |
|---|---|
getAccountInfo |
Account name, currency, timezone, test status |
listCampaigns |
All campaigns with impressions, clicks, cost, conversions |
getCampaignPerformance |
Daily metrics over a date range with totals, CPA, and ROAS |
getKeywords |
Top keywords with quality score, CTR, CPC, conversions |
getSearchTermReport |
Actual search queries triggering your ads, ordered by cost |
runGaqlQuery |
Run any read-only GAQL query (up to 50 rows) |
| Tool | Description | Guardrail |
|---|---|---|
pauseKeyword |
Pause a keyword to stop it triggering ads | Won't pause the last active keyword |
enableKeyword |
Re-enable a paused keyword | |
updateBid |
Change CPC bid for a keyword | Max 25% change per adjustment |
addNegativeKeyword |
Block irrelevant search terms (phrase match) | |
updateCampaignBudget |
Change daily budget | Max 50% change, min $1/day |
pauseCampaign |
Pause all ads in a campaign | |
enableCampaign |
Re-enable a paused campaign |
All write operations have server-side guardrails that cannot be bypassed by the AI:
- Bid changes are capped at 25% per adjustment
- Budget changes are capped at 50% with a $1/day minimum
- Last keyword protection — can't pause the only active keyword in a campaign
- GAQL queries are read-only —
SELECTonly, no mutations - Write tools always return before/after values so you can verify what changed
The AI will call getAccountInfo and listCampaigns to summarize your account — top spenders, best/worst performers, total spend.
- Lists your campaigns by spend
- Pulls keywords and search terms for top spenders
- Identifies high-cost zero-conversion keywords and irrelevant search terms
- Recommends pausing wasteful keywords and adding negative keywords
- Finds keywords with good conversion rates but low impression share
- Recommends bid increases (within 25% limit) for high-performers
- Recommends bid decreases for underperformers
- OAuth 2.0 — we never see your Google password
- Personal tokens — each user gets their own token; tokens expire after 1 year
- No data storage — we don't store your ad data; queries go directly to the Google Ads API
- Open source — the server code is auditable
Do I need a Google Ads developer token? No. AdsAgent uses its own developer token. You just sign in with your Google account.
Does it work with manager accounts (MCCs)? Yes. During setup you'll be asked to pick which account to connect.
Can the AI spend my money without asking? Write operations like bid/budget changes require explicit confirmation in Claude. The server also enforces guardrails — no change can exceed 25-50% of the current value.
Is it free? Yes, during the beta.