google_ads_mcp_server
This repo has been archived in favor of: https://github.com/googleads/google-ads-mcp
claude mcp add --transport stdio google-marketing-solutions-google_ads_mcp_server uvx --directory path/to/google_ads_mcp run server \ --env USE_PROTO_PLUS="true" \ --env JSON_KEY_FILE_PATH="Path to service account JSON key" \ --env GOOGLE_ADS_DEVELOPER_TOKEN="Your developer token" \ --env GOOGLE_ADS_LOGIN_CUSTOMER_ID="Your login customer ID"
How to use
This Google Ads MCP server provides a standardized way to integrate a large language model (LLM) with Google Ads by exposing a small set of tools that query and inspect Google Ads data. The server offers at least two tools: list_accounts, which lists all available Google Ads accounts, and search_stream, which runs a GAQL query against a specified customer_id. You can use these tools to fetch account metadata, discover available campaigns or queries, and feed results into your LLM-driven workflows. To use the server with Gemini or other MCP tooling, point your MCP client to the googleAdsMcpServer configuration and invoke the run server command to start the local or remote MCP service, allowing your agent to call the available tools and receive structured results.
How to install
Prerequisites:
- Python 3.8+ installed on your system
- uv (Python package) installed or accessible via your environment
- Access to Google Ads API with a service account and the appropriate credentials
Installation steps:
-
Install the required Python/MCP tooling (example using uvx):
pip install uvx
-
Prepare Google Ads credentials:
- Create a Google Cloud project and enable Google Ads API
- Create a service account and download the JSON key
- Place the key and configuration in a secure location
- Create a google-ads.yaml configuration file as described in the Google Ads API docs, and ensure the file contains the necessary fields (developer_token, login_customer_id, json_key_file_path, use_proto_plus)
-
Clone or download the google_ads_mcp_server repository to a directory on your machine.
-
Start the MCP server using uvx (or the equivalent command in your environment):
uvx --directory path/to/google_ads_mcp run server
-
Verify the server is running and reachable via your MCP client or Gemini CLI configuration.
Note: Replace path/to/google_ads_mcp with the actual path to your downloaded/google_ads_mcp_server codebase.
Additional notes
Environment variables and configuration:
- Ensure GOOGLE_ADS_DEVELOPER_TOKEN, GOOGLE_ADS_LOGIN_CUSTOMER_ID, and JSON_KEY_FILE_PATH are correctly set in your environment or in the google-ads.yaml file.
- The USE_PROTO_PLUS flag can be toggled depending on whether your client expects proto_plus support.
- If you run into authentication or quota errors, verify that the service account has the necessary Google Ads API permissions and that the developer token is valid.
- When integrating with Gemini CLI or other MCP clients, ensure the MCP server's directory path is correctly provided in the client settings (as shown in the example in the README).
Related MCP Servers
Everywhere
Context-aware AI assistant for your desktop. Ready to respond intelligently, seamlessly integrating multiple LLMs and MCP tools.
claude-debugs-for-you
Enable any LLM (e.g. Claude) to interactively debug any language for you via MCP and a VS Code Extension
droidmind
Control your Android devices with AI using Model Context Protocol
openapi
OpenAPI definitions, converters and LLM function calling schema composer.
lc2mcp
Convert LangChain tools to FastMCP tools
robot_MCP
A simple MCP server for the SO-ARM100 control