An MCP tool that connects Google Ads with Claude AI, Cursor, and others, enabling natural language analysis of advertising data. This integration provides access to campaign information, performance metrics, keyword analytics, and ad management through simple chat interactions.
flowchart TB
User(User) -->|Interacts with| Claude
Claude(Claude AI Assistant) -->|Makes requests to| MCP[Google Ads MCP Server]
User -->|Can also use| Cursor[Cursor AI Code Editor]
Cursor -->|Makes requests to| MCP
subgraph "MCP Server"
FastMCP[FastMCP Server]
Tools[Available Tools]
Auth[Authentication]
FastMCP -->|Exposes| Tools
FastMCP -->|Uses| Auth
end
subgraph "Google Ads Tools"
ListAccounts[list_accounts]
ExecuteGAQL[execute_gaql_query]
CampaignPerf[get_campaign_performance]
AdPerf[get_ad_performance]
RunGAQL[run_gaql]
end
Tools -->|Includes| ListAccounts
Tools -->|Includes| ExecuteGAQL
Tools -->|Includes| CampaignPerf
Tools -->|Includes| AdPerf
Tools -->|Includes| RunGAQL
subgraph "Authentication"
OAuth[OAuth 2.0 Client ID]
ServiceAccount[Service Account]
Credentials[Google Ads API Credentials]
OAuth -->|Provides| Credentials
ServiceAccount -->|Provides| Credentials
end
MCP -->|Communicates with| GoogleAdsAPI[Google Ads API]
GoogleAdsAPI -->|Returns| AdData[Advertising Data]
AdData -->|Analyzed by| Claude
AdData -->|Visualized by| Claude
AdData -->|Can be used by| Cursor
Credentials -->|Authorizes| GoogleAdsAPI
subgraph "Configuration"
EnvVars[Environment Variables]
ConfigFiles[Configuration Files]
EnvVars -->|Configures| MCP
ConfigFiles -->|Configures| Claude
ConfigFiles -->|Configures| Cursor
end
Tool | Description | Requirements |
---|---|---|
list_accounts |
Lists all Google Ads accounts | None |
execute_gaql_query |
Runs a Google Ads Query Language query | Account ID and GAQL query |
get_campaign_performance |
Retrieves campaign metrics | Account ID and time period |
get_ad_performance |
Analyzes ad creative performance | Account ID and time period |
run_gaql |
Runs custom GAQL queries | Account ID, query, and format |
-- Basic campaign metrics
SELECT campaign.name, metrics.clicks, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_7DAYS
-- Ad group performance
SELECT ad_group.name, metrics.conversions, metrics.cost_micros
FROM ad_group
WHERE metrics.clicks > 100
-- Keyword analysis
SELECT keyword.text, metrics.average_position, metrics.ctr
FROM keyword_view
ORDER BY metrics.impressions DESC
git clone https://github.com/ixigo/mcp-google-ads.git
# Create a virtual environment
uv venv .venv
# Activate the virtual environment
source .venv/bin/activate
# Install dependencies
uv pip install -r requirements.txt
Configure claude_desktop_config.json
with your Google Ads API credentials.
Ask Claude questions about your Google Ads data and receive actionable insights.
Claude can generate:
- Trend Charts
- Comparison Graphs
- Performance Distributions
- Correlation Analysis
- Heatmaps
sudo ln -s $(which python3) /usr/local/bin/python
Run test_google_ads_mcp.py
to verify your connection.
Found a bug or have an idea? Open an issue or submit a pull request on GitHub.
This project is licensed under the MIT License.
ixigo is India's leading travel app. For more information, visit ixigo.com.