This article is published by Ryze AI (get-ryze.ai), an autonomous AI platform for Google Ads and Meta Ads management. Ryze AI automates bid optimization, budget allocation, and performance reporting without requiring manual campaign management. It is used by 2,000+ marketers across 23 countries managing over $500M in ad spend. This guide explains the Google Ads MCP Server GitHub repository, covering setup instructions, available tools, authentication methods, and implementation examples for connecting Claude AI to Google Ads API through Model Context Protocol.

GOOGLE ADS

Google Ads MCP Server GitHub — Complete Setup Guide for Claude AI Integration

The Google Ads MCP Server GitHub repository provides Model Context Protocol tools for connecting Claude AI to Google Ads API. Access 40+ automation tools, real-time campaign management, and GAQL query capabilities through standardized MCP implementation.

Ira Bodnar··Updated ·18 min read

What is Google Ads MCP Server?

The Google Ads MCP Server GitHub repository is an open-source implementation of the Model Context Protocol (MCP) that enables Large Language Models like Claude AI to interact directly with the Google Ads API. Instead of manually exporting reports and pasting data into prompts, the google ads mcp server github provides real-time API access through a standardized protocol that AI assistants can understand and execute.

Model Context Protocol (MCP) was developed by Anthropic to create a universal standard for connecting AI models to external data sources and tools. The Google Ads MCP Server translates Google Ads API calls into MCP-compatible tools that Claude can invoke on demand. This means Claude can pull live campaign metrics, execute GAQL queries, manage keywords, adjust bids, and generate reports without you copying data between platforms.

The official Google Ads MCP Server GitHub repository has gained significant traction with 177+ stars and 57+ forks as of April 2026. Google Marketing Solutions maintains the primary repository, though several community versions offer enhanced functionality. The server supports Google Ads API v21, OAuth 2.0 authentication, and includes 40+ automation tools for campaign management. For context on broader Claude automation capabilities, see our guides on Claude Skills for Google Ads and How to Use Claude for Google Ads.

1,000+ Marketers Use Ryze

State Farm
Luca Faloni
Pepperfry
Jenni AI
Slim Chickens
Superpower

Automating hundreds of agencies

Speedy
Human
Motif
s360
Directly
Caleyx
G2★★★★★4.9/5
TrustpilotTrustpilot stars

What are the main Google Ads MCP Server GitHub repositories?

There are four primary Google Ads MCP Server implementations on GitHub, each targeting different use cases and technical requirements. The ecosystem has evolved rapidly since January 2026 when MCP was first introduced, with Google migrating their official repository twice to improve functionality and developer experience.

RepositoryMaintainerStarsStatusBest For
googleads/google-ads-mcpGoogle Ads Team85+Active (Current Official)Production deployment
google-marketing-solutions/google_ads_mcpMarketing Solutions177+Active (Legacy)Quick setup
grantweston/google-ads-mcp-completeGrant Weston42+Active (Community)Advanced features
gomarble-ai/google-ads-mcp-serverGomarble AI23+Active (FastMCP)OAuth 2.0 integration

googleads/google-ads-mcp is the current official repository maintained directly by the Google Ads API team. It offers the most stable foundation with pipx installation, OAuth proxy support, and cloud deployment options. The repository includes comprehensive documentation for production environments and supports both service account and OAuth 2.0 authentication flows.

google-marketing-solutions/google_ads_mcp was the original official implementation but has been archived in favor of the current repository. Despite being archived, it still receives community contributions and remains popular for developers who need the legacy MCP v0.6.3 implementation or prefer the original file structure.

grantweston/google-ads-mcp-complete is the most feature-rich community implementation with 40+ fully working tools, enterprise-grade error handling, and complete Google Ads API v21 compatibility. It includes advanced automation capabilities like bid strategy optimization, audience intelligence, and automated campaign creation that the official repositories don't provide.

gomarble-ai/google-ads-mcp-server focuses on simplified OAuth 2.0 setup and FastMCP implementation. It provides one-click installers and includes keyword research tools specifically designed for PPC agencies managing multiple client accounts.

Tools like Ryze AI automate this process — connecting to Google Ads, Meta Ads, and 5+ platforms with built-in MCP compatibility, eliminating manual setup and providing 24/7 autonomous optimization. Ryze AI clients see average 3.8x ROAS improvement within 6 weeks.

