Google Ads MCP Server
Provides access to Google Ads API for comprehensive campaign analytics, including account info, campaign, ad group, ad, keyword, search term, asset group, conversion, demographic, and budget performance analytics.
Click on "Deploy 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 ServerShow me campaign performance for last 7 days"
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
A Model Context Protocol (MCP) server that provides access to Google Ads API for comprehensive campaign analytics. Use with Claude Code for conversational ad performance analysis.
Features
Google OAuth Authentication: Secure login with Google for multi-user access
Remote HTTP Access: StreamableHTTP transport for remote MCP connections
11 Analytics Tools: Comprehensive Google Ads performance analytics
Account information
Campaign, Ad Group, and Ad performance metrics
Keyword performance with quality scores
Search term reports
Performance Max asset group analysis
Conversion action tracking
Demographic performance (age, gender, device)
Budget pacing and utilization analysis
Multi-level data export
Docker Support: Containerized deployment with health checks
Production Ready: Environment-based configuration, security best practices
Related MCP server: Google Ads MCP Server
Prerequisites
Node.js 24+ (or Docker)
Google Ads API access (apply for developer token)
Google Cloud project with OAuth 2.0 credentials
Google Ads account with active campaigns
Quick Setup (Local Development)
1. Clone and Install
git clone https://github.com/jgdeutsch/google-ads-mcp.git
cd google-ads-mcp
npm install2. Get Google Ads API Credentials
Create a Google Cloud project at console.cloud.google.com
Enable the Google Ads API
Create OAuth 2.0 credentials (Desktop application type)
Get your developer token from Google Ads API Center
3. Get Refresh Token
# Edit scripts/get_refresh_token.py with your CLIENT_ID and CLIENT_SECRET
python3 scripts/get_refresh_token.py4. Configure Environment
cp .env.example .env
# Edit .env and add:
# - GOOGLE_ADS_CLIENT_ID (from OAuth credentials)
# - GOOGLE_ADS_CLIENT_SECRET (from OAuth credentials)
# - GOOGLE_ADS_REFRESH_TOKEN (from step 3)
# - GOOGLE_ADS_DEVELOPER_TOKEN (from API Center)
# - GOOGLE_ADS_LOGIN_CUSTOMER_ID (MCC account, no dashes)
# - GOOGLE_ADS_CUSTOMER_ID (ad account, no dashes)
# - SESSION_SECRET (generate with: openssl rand -base64 32)
# - REQUIRE_AUTH=false (for local use)5. Start the Server
npm run build && npm start
# Or for development with hot reload:
npm run dev6. Configure Claude Code
Add to ~/.config/claude-code/mcp.json:
{
"mcpServers": {
"google-ads": {
"url": "http://localhost:3000/mcp",
"transport": "http"
}
}
}7. Test in Claude Code
You: "Show me campaign performance for last 7 days"
You: "What are my top performing keywords?"
You: "Show search terms with highest spend"
You: "How's my budget pacing this month?"Available Tools
# | Tool | Description |
1 |
| Account info (name, currency, timezone, status) |
2 |
| Campaign metrics with budget and bidding strategy |
3 |
| Ad group metrics with campaign context |
4 |
| Individual ad performance metrics |
5 |
| Keyword metrics with quality scores |
6 |
| Search queries that triggered your ads |
7 |
| Performance Max asset group metrics |
8 |
| Conversion actions and conversion metrics |
9 |
| Performance by age, gender, or device |
10 |
| Budget pacing and utilization rates |
11 |
| Multi-level data export with daily breakdowns |
Date Ranges
All tools support these date range presets:
TODAY,YESTERDAYLAST_7_DAYS,LAST_14_DAYS,LAST_30_DAYS,LAST_90_DAYSTHIS_MONTH,LAST_MONTH
Docker Deployment
# Build and start
docker-compose up -d
# View logs
docker-compose logs -f
# Stop
docker-compose downProduction Deployment (Railway)
Fork this repo
Connect to Railway
Set environment variables in Railway dashboard
Deploy (uses Dockerfile automatically)
Environment Variables
See .env.example for full documentation.
Required
Variable | Description |
| OAuth client ID |
| OAuth client secret |
| OAuth refresh token |
| Google Ads API developer token |
| MCC account ID (no dashes) |
| Ad account ID (no dashes) |
| Random 32+ char secret |
Optional
Variable | Default | Description |
|
| Server port |
|
| Bind address |
|
| Environment |
|
| Enable OAuth for team access |
|
| Session duration (ms) |
Development
npm install # Install dependencies
npm run type-check # Type checking
npm run dev # Development with hot reload
npm run build # Build TypeScript
npm start # Run built versionSecurity
OAuth 2.0 with PKCE for authentication
Bearer tokens with 24-hour expiry
Non-root Docker container
No secrets in version control
.envexcluded via.gitignore
License
MIT
Support
GitHub Issues: https://github.com/jgdeutsch/google-ads-mcp/issues
Built with the Model Context Protocol SDK
Related MCP Connectors
GA4, Google Ads and Search Console in Claude. Read-only OAuth, multi-account for agencies.
Run Google Ads and Meta Ads from ChatGPT or Claude: audit wasted spend, create and manage campaigns.
- mcp-serverOAuthco.flyweel
Access Google & Meta Ads data via AI. Analyse campaign performance in seconds.
Ask Claude about your ads: Meta, Google, TikTok, LinkedIn, GA4 & Shopify. No AI credits.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA tool that connects Google Ads with Claude AI, allowing users to analyze advertising data through natural language conversations and access campaign information, performance metrics, keyword analytics, and ad management.710MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to access and manage Google Ads data, including campaigns, ad groups, keywords, budgets, and visualizations, through natural language interactions.19-
- FlicenseNot gradedqualityDmaintenanceEnables natural language access to Google Ads campaigns, accounts, and performance metrics via Claude, with tools for managing ad groups, keywords, budgets, and visualizing data.1-
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Ads data via Claude Desktop, providing tools for managing campaigns, ad groups, keywords, budgets, and generating performance insights and visualizations.-