Skip to main content
Glama
itallstartedwithaidea

google-ads-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_auction_insightsA

Return competitive auction insights — impression share, overlap rate, position above rate, and outranking share for competing domains.

This is the primary competitive intelligence tool. Shows where your ads appear relative to competitors in the same auctions.

get_change_historyA

Return account change history — who changed what, when, and what it changed from/to.

Invaluable for audits, debugging performance drops, and tracking unauthorized changes.

get_device_performanceA

Return campaign performance segmented by device — MOBILE, DESKTOP, TABLET.

Use this to identify bid adjustment opportunities and diagnose mobile vs. desktop conversion rate gaps.

get_geo_performanceC

Return performance segmented by geographic location.

get_recommendationsB

Return Google's optimization recommendations for the account.

get_pmax_performanceA

Return Performance Max campaign and asset group performance.

PMax requires separate queries for campaign-level and asset-group-level data since asset groups can't be joined to standard metrics in a single query.

get_impression_shareA

Return search impression share and lost IS reasons by campaign.

Shows what % of eligible impressions you're winning and whether you're losing to budget constraints or ad rank. Critical for scaling decisions.

list_accessible_customersA

Return customer IDs directly accessible by the authenticated user.

These IDs can be used as the customer_id parameter in all other tools. For MCC (manager) accounts, use list_accounts() to also see child accounts.

Source: googleads/google-ads-mcp (tools/core.py) — uses CustomerService.list_accessible_customers() via the Python client library (cleaner than raw REST used in repo1/repo4).

list_accountsA

List all accessible Google Ads accounts including MCC sub-accounts.

Returns a structured dict with account metadata (id, name, is_manager, level, parent_id). For manager (MCC) accounts, sub-accounts are fetched and included up to two levels deep.

Source: gomarble-ai/google-ads-mcp-server (server.py) — MCC traversal logic; combined with repo2 CustomerService pattern for cleaner API calls.

Recommended first step: run this to discover available customer IDs before calling any reporting tools.

execute_gaqlB

Execute any Google Ads Query Language (GAQL) query.

get_campaign_performanceB

Return campaign performance metrics for the last N days.

get_keyword_performanceC

Return keyword performance metrics.

get_search_termsA

Return search term performance — actual queries that triggered your ads.

Essential for SQR (Search Query Reports), finding negative keyword opportunities, and identifying new keyword candidates.

get_ad_performanceA

Return ad-level performance including RSA headlines and descriptions.

Useful for creative audits, A/B analysis, and identifying low-performing ad copy that should be refreshed.

get_account_budget_summaryA

Return campaign budgets and current spend for budget pacing analysis.

Returns daily budget amounts alongside 30-day cost to help identify budget-constrained campaigns or overspending.

generate_keyword_ideasB

Generate keyword ideas using the Google Ads Keyword Planner.

get_gaql_referenceA

Return the GAQL (Google Ads Query Language) reference guide.

Call this before writing complex queries to ensure correct field names, operators, and resource relationships. Avoids the most common GAQL errors (wrong keyword field names, unsupported CONTAINS operator, cost field paths).

Source: google-marketing-solutions/google_ads_mcp (tools/docs.py)

get_workflow_guideA

Return the recommended workflow for using Google Ads MCP tools.

Provides a step-by-step guide: account discovery → currency check → data retrieval → custom queries. Good first call when starting a new analysis session.

update_campaign_budgetA

Update a campaign's daily budget.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

update_campaign_statusA

Pause or enable a campaign.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

update_ad_group_statusA

Pause or enable an ad group.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

update_keyword_bidA

Update the CPC bid for a specific keyword.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

add_keywordsA

Add keywords to an ad group.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

add_negative_keywordsA

Add negative keywords to a campaign.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

remove_negative_keywordA

Remove a negative keyword by resource name.

Get the resource_name from get_search_terms or execute_gaql on campaign_criterion.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

create_campaignA

Create a new campaign.

Default is DRY RUN — shows preview. Pass confirm=True to execute. New campaigns are always created PAUSED unless you explicitly set status='ENABLED'.

create_ad_groupA

Create a new ad group within a campaign.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

switch_bidding_strategyA

Change a campaign's bidding strategy.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

generic_mutateA

Generic mutate operation for advanced use cases not covered by specific tools.

Use this when you need to modify a resource type that doesn't have a dedicated write tool. Requires understanding the Google Ads API proto structure.

Default is DRY RUN — shows preview. Pass confirm=True to execute.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
gaql_reference_resourceGAQL reference guide as an MCP resource.
workflow_guide_resourceWorkflow guide as an MCP resource.

Latest Blog Posts

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/itallstartedwithaidea/google-ads-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server