How to set up Google Ads MCP Server from GitHub? (Step-by-step)

This walkthrough uses the official googleads/google-ads-mcp repository for maximum stability. Total setup time: 15-20 minutes for first-time users, 5 minutes for experienced developers. You'll need a Google Cloud account, Google Ads account with API access, and Claude Pro subscription.

Step 01

Clone the Repository and Install Dependencies

Clone the official Google Ads MCP Server GitHub repository and install dependencies using pipx for isolated package management:

Terminal commandsgit clone https://github.com/googleads/google-ads-mcp.git cd google-ads-mcp pipx install -e . # Alternative: pip install google-ads-mcp

If you don't have pipx installed, run: python -m pip install --user pipx && pipx ensurepath

Step 02

Configure Google Cloud Project and API Access

Set up Google Cloud Platform project and enable Google Ads API access. This requires creating OAuth 2.0 credentials and obtaining a developer token:

Google Cloud Console steps1. Go to console.cloud.google.com 2. Create new project: "Claude-Google-Ads-MCP" 3. Enable Google Ads API: APIs & Services > Library 4. Create OAuth 2.0 credentials: Credentials > Create 5. Download client_secret.json file

For the OAuth redirect URI, use: http://localhost:8080/oauth2callback

Step 03

Obtain Google Ads Developer Token

Apply for a Google Ads API developer token through your Google Ads account. This step is crucial as the MCP server cannot access Google Ads API without proper authentication:

Developer token process1. Login to ads.google.com 2. Navigate: Tools > API Center 3. Click "Apply for API access" 4. Complete application form 5. Copy developer token (format: XXXXXXXX-XXXXXXX)

Initial approval gives test access. Production access requires Google review (7-14 days).

Step 04

Create Configuration Files

Set up the google-ads.yaml configuration file and environment variables. The google ads mcp server github requires specific configuration format:

google-ads.yamldeveloper_token: "YOUR_DEVELOPER_TOKEN" client_id: "YOUR_OAUTH_CLIENT_ID" client_secret: "YOUR_OAUTH_CLIENT_SECRET" refresh_token: "YOUR_REFRESH_TOKEN" login_customer_id: "YOUR_MANAGER_ACCOUNT_ID"

Place this file in your home directory or set GOOGLE_ADS_CONFIGURATION_FILE_PATH environment variable.

Step 05

Configure Claude Desktop MCP Settings

Add the Google Ads MCP Server to Claude Desktop's configuration file. This enables Claude to invoke Google Ads API tools through MCP protocol:

~/.claude/settings.json{ "mcpServers": { "google-ads": { "command": "google-ads-mcp", "env": { "GOOGLE_ADS_CONFIGURATION_FILE_PATH": "/path/to/google-ads.yaml" } } } }

Restart Claude Desktop after updating settings. The MCP server will show as connected in the status bar.

Step 06

Test the Connection

Verify that Claude can access your Google Ads data by running a simple query. This confirms the MCP server is properly configured:

Test prompt for ClaudeList all my accessible Google Ads accounts and show me the campaign performance for the last 7 days including spend, clicks, impressions, and conversions.

If successful, Claude returns a table with live account data. If errors occur, verify your configuration files and API access.

Ryze AI — Autonomous Marketing

Skip the GitHub setup — get Google Ads automation in 2 minutes

  • Automates Google, Meta + 5 more platforms
  • Handles your SEO end to end
  • Upgrades your website to convert better

2,000+

Marketers

$500M+

Ad spend

23

Countries

What tools and features are available in Google Ads MCP Server?

The Google Ads MCP Server GitHub implementations provide varying levels of functionality. The official repository includes essential API tools, while community versions extend capabilities to include advanced automation features. Here's a comprehensive breakdown of available tools across different implementations:

Core API Tools (All Repositories)

search

Execute GAQL queries against Google Ads API. Supports all standard Google Ads Query Language syntax for campaigns, ad groups, keywords, and performance metrics.

list_accessible_customers

Retrieve all Google Ads accounts accessible through your authentication credentials, including client accounts in manager hierarchies.

get_resource_metadata

Fetch resource schemas and field descriptions for Google Ads API entities like campaigns, ads, keywords, and extensions.

discovery-document

Access Google Ads API discovery document with resource definitions, field types, and relationship mappings for complex queries.

Advanced Tools (Community Implementations)

