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.
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., "@Google Ads MCP Servershow me last month's campaign performance"
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 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: Marketing Automation MCP Server
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).
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/saikrishna406/Mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server