Google Ads MCP Server
Provides tools for managing Google Ads campaigns, ad groups, ads, and keywords, as well as generating performance reports and tracking campaign history, decisions, and insights.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Ads MCP ServerGenerate a performance report for my search campaigns from last week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Ads MCP Server
An MCP (Model Context Protocol) server for managing Google Ads campaigns through Claude Desktop, featuring a three-layer architecture for intelligent campaign management.
Architecture
This MCP server uses a three-layer architecture:
1. Knowledge Layer (Resources)
Provides context and insights to Claude:
App Context: Product information, value propositions, target audiences
User Archetypes: Persona definitions, pain points, motivations
Keyword Research: Keyword lists, search volumes, competition data
2. Action Layer (Tools)
Executes operations in Google Ads:
Campaigns: List, create, update, pause campaigns
Ad Groups: Manage ad groups within campaigns
Ads: Create and manage responsive search ads
Keywords: Add, update bids, pause keywords
Reports: Generate performance reports
3. Memory Layer (Persistence)
Tracks history and learnings:
Change Log: All modifications made to the account
Report History: Past performance reports for comparison
Decisions: Why certain choices were made
Learnings: What worked, what didn't, insights gained
Setup
Prerequisites
Python 3.10+
Google Ads API credentials
Claude Desktop
Installation
Clone or download this repository
Create a virtual environment and install dependencies:
# Using uv (recommended) uv venv uv sync # Or using pip python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -e .Configure your Google Ads credentials:
cp .env.example .env # Edit .env with your credentials
Google Ads API Credentials
You'll need the following credentials from the Google Ads API:
Client ID & Secret: Create OAuth 2.0 credentials in Google Cloud Console
Developer Token: Apply for one in your Google Ads account (Tools > API Center)
Refresh Token: Generate using the OAuth flow
Customer ID: Your Google Ads account ID (without dashes)
See the Google Ads API documentation for detailed setup instructions.
Claude Desktop Configuration
Add this server to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"google-ads": {
"command": "uv",
"args": [
"--directory",
"C:/dev/mcps/google-ads",
"run",
"google-ads-mcp"
]
}
}
}Or with environment variables in the config:
{
"mcpServers": {
"google-ads": {
"command": "python",
"args": ["C:/dev/mcps/google-ads/src/server.py"],
"env": {
"GOOGLE_ADS_CLIENT_ID": "your_client_id",
"GOOGLE_ADS_CLIENT_SECRET": "your_client_secret",
"GOOGLE_ADS_DEVELOPER_TOKEN": "your_developer_token",
"GOOGLE_ADS_REFRESH_TOKEN": "your_refresh_token",
"GOOGLE_ADS_CUSTOMER_ID": "your_customer_id"
}
}
}
}Knowledge Configuration
Setting Up App Context
Copy and customize the example file:
cp data/knowledge/app_context.example.json data/knowledge/app_context.jsonEdit app_context.json with your product/service information.
Setting Up User Archetypes
Copy and customize the example file:
cp data/knowledge/archetypes.example.json data/knowledge/archetypes.jsonEdit archetypes.json with your target audience personas.
Available Tools
Campaign Management
list_campaigns- List all campaignsget_campaign- Get campaign detailscreate_campaign- Create a new campaignupdate_campaign- Update campaign settingsset_campaign_status- Pause/enable campaigns
Ad Group Management
list_ad_groups- List ad groupscreate_ad_group- Create an ad groupupdate_ad_group- Update ad group settings
Ad Management
list_ads- List adscreate_responsive_search_ad- Create an RSAupdate_ad_status- Change ad status
Keyword Management
list_keywords- List keywordsadd_keywords- Add new keywordsupdate_keyword_bid- Adjust bidspause_keyword- Pause keywords
Reporting
get_campaign_report- Campaign performanceget_keyword_report- Keyword performanceget_search_terms_report- Search query dataget_performance_metrics- Account summary
Memory Tools
get_change_history- View change logsave_report_snapshot- Store reportsget_historical_reports- Compare over timelog_decision- Record decisionsget_decision_history- View decisionsrecord_learning- Store insightsget_insights- Retrieve learnings
Development
Project Structure
google-ads/
├── src/
│ ├── server.py # Main MCP server
│ ├── config.py # Configuration
│ ├── google_ads_client.py # API wrapper
│ ├── knowledge/ # Knowledge layer
│ ├── actions/ # Action layer (tools)
│ └── memory/ # Memory layer
├── data/
│ └── knowledge/ # Knowledge files
├── pyproject.toml
└── README.mdRunning Locally
# Run the server directly
python src/server.py
# Or using the entry point
google-ads-mcpLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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/bradenpan/mcp-google-ads'
If you have feedback or need assistance with the MCP directory API, please join our Discord server