Skip to content

feat(google-ads): add Google Ads plugin (official google-ads-mcp server) - #322

Open
SamSokolin wants to merge 1 commit into
mainfrom
cursor/google-ads-plugin-06d7
Open

feat(google-ads): add Google Ads plugin (official google-ads-mcp server)#322
SamSokolin wants to merge 1 commit into
mainfrom
cursor/google-ads-plugin-06d7

Conversation

@SamSokolin

Copy link
Copy Markdown
Collaborator

Adds third_party/google-ads, a plugin for Google's official Google Ads MCP server, and registers it in marketplace.json and the root README. Scaffold mirrors the existing third_party/ plugins (plugin.json, mcp.json, README.md, CHANGELOG.md, LICENSE, assets/logo.svg).

Install config

Google does not publish a hosted remote MCP endpoint for Google Ads (unlike gmailmcp.googleapis.com for Gmail). The official server is a Python package that runs locally over stdio, or that you self-host on Cloud Run. mcp.json therefore uses the exact pipx run configuration from Google's developer integration guide and the repo README:

{
  "mcpServers": {
    "google-ads": {
      "type": "stdio",
      "command": "pipx",
      "args": ["run", "--spec", "git+https://github.com/googleads/google-ads-mcp.git", "google-ads-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}",
        "GOOGLE_PROJECT_ID": "${GOOGLE_PROJECT_ID}",
        "GOOGLE_ADS_DEVELOPER_TOKEN": "${GOOGLE_ADS_DEVELOPER_TOKEN}"
      }
    }
  }
}

This follows the same stdio + variables pattern as third_party/xero. The three env vars are declared as required variables in plugin.json. GOOGLE_ADS_LOGIN_CUSTOMER_ID (manager accounts only) is documented as a manual env addition rather than an optional variable, since no plugin in the repo currently relies on optional-variable substitution. Verified against the server source that GOOGLE_ADS_DEVELOPER_TOKEN is required and credentials are resolved via Application Default Credentials with the https://www.googleapis.com/auth/adwords scope.

No client IDs, secrets, or tokens are bundled.

README

Covers the requested caveats:

  • Requires a Google Ads API developer token (with at least Explorer access for production accounts).
  • Requires the Ads-specific OAuth scope https://www.googleapis.com/auth/adwords, authorized with the user's own OAuth client in a Cloud project where the Google Ads API is enabled.
  • Explicitly states this is not a drop-in reuse of the Gmail/Drive/Calendar Workspace sign-in, and explains why.
  • Step-by-step setup (pipx, developer token, enable API, OAuth client, gcloud auth application-default login, configure variables), manager-account note, tool/resource table (the official server is read-only), and the self-hosted Cloud Run http alternative.

Logo

Official Google Ads product icon (geometry and brand colors of https://www.gstatic.com/images/branding/productlogos/ads/v5/192px.svg) on a padded white 192×192 tile, matching the Gmail/Drive/Calendar plugins. Note for reviewers: gstatic.com was not reachable from the agent VM, so the path data was taken from a vendored copy of that icon rather than the gstatic file itself; worth a quick eyeball against the original.

Validation

node scripts/validate-plugins.mjs passes.

Open in Web Open in Cursor 

Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants