Google Ads MCP Server
Enables AI assistants to manage, report, and analyze Google Ads campaigns, including querying campaign performance, creating campaigns, updating budgets, pausing/resuming campaigns, and adding keywords or negative keywords.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Google Ads Model Context Protocol (MCP) Server
This is a Model Context Protocol (MCP) server that enables AI assistants (such as Gemini, ChatGPT, Claude, and Cursor) to manage, report, and analyze Google Ads campaigns securely.
It features an encrypted database storage for managing multiple client accounts, real-time Google Ads API integrations, and robust audit trail logging.
Features
Campaign Reporting: Query campaigns, budgets, keywords, search terms, ads, conversions, audience, and device performance metrics.
Campaign Mutations: Create campaigns, update budgets (with dry-run support), pause/resume campaigns, and add keywords or negative keywords.
Account Diagnostics: Automated account analysis to identify issues like budget constraints and list actionable optimization recommendations.
Cross-Client Performance Comparison: Compare metrics (Clicks, Cost, Conversions, CPA, ROAS) across all client accounts connected to the agency.
Encrypted Multi-Client Credentials: Securely store and encrypt OAuth refresh tokens in Supabase using AES-256-GCM.
Dual Transport Mode: Supports local command-line execution (
stdio) and cloud-ready hosting (Streamable HTTP / SSE).Comprehensive Audit Trails: Automatically logs every tool execution (reads and writes) to Supabase for enterprise compliance.
Related MCP server: Ads MCP
Setup & Local Development
1. Installation
Clone the repository and install dependencies:
npm install2. Configure Environment Variables
Copy .env.example to a new file named .env and fill in your keys:
MOCK_MODE=false
# Supabase Configurations
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_KEY=your-supabase-service-role-key
ENCRYPTION_KEY=your-32-character-encryption-key-here
# Google Ads API Credentials (from Google Cloud Console & Ads Manager Account)
GOOGLE_CLIENT_ID=your-google-oauth-client-id
GOOGLE_CLIENT_SECRET=your-google-oauth-client-secret
GOOGLE_DEVELOPER_TOKEN=your-google-ads-developer-tokenNote: Set
MOCK_MODE=trueto test the server with simulated in-memory data without requiring Google Ads API credentials.
3. Generate OAuth Refresh Token
To allow the server to access a client's Google Ads account, run the OAuth helper script:
npx tsx src/utils/authHelper.tsClick the generated link to open the browser.
Sign in with the client's Google account and grant Google Ads permissions.
The script will output a Refresh Token in your terminal.
4. Register a Client
Save and encrypt the client's details in your Supabase database:
npx tsx src/utils/registerClient.ts <google_customer_id> "<client_name>" "<refresh_token>"Example:
npx tsx src/utils/registerClient.ts 181-756-0637 "nexusdatabase" "1//0gL0Srx..."Running the Server
Stdio Mode (Default Local)
To run the server locally on your machine (for Cursor, Claude Desktop, or Gemini CLI):
# Build TypeScript
npm run build
# Start server
npm startRemote / Cloud Mode (Streamable HTTP / SSE)
Whenever a PORT environment variable is defined, the server will automatically start as a web server listening on /mcp.
$env:PORT="8080"
npm startThe server will now be accessible at http://0.0.0.0:8080/mcp.
Testing
Run the automated mock test suite to verify that all reporting, mutation, diagnostics, and database functions are working correctly:
npm testCloud Deployment
You can host this server on any cloud platform supporting Node.js (e.g., Render, Railway, or Heroku).
Connect this repository to your hosting provider.
Configure the following deployment commands:
Build Command:
npm install && npm run buildStart Command:
npm start
Add your environment variables (from
.env) in your cloud provider's dashboard.Connect your AI client (like Cursor or ChatGPT) directly using the hosted URL (e.g.
https://your-app-name.render.com/mcp).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Connect authorized ad accounts to AI assistants for audits, reporting, and approval-gated changes.
Run Google Ads and Meta Ads from ChatGPT or Claude: audit wasted spend, create and manage campaigns.
- AdCopilotDeprecatedcloud.adcopilot
Google Ads, GA4, Search Console and Tag Manager for AI assistants. Every change is proposed first.
Manage Google Ads from ChatGPT, Claude or any MCP client. Sign in with OAuth or use an API key.
Related MCP Servers
- AlicenseAqualityFmaintenanceEnables managing Google Ads campaigns through an AI assistant with read-only reporting, recommendations, and gated write operations for bids, budgets, and statuses, all backed by preview and audit logging.311MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to create, analyze, and optimize ad campaigns across Google Ads, Meta Ads, TikTok Ads, LinkedIn Ads, Amazon Ads, and ChatGPT Ads through natural language using 400+ tools.107MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI to securely access and query Google Ads account data without Google Cloud setup, using GAQL.app as a backend.38 npm50MIT
- AlicenseNot gradedqualityCmaintenanceLets AI agents query Google Ads freely while routing every write through a passkey-approved, rule-checked, audited change workflow. It issues per-agent keys, validates proposals against configurable guardrails, and applies approved changes atomically.Apache 2.0