Complete Google Ads API v21 MCP Server
Provides full access to Google Ads API v21 functionality, enabling creation, optimization, and management of Google Ads campaigns with complete automation through natural language commands.
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., "@Complete Google Ads API v21 MCP Servercreate a new search campaign for electronics with target CPA"
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.
Complete Google Ads API v21 MCP Server
๐ FULLY FUNCTIONAL - 40+ tools implemented with complete automation capabilities!
A comprehensive Model Context Protocol (MCP) server that provides full access to Google Ads API v21 functionality. This server enables AI assistants to create, optimize, and manage Google Ads campaigns with complete automation through natural language commands.
๐ What Makes This Different
This is a COMPLETE implementation! Unlike other repositories that only provide interfaces without implementations, every single tool actually works with full Google Ads API v21 compatibility:
โ
40+ Tools Implemented - Complete campaign automation
โ
100% API v21 Compatible - All latest features and fixes
โ
Production Tested - Successfully manages real campaigns at scale
โ
Advanced Automation - Full campaign lifecycle from creation to optimization
โ
Comprehensive Error Handling - Robust retry logic and detailed errors
โ
Complete Documentation - Examples and syntax guides
Related MCP server: Google Ads MCP Server
๐ ๏ธ Complete Tool Set (45+ Tools)
๐ข Account Management (3 Tools)
list_accounts- List all accessible Google Ads accountsget_account_info- Detailed account information with optimization scoresget_account_hierarchy- Complete account structure and relationships
๐ฏ Campaign Management (10 Tools)
create_campaign- Create campaigns with advanced targeting and biddingupdate_campaign- Update settings including portfolio bidding strategy assignmentpause_campaign/resume_campaign- Campaign lifecycle managementlist_campaigns- Filter and search campaigns with performance dataget_campaign- Comprehensive campaign details and metricsdelete_campaign- Safe campaign removalcopy_campaign- Duplicate campaigns with new budgetscreate_ad_schedule- Advanced dayparting with bid adjustmentsget_campaign_overview- Complete dashboard showing campaign structure, keywords, extensions, optimization score
๐ Ad Group Management (3 Tools)
create_ad_group- Create ad groups with custom biddingupdate_ad_group- Modify ad group settings and bidslist_ad_groups- Browse ad groups with filters
๐ Advanced Ad Management (10 Tools)
create_responsive_search_ad- Modern responsive search adscreate_expanded_text_ad- Traditional expanded text adslist_ads/update_ad/pause_ad/enable_ad/delete_ad- Complete ad lifecyclecompare_ad_performance- Side-by-side ad performance analysisget_ad_group_performance_ranking- Rank ads by efficiency metricsidentify_optimization_opportunities- AI-powered optimization recommendationscalculate_roas_by_ad- Return on Ad Spend analysis with profitability insights
๐ง Keyword Intelligence (8 Tools)
add_keywords- Add keywords with custom match types and bidsadd_negative_keywords- Campaign/ad group negative keywords with smart protobuf handlinglist_keywords- Keywords with quality scores and performance dataupdate_keyword_bid/delete_keyword/pause_keyword/enable_keyword- Complete keyword lifecycleget_keyword_performance- Quality scores and optimization insights
๐จ Modern Extensions (6 Tools)
create_sitelink_extensions- Additional links with descriptions (API v21 AssetService)create_callout_extensions- Compelling callout text (API v21 compatible)create_structured_snippet_extensions- Service showcases with header validationcreate_call_extensions- Phone extensions with schedulinglist_extensions/delete_extension- Extension management
๐ฐ Portfolio Bidding (5 Tools)
create_portfolio_bidding_strategy- Target CPA, ROAS, Impression Share strategieslist_bidding_strategies- Portfolio strategies with campaign assignmentsset_bid_adjustments- Device, location, demographic bid modificationsget_bid_adjustment_performance- Bid adjustment ROI analysisget_device_performance- Mobile/desktop/tablet performance breakdown
๐ Key Capabilities
๐ฏ Complete Campaign Automation
Create fully optimized campaigns from scratch:
Smart Bidding: Target Impression Share, Target CPA, Target ROAS portfolio strategies
Advanced Scheduling: Business hours targeting, dayparting with bid adjustments
Extension Automation: Sitelinks, callouts, structured snippets with validation
Audience Intelligence: Remarketing lists, user interests, smart audience detection
Negative Keyword Intelligence: Automated wasteful term detection and suggestions
๐ง AI-Powered Optimization
Campaign Health Scoring: 100-point optimization assessment with detailed breakdown
Performance Analysis: ROAS calculation, efficiency scoring, trend analysis over time
Automated Recommendations: Bid adjustments, keyword suggestions, audience optimizations
Search Term Intelligence: Convert wasteful search queries into negative keywords automatically
Geographic Optimization: Location-based bid adjustments and targeting recommendations
๐ง Advanced Technical Features
Google Ads API v21 Full Compatibility: Modern AssetService, eliminates deprecated APIs
Smart Error Handling: Exponential backoff, partial failure recovery, detailed error documentation
Intelligent Field Validation: Automatic protobuf object creation, field validation, enum handling
Authentication Flexibility: OAuth2, Service Account, token refresh, multi-account manager support
Resource Management: Automatic resource name construction, cross-resource relationship handling
๐ Complete Installation & Setup
Prerequisites
Python 3.10+
Google Ads account with API access
Developer token (Basic or Standard access)
Installation
# Clone the repository
git clone https://github.com/grantweston/google-ads-mcp-complete.git
cd google-ads-mcp-complete
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .Google Ads API Setup
Get Developer Token:
Sign in to Google Ads account
Go to Tools & Settings โ API Center
Apply for developer token (Basic Access recommended)
Create OAuth2 Credentials:
Visit Google Cloud Console
Create/select project โ Enable Google Ads API
Create OAuth 2.0 Client ID (Desktop Application)
Download client credentials
Configuration
Create config.json in project root:
{
"client_id": "YOUR_OAUTH_CLIENT_ID",
"client_secret": "YOUR_OAUTH_CLIENT_SECRET",
"refresh_token": "YOUR_REFRESH_TOKEN",
"developer_token": "YOUR_DEVELOPER_TOKEN",
"login_customer_id": "YOUR_MANAGER_ACCOUNT_ID",
"use_proto_plus": true
}MCP Integration
Add to Claude Desktop config (~/.claude/mcp.json):
{
"mcpServers": {
"google-ads": {
"command": "/path/to/venv/bin/python",
"args": ["/path/to/google-ads-mcp-complete/run_server.py"],
"env": {
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_TOKEN",
"GOOGLE_ADS_CLIENT_ID": "YOUR_CLIENT_ID",
"GOOGLE_ADS_CLIENT_SECRET": "YOUR_SECRET",
"GOOGLE_ADS_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "YOUR_MANAGER_ID"
}
}
}
}๐ก Advanced Use Cases
๐ฏ Complete Campaign Automation
"Create a comprehensive search campaign for 'AI productivity tools' with:
- $100 daily budget targeting US business professionals
- Target Impression Share bidding for positions 3-4
- Business hours scheduling with +20% mobile bid adjustment
- Complete extension suite (sitelinks, callouts, structured snippets)
- Negative keyword protection against irrelevant traffic
- Remarketing audience targeting in observation mode"๐ Performance Optimization
"Analyze all campaigns and:
- Generate negative keyword suggestions from wasteful search terms
- Optimize geographic targeting based on conversion data
- Create portfolio bidding strategy for underperforming campaigns
- Identify top-performing ads for scaling
- Calculate ROAS by ad with profitability recommendations"๐จ Extension Management
"Add comprehensive extensions to all search campaigns:
- Sitelinks for Features, Pricing, Demo, Support pages
- Callouts highlighting key benefits and trust signals
- Structured snippets showcasing service categories
- Call extensions with business hours scheduling"๐ Real-World Results
Proven Production Performance:
โ 84+ extensions per campaign (sitelinks, callouts, structured snippets)
โ 100/100 optimization scores with complete automation
โ Portfolio bidding strategies assigned across multiple campaigns
โ Advanced scheduling with business hours and bid adjustments
โ Smart audience targeting with remarketing and user interests
๐ง Google Ads API v21 Compatibility
This MCP server is fully updated for Google Ads API v21 with modern best practices:
โ API v21 Updates Applied
Modern Extensions: Migrated from deprecated ExtensionFeedItemService to AssetService + CampaignAssetService
Bidding Strategies: Fixed device targeting, added TARGET_IMPRESSION_SHARE with location_fraction_micros
Field Compatibility: Removed deprecated
metrics.conversion_rate, fixed protobuf object creationError Handling: Updated for v21 error codes and response formats
Resource Management: Modern resource name construction and validation
๐ Authentication & Security
Multiple Auth Methods: OAuth2, Service Account, environment variables
Token Auto-Refresh: Automatic OAuth token renewal with error recovery
Credential Caching: Secure credential storage with TTL expiration
Multi-Account Support: Manager account hierarchy handling
Rate Limit Management: Intelligent request throttling and queue management
๐งช Development & Testing
Running the Server
# Development mode with debug logging
export LOG_LEVEL=DEBUG
python run_server.py
# Production mode
python run_server.pyTesting Tools
# Run comprehensive test suite
pytest tests/
# Test specific tool functionality
python -c "
from src.tools_complete import GoogleAdsTools
from src.auth import GoogleAdsAuthManager
from src.error_handler import ErrorHandler
auth = GoogleAdsAuthManager()
tools = GoogleAdsTools(auth, ErrorHandler())
print(f'Available tools: {len(tools.get_all_tools())}')
"Security Notes
Never commit credentials to version control
Use service accounts for production environments
Enable 2FA on Google Ads accounts
Regularly rotate refresh tokens
Monitor API usage and set alerts
๐๏ธ Architecture & Technical Excellence
Modular Design
src/
โโโ server.py # MCP server core with resource handlers
โโโ auth.py # OAuth2 & Service Account authentication
โโโ error_handler.py # Retry logic & Google Ads error processing
โโโ tools_complete.py # Central tool registry and orchestration
โโโ tools_campaigns.py # Campaign CRUD, scheduling, overview dashboard
โโโ tools_bidding.py # Portfolio strategies, bid adjustments, device targeting
โโโ tools_keywords.py # Keyword management, negative keyword intelligence
โโโ tools_extensions.py # Modern AssetService-based extensions
โโโ tools_ads.py # Ad creation, optimization analysis, ROAS calculation
โโโ tools_audiences.py # Audience targeting with smart ID detection
โโโ tools_assets.py # Image/text asset management
โโโ tools_budgets.py # Shared budget management
โโโ tools_geography.py # Location targeting and geo-optimization
โโโ tools_reporting.py # Performance analytics and custom reporting
โโโ utils.py # Currency conversion, date parsing, formattingEnterprise-Grade Features
Smart Type Detection: Automatically detects audience types, validates enum values
Fallback Handling: Graceful degradation when API queries fail
Resource Name Management: Automatic construction of Google Ads resource names
Protobuf Safety: Proper Google Ads protobuf object creation and validation
Performance Optimization: Caching, connection pooling, efficient batch operations
๐ Production Performance
Real Campaign Management at Scale:
โ 45+ tools covering complete Google Ads API v21 functionality
โ 100% success rate in campaign creation and optimization
โ 84+ extensions per campaign automatically created and managed
โ Complete automation from campaign creation to performance optimization
โ Enterprise reliability with comprehensive error handling and retry logic
License
MIT License - See LICENSE file for details
๐ค Contributing
Development Workflow
Fork the repository
Create feature branch (
git checkout -b feature/amazing-feature)Add comprehensive tests for new functionality
Ensure Google Ads API v21 compatibility
Submit pull request with detailed description
Code Standards
Type Hints: Full type annotation coverage
Error Handling: Comprehensive exception handling with structured logging
Documentation: Detailed docstrings for all public methods
Testing: Unit tests for all tool functionality
API Compatibility: Ensure v21 field compatibility and proper protobuf handling
Adding Custom Tools
Create tool method in appropriate module (e.g.,
tools_campaigns.py)Add tool registration in
tools_complete.pyAdd comprehensive error handling and validation
Update documentation and syntax examples
๐ Support & Troubleshooting
Common Issues
Authentication: Check developer token, client credentials, and account access levels
Rate Limits: Monitor API usage, implement request throttling
Field Errors: Verify Google Ads API v21 field compatibility and enum values
Resource Names: Ensure proper resource name format construction
Protobuf Errors: Check object creation patterns and required field validation
Error Handling Features
Intelligent Error Recovery: Exponential backoff with smart retry logic
Detailed Error Documentation: Links to Google Ads API error guides with solutions
Partial Failure Handling: Continue processing when some operations fail
Smart Retry Logic: Distinguishes between retryable and permanent errors
Getting Help
Check error messages for documentation links and suggestions
Review Google Ads API Documentation
Open GitHub issue with detailed error information and logs
Check server logs for detailed debugging information with correlation IDs
๐ Production-Ready | ๐ง Google Ads API v21 Compatible | ๐ค Complete Campaign Automation
Transform your Google Ads management with the most comprehensive MCP server available - from campaign creation to advanced optimization, all through natural language AI commands.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/grantweston/google-ads-mcp-complete'
If you have feedback or need assistance with the MCP directory API, please join our Discord server