feat(google-ads): add Google Ads plugin (official google-ads-mcp server) - #322
Open
SamSokolin wants to merge 1 commit into
Open
feat(google-ads): add Google Ads plugin (official google-ads-mcp server)#322SamSokolin wants to merge 1 commit into
SamSokolin wants to merge 1 commit into
Conversation
Co-authored-by: Sam Sokolin <SamSokolin@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
third_party/google-ads, a plugin for Google's official Google Ads MCP server, and registers it inmarketplace.jsonand the root README. Scaffold mirrors the existingthird_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.comfor Gmail). The official server is a Python package that runs locally over stdio, or that you self-host on Cloud Run.mcp.jsontherefore uses the exactpipx runconfiguration 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 +
variablespattern asthird_party/xero. The three env vars are declared as requiredvariablesinplugin.json.GOOGLE_ADS_LOGIN_CUSTOMER_ID(manager accounts only) is documented as a manualenvaddition rather than an optional variable, since no plugin in the repo currently relies on optional-variable substitution. Verified against the server source thatGOOGLE_ADS_DEVELOPER_TOKENis required and credentials are resolved via Application Default Credentials with thehttps://www.googleapis.com/auth/adwordsscope.No client IDs, secrets, or tokens are bundled.
README
Covers the requested caveats:
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.gcloud auth application-default login, configure variables), manager-account note, tool/resource table (the official server is read-only), and the self-hosted Cloud Runhttpalternative.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.comwas 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.mjspasses.