Skip to main content

jarrah-gads-mcp

A minimal MCP server that exposes Google Ads query capabilities as tools for use with Claude and other MCP clients.

Tools

Tool Description
run_gaql Execute any GAQL query against the configured account
list_accounts List all accounts accessible with the refresh token
list_client_accounts List leaf accounts under an MCC manager
get_campaign_metrics Campaign spend, impressions, clicks, and impression share by date/device/channel
get_conversion_actions Enabled conversions with 90-day volume
get_quality_scores Keyword quality scores with ad relevance, landing page, and CTR components
get_ad_creative RSA headlines, descriptions, and final URLs for all active ads

Setup

1. Install

pip install jarrah-gads-mcp

2. Configure credentials

Create a .env file in your working directory:

GOOGLE_ADS_DEVELOPER_TOKEN=your_developer_token
GOOGLE_ADS_CLIENT_ID=your_client_id
GOOGLE_ADS_CLIENT_SECRET=your_client_secret
GOOGLE_ADS_REFRESH_TOKEN=your_refresh_token
GOOGLE_ADS_CUSTOMER_ID=123-456-7890
# GOOGLE_ADS_LOGIN_CUSTOMER_ID=  # only needed for MCC manager accounts
Variable Required Notes
GOOGLE_ADS_DEVELOPER_TOKEN Yes From Google Ads API Centre
GOOGLE_ADS_CLIENT_ID Yes Google Cloud Console OAuth app
GOOGLE_ADS_CLIENT_SECRET Yes Google Cloud Console OAuth app
GOOGLE_ADS_REFRESH_TOKEN Yes OAuth refresh token for the account to query
GOOGLE_ADS_CUSTOMER_ID Yes Account to query (digits only or with dashes)
GOOGLE_ADS_LOGIN_CUSTOMER_ID No MCC manager ID — only needed when querying through a manager account

3. Add to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "google-ads": {
      "command": "uvx",
      "args": ["jarrah-gads-mcp"]
    }
  }
}

Restart Claude Desktop. The tools will appear in the tools panel.

GAQL notes

  • run_gaql uses search() (not search_stream) — suitable for ad-hoc queries up to 100 rows.
  • Always include a date filter; the Google Ads API rejects most queries without one.
  • Customer ID dashes are stripped automatically before the API call.

Source

github.com/jarrah-agency/google-ads-mcp

Metadata

Release files for jarrah-gads-mcp 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jarrah-gads-mcp 0.1.1
File Size Uploaded Provenance Actions
jarrah_gads_mcp-0.1.1.tar.gz 25.7 kB Without provenance Details for jarrah_gads_mcp-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jarrah-gads-mcp 0.1.1
File Interpreter ABI Platform Actions
jarrah_gads_mcp-0.1.1-py3-none-any.whl Python 3 none any Details for jarrah_gads_mcp-0.1.1-py3-none-any.whl

Total release size: 44.6 kB

Release files / jarrah_gads_mcp-0.1.1.tar.gz

Download URL jarrah_gads_mcp-0.1.1.tar.gz
Size 25.7 kB
Tags Source
SHA-256 checksum
How to use checksums
dd2cd2bd4bd6ce80d7b6cb0867940417aed1a52474d5482234cb904bc481fc9c
BLAKE2b-256 checksum
How to use checksums
31da1647fc06ccd323b2ba794fed4be41855ff0c5ec5c22940875f177c8a98a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Release files / jarrah_gads_mcp-0.1.1-py3-none-any.whl

Download URL jarrah_gads_mcp-0.1.1-py3-none-any.whl
Size 18.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c976df4ef8bcf6eef2ea3c06cacf9aa1b387c2a9f77929d7186bfc7389f7371
BLAKE2b-256 checksum
How to use checksums
11c72881ba0eca09fff0cd8d66614e7c143db6c75bedfffca62cec01925c278d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.0

Security for jarrah-gads-mcp 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page