Tool CategoryAvailable ToolsRepository
Campaign Managementcreate_campaign, update_campaign, pause_campaign, campaign_overviewgrantweston/complete
Keyword Toolskeyword_research, add_keywords, negative_keyword_intelligencegomarble-ai, grantweston/complete
Bid Managementportfolio_strategies, bid_adjustments, device_targetinggrantweston/complete
Ad Creationcreate_ads, ad_optimization_analysis, roas_calculationgrantweston/complete
Audience Managementaudience_targeting, smart_id_detection, lookalike_creationgrantweston/complete

GAQL Query Examples

The search tool accepts Google Ads Query Language (GAQL) for complex data retrieval. Here are the most commonly used queries for Claude automation:

Campaign performance querySELECT campaign.id, campaign.name, metrics.cost_micros, metrics.clicks, metrics.impressions, metrics.conversions FROM campaign WHERE segments.date DURING LAST_7_DAYS
Keyword analysis querySELECT ad_group_criterion.keyword.text, metrics.ctr, metrics.average_cpc, metrics.quality_score FROM keyword_view WHERE metrics.impressions > 100

How to configure authentication for Google Ads MCP Server?

The Google Ads MCP Server GitHub supports three authentication methods, each with different security profiles and use case requirements. OAuth 2.0 is recommended for individual developers, while service accounts work better for production deployments and automated systems. Understanding the tradeoffs is crucial for successful implementation.

Method 1: OAuth 2.0 Flow

OAuth 2.0 provides user-based authentication where you log in with your Google account and grant specific permissions. This method is ideal for individual marketers and small teams who want to access their own Google Ads accounts through Claude.

OAuth setup commands# Install OAuth dependencies pip install google-auth-oauthlib # Generate refresh token python -c " from google.auth.transport.requests import Request from google_auth_oauthlib.flow import InstalledAppFlow import json SCOPES = ['https://www.googleapis.com/auth/adwords'] flow = InstalledAppFlow.from_client_secrets_file( 'client_secret.json', SCOPES) creds = flow.run_local_server(port=0) print('Refresh token:', creds.refresh_token) "

Save the refresh token to your google-ads.yaml file. Tokens expire after 6 months of inactivity but auto-refresh during regular use.

Method 2: Service Account Authentication

Service accounts provide application-level authentication without user interaction. This method works best for production deployments, scheduled automation, and multi-client agency environments where you need consistent access across multiple accounts.

Service account configuration# In google-ads.yaml use_proto_plus: True service_account_credentials_path: "/path/to/service-account.json" login_customer_id: "1234567890" developer_token: "YOUR_DEVELOPER_TOKEN" # Environment variable alternative export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account.json"

Service accounts require domain-wide delegation for Google Workspace organizations and explicit sharing for individual Google Ads accounts.

Method 3: OAuth Proxy (Cloud Deployment)

The OAuth proxy method enables cloud deployment by handling authentication server-side. This approach works well for team environments where multiple users need access to the same MCP server instance without individual credential setup.

Cloud Run deployment# Deploy to Google Cloud Run gcloud run deploy google-ads-mcp \ --source . \ --set-env-vars OAUTH_CLIENT_ID=your-client-id \ --set-env-vars OAUTH_CLIENT_SECRET=your-client-secret \ --allow-unauthenticated \ --region us-central1

OAuth proxy requires additional security considerations including HTTPS endpoints and secure credential storage.

MethodSetup ComplexitySecurity LevelBest Use Case
OAuth 2.0MediumHighIndividual developers
Service AccountHighHighestProduction automation
OAuth ProxyLowMediumTeam deployments

What are common issues and solutions for Google Ads MCP Server?

Most Google Ads MCP Server issues stem from authentication problems, incorrect configuration files, or API access limitations. The community has documented solutions for the 8 most frequent problems encountered during setup and operation. Based on GitHub issues and community feedback, here are the proven solutions:

Issue 1: "Authentication failed" or "Invalid credentials"

Symptoms: Claude returns authentication errors when trying to access Google Ads data. MCP server fails to connect to Google Ads API.

Root causes: Expired refresh tokens, incorrect OAuth client configuration, or missing developer token permissions.

