Skip to main content
Glama
dhawalshah

google-ads-mcp

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP port (default 8080).8080
BASE_URLNoPublic URL of this service. Used for OAuth metadata and as the canonical resource URI tokens are bound to. Required for remote HTTP mode.
LOG_LEVELNoPython log level (default INFO).INFO
GCP_PROJECT_IDNoGCP project hosting Firestore. Required for remote HTTP mode.
MCP_USER_EMAILNoYour email — set in Claude Desktop config. Required for local STDIO mode.
ALLOWED_DOMAINSNoComma-separated email domain allowlist (e.g. acme.com,beta.com). Empty = no restriction.
GOOGLE_CLIENT_IDNoGoogle OAuth client ID. Required if not using OAUTH_CONFIG_PATH.
OAUTH_CONFIG_PATHNoAlternative to GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET: path to client_secret.json.
GOOGLE_REDIRECT_URINoOverride the Google callback URL. Defaults to ${BASE_URL}/auth/callback.
GOOGLE_CLIENT_SECRETNoGoogle OAuth client secret. Required if not using OAUTH_CONFIG_PATH.
GOOGLE_ADS_DEVELOPER_TOKENNoDeprecated. Leave unset — access level now comes from the Cloud project owning the OAuth client. If set, it is sent as the Developer-Token header (legacy setups only).

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

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
run_gaqlC

Execute GAQL using the non-streaming search endpoint for consistent JSON parsing.

list_accountsA

List all accessible accounts including nested sub-accounts.

run_keyword_plannerB

Generate keyword ideas using Google Ads KeywordPlanIdeaService.

This tool allows you to generate keyword ideas based on seed keywords or a page URL. You can specify targeting parameters such as language, location, and network to refine your keyword suggestions.

get_campaign_performanceB

Get performance metrics for all campaigns in an account.

get_ad_group_performanceB

Get performance metrics broken down by ad group.

get_ad_performanceA

Get performance metrics for individual ads/creatives.

get_keyword_performanceB

Get performance metrics for keywords including quality scores.

get_search_terms_reportA

Get the search terms report — actual searches that triggered your ads.

Useful for finding new keyword opportunities and negative keyword candidates.

get_budget_reportA

Get campaign budgets and current spend for all active campaigns.

get_geographic_performanceC

Get performance metrics broken down by geographic location.

get_device_performanceB

Get performance metrics broken down by device type (mobile, desktop, tablet).

get_conversion_actionsC

List all conversion actions configured on the account.

get_asset_performanceA

Get performance of responsive search ad assets (headlines and descriptions).

Shows which headlines and descriptions are performing best, ranked by impressions. Google's performance label (BEST/GOOD/LOW) is no longer available — the Ads API removed it in v23.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
gaql_referenceGoogle Ads Query Language (GAQL) reference documentation.

TDQS

A3.5/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a clearly distinct resource or dimension: GAQL queries, account listing, conversion actions, keyword planning, and separate performance reports for geography, device, campaign, ad group, ad, keyword, asset, search terms, and budget. Overlap between performance tools is minimal and easily distinguished by their target entity.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern: run_gaql, list_accounts, get_geographic_performance, get_budget_report, etc. The naming style is uniform and predictable across the entire set.

Tool Count5/5

With 13 tools, the server is well-scoped for a Google Ads analytics and keyword research surface. Every tool covers a meaningful function, and the count is within the ideal range for a domain-specific MCP server.

Completeness3/5

The server provides thorough read-only coverage: reporting across all key entities, account listing, conversion actions, and keyword planning. However, it lacks any mutation tools for campaign management (create, update, pause, delete), which is a notable gap for a server named 'google-ads-mcp' if full lifecycle control is expected.

Maintenance

ActivityMaintained
ResponsivenessNo issues