The Model Context Protocol (MCP) is an open standard that enables Large Language Models (LLMs) to securely interact with external data and applications. The Google Ads MCP server provides a standardized bridge to the Google Ads API, allowing AI agents to analyze and retrieve campaign data using natural language.
Technical overview
By implementing this MCP server, you eliminate the need to write custom "glue code" for Google Ads API authentication, resource fetching, and data parsing. The server exposes specific tools that an LLM can discover and invoke autonomously.
Key specifications
- Protocol: MCP (Model Context Protocol)
- Mode: Read-only (current release)
- Language: Python
- Transport: Standard input/output (
stdio) - Authentication: OAuth 2.0 or service account
How the interaction loop works
- Request: A user submits a query such as "How is my campaign performance this week?".
- Discovery: The LLM inspects its available tools and identifies the
google-ads-mcpsearch capabilities. - Execution: The MCP server executes the underlying Python logic to query the Google Ads API.
- Context injection: Structured results are returned to the LLM's context window.
- Response: The LLM synthesizes the data into a human-readable answer.
Get started
Follow these steps to configure and use the Google Ads MCP server.
Prerequisites
Before configuration, ensure you have the following credentials from the Google Ads Developer console:
- Developer token: Your unique 22-character access string.
- Project ID: Your Google Cloud project identifier.
- Credentials file: An authorized
credentials.json(OAuth 2.0 or service account).
Configuration
To integrate the server into an MCP-compatible host, add the following entry to
your host's MCP configuration file (e.g., settings.json). Consult your host's
documentation for the exact location and filename of this configuration.
JSON
{
"mcpServers": {
"google-ads-mcp": {
"command": "pipx",
"args": [
"run",
"--spec",
"git+https://github.com/googleads/google-ads-mcp.git",
"google-ads-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/credentials.json",
"GOOGLE_PROJECT_ID": "YOUR_PROJECT_ID",
"GOOGLE_ADS_DEVELOPER_TOKEN": "YOUR_DEVELOPER_TOKEN"
}
}
}
}
Core capabilities (tools)
The server exposes tools designed for account discovery and performance reporting:
list_accessible_customers: Returns the list of Google Ads customer IDs and account names accessible to the authenticated user.search: Executes Google Ads Query Language (GAQL) requests to fetch campaign metrics, budgets, and status.
Sample prompts to start
Ask what the server can do:
What can the google-ads-mcp server do?
Ask about customers:
What customers do I have access to?
Ask about campaigns:
How many active campaigns do I have?
How is my campaign performance this week?
Community resources and support
- GitHub Repository: Find demos, examples, and report bugs or suggest features in the google-ads-mcp repository. Use the issues tab for bug reports and feature requests.
- Community: Join the
#ads-api-ai-toolschannel on the Google Advertising Community Discord.