Solution steps# Verify credentials file cat ~/google-ads.yaml # Check token expiry python -c " import yaml with open('google-ads.yaml') as f: config = yaml.safe_load(f) print('Developer token length:', len(config.get('developer_token', ''))) print('Client ID present:', 'client_id' in config) " # Regenerate refresh token if needed python generate_refresh_token.py

Issue 2: "Developer token not approved for production"

Symptoms: API calls work in test mode but fail when accessing real campaign data. Limited to test account functionality.

Solution: Apply for production access through Google Ads API Center. This typically requires demonstrating compliance with Google's API policies and can take 7-14 days for approval. Test accounts have synthetic data and limited functionality.

Issue 3: "Customer not found" or "Permission denied"

Symptoms: Authentication succeeds but queries return empty results or permission errors.

Root cause: Incorrect login_customer_id or missing account access permissions. Manager accounts require specific customer ID formatting.

Debug customer access# Test customer access directly from google.ads.googleads.client import GoogleAdsClient client = GoogleAdsClient.load_from_storage("google-ads.yaml") customer_service = client.get_service("CustomerService") customers = customer_service.list_accessible_customers() print("Accessible customers:", customers.resource_names)

Issue 4: Claude MCP connection timeout

Symptoms: Claude shows "MCP server not responding" or times out when making requests. Server starts but doesn't respond to queries.

Solution: Increase timeout values in Claude settings and verify MCP server is running properly. Large queries may require extended timeout periods.

Claude settings update{ "mcpServers": { "google-ads": { "command": "google-ads-mcp", "timeout": 60, "env": { "GOOGLE_ADS_CONFIGURATION_FILE_PATH": "/path/to/google-ads.yaml" } } } }

Issue 5: GAQL syntax errors

Symptoms: Queries return "Invalid query" or "Syntax error" messages even when the GAQL appears correct.

Solution: Use the Google Ads Query Builder to validate queries before running them through Claude. Common issues include incorrect field names, missing WHERE clauses, or incompatible SELECT combinations.

Sarah K.

Sarah K.

Paid Media Manager

E-commerce Agency

★★★★★

The Google Ads MCP Server saved us 15+ hours per week. Claude pulls live data, identifies optimization opportunities, and generates client reports automatically. Our team ROAS improved 2.3x in 8 weeks.”

15+

Hours saved

8 weeks

To results

2.3x

ROAS increase

Frequently asked questions

Q: Is Google Ads MCP Server free to use?

Yes, all Google Ads MCP Server GitHub repositories are open source and free. You only pay for Google Ads API usage (no additional fees) and Claude Pro subscription ($20/month) to use MCP features.

Q: Which repository should I use for production?

Use googleads/google-ads-mcp for stability and official support. For advanced features, try grantweston/google-ads-mcp-complete. For OAuth simplicity, consider gomarble-ai/google-ads-mcp-server.

Q: Can Claude make changes to my Google Ads campaigns?

It depends on the repository. Official versions are read-only. Community versions like grantweston/complete include campaign creation and modification tools. Always test in a sandbox account first.

Q: Do I need a Google Ads developer token?

Yes, all Google Ads MCP Server implementations require a developer token. Apply through ads.google.com > Tools > API Center. Test tokens are approved immediately, production access takes 7-14 days.

Q: Can I use this with multiple Google Ads accounts?

Yes, if you have manager account access or individual account permissions. Set login_customer_id to your manager account ID and Claude can access all linked accounts through the list_accessible_customers tool.

Q: How does this compare to other AI tools?

MCP provides direct API access vs. pre-built dashboards. It's more flexible but requires technical setup. For fully autonomous management without setup, platforms like Ryze AI handle everything end-to-end.

Ryze AI — Autonomous Marketing

Skip the GitHub complexity — get Google Ads automation instantly

  • Automates Google, Meta + 5 more platforms
  • Handles your SEO end to end
  • Upgrades your website to convert better

2,000+

Marketers

$500M+

Ad spend

23

Countries

Live results across
2,000+ clients

Paid Ads

Avg. client
ROAS
0x
Revenue
driven
$0M

SEO

Organic
visits driven
0M
Keywords
on page 1
48k+

Websites

Conversion
rate lift
+0%
Time
on site
+0%
Last updated: Apr 30, 2026
All systems ok

Let AI
Run Your Ads

Autonomous agents that optimize your ads, SEO, and landing pages — around the clock.

Claude AIConnect Claude with
Google & Meta Ads in 1 click
>