Google Ads MCP Unofficial
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| google_ads_data_inventoryA | List supported Google Ads data domains, scopes, privacy boundary, and recommended first calls. Does not call Google Ads APIs or expose user data. |
| google_ads_capabilitiesA | Explain supported Google Ads data, mutation gating, privacy modes, and recommended agent workflow. Does not read Google Ads or expose secrets. |
| google_ads_agent_manifestA | Machine-readable install, runtime, and client guidance for AI agents operating the Google Ads MCP. Does not read Google Ads or expose secrets. |
| google_ads_connection_statusA | Check whether local Google Ads env vars, token file, Node version, privacy mode, mutation gate, and retry settings are ready. Does not call Google Ads or expose secrets. |
| google_ads_privacy_auditA | Return the local privacy, mutation-gate, cache, token-path, env-presence and redaction posture without revealing secret values. |
| google_ads_cache_statusA | Return the SQLite GAQL-response cache status: enabled flag, on-disk path, entry count, oldest entry age, and default TTL. Read-only — never calls Google Ads and does not require credentials. |
| google_ads_clear_cacheA | Delete all entries from the local SQLite GAQL-response cache. Does NOT touch Google Ads — only affects local memoization. Not gated by GOOGLE_ADS_ALLOW_MUTATIONS because nothing in your ad account changes. Does not require credentials. |
| google_ads_profile_getA | Read the shared Delx profile (~/.delx-wellness/profile.json). Returns the user's preferred name, language, timezone, etc. Cross-tool — same profile is shared with other Delx MCPs. Read-only. |
| google_ads_profile_updateA | Persist a partial patch to the shared Delx profile (~/.delx-wellness/profile.json). REQUIRES explicit_user_intent=true. NEVER stores secrets — writes will be rejected at validation time. |
| google_ads_onboardingA | Return the 11-question Delx onboarding flow plus the current profile state and missing critical fields. Same profile reused across all Delx MCPs. |
| google_ads_get_auth_urlA | Generate a Google OAuth authorization URL for the Google Ads API. Does not read or modify Google Ads data. Use this first when no local token exists. |
| google_ads_exchange_codeA | Exchange a Google OAuth authorization code for local tokens. Tokens stored at ~/.google-ads-mcp/tokens.json with 0600 perms; never returned in the response. |
| google_ads_revoke_accessA | Revoke the current Google OAuth grant and delete local tokens. Use only when the user explicitly wants to disconnect Google Ads. |
| google_ads_list_accountsA | List all customer accounts the authenticated user can access. For a manager (MCC) account, this includes every child customer. |
| google_ads_list_campaignsA | List campaigns under a Google Ads customer. Returns id, name, status, advertising_channel_type, bidding_strategy_type, and campaign_budget linkage. |
| google_ads_get_campaignA | Get a single campaign with budget, bidding strategy, and status. Returns the linked campaign_budget id (use it with google_ads_set_campaign_budget_micros). |
| google_ads_list_ad_groupsA | List ad groups under a campaign (or all campaigns) in a customer. |
| google_ads_list_keywordsB | List keyword criteria under a campaign or ad group. Returns criterion_id, keyword text, match type, status, and cpc_bid_micros. |
| google_ads_get_account_performanceA | Aggregate performance metrics (impressions, clicks, cost_micros, ctr, average_cpc, conversions) for the customer over a date range. |
| google_ads_get_campaign_performanceA | Per-campaign performance metrics over a date range. Filter to a single campaign with campaign_id. |
| google_ads_get_keyword_performanceA | Per-keyword performance metrics over a date range. Returns clicks, cost_micros, ctr, average_cpc, conversions, conversion_rate. Filter with campaign_id, ad_group_id, or min_clicks. |
| google_ads_daily_reportA | Synthetic daily performance snapshot. Pulls YESTERDAY + LAST_7_DAYS + LAST_30_DAYS aggregates for a customer, optionally alerts when CPC exceeds cpc_alert_threshold. Pure-read workflow tool — never mutates. |
| google_ads_find_wasteA | Identify keywords matching the 'high cost + zero conversions' waste pattern (inspiration from script #1). Returns a ranked list of candidates — NEVER pauses anything. Pair with google_ads_pause_keyword (gated) after user confirmation. |
| google_ads_quick_winsA | Identify keywords with LOW CPC + HIGH CTR + at-least-some conversions — candidates to RAISE the bid on. Inverse of google_ads_find_waste. Returns a ranked list with a recommended_bid_micros (current + 25%, capped at 2x). NEVER changes bids; pair with google_ads_set_keyword_bid_micros (gated) after user confirmation. |
| google_ads_pause_keywordA | Pause a single keyword by criterion_id. GATED: requires GOOGLE_ADS_ALLOW_MUTATIONS enabled AND explicit_user_intent. Ask the user first. |
| google_ads_resume_keywordB | Resume (enable) a single paused keyword by criterion_id. GATED. |
| google_ads_set_keyword_bid_microsA | Update the cpc_bid_micros for a keyword criterion. GATED. Bid must be in micros (10_000 = $0.01). |
| google_ads_set_campaign_budget_microsA | Update a campaign budget's amount_micros. GATED. campaign_budget_id is NOT the campaign id — discover it via google_ads_get_campaign (campaign_budget.id). |
| google_ads_pause_campaignB | Pause an entire campaign by id. GATED. |
| google_ads_resume_campaignB | Resume (enable) a paused campaign by id. GATED. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/davidmosiah/google-ads-mcp-unofficial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server