Sam asked whether the Google Ads MCP could be created as a skill, confirmed the MCP itself should be installed, and clarified it is a fork of Google's official repo already sitting in his GitHub account. Goal: install the MCP on the Windows machine (AL0082-SAGUIAR) so it works in both Claude Desktop and Claude Code, and capture the install process as a reusable skill so future sessions do not rebuild from scratch.
The goal evolved mid-session in an important way. Late in the work, a duplicate check against the Knowledge Base surfaced a prior handoff (Google Ads MCP Write Tools, 2026-04-12) that showed this same MCP had already been installed on Sam's Mac with six custom write tools and a stdio server. Inspection of the GitHub fork confirmed those Mac-local files were never committed and pushed. The session had to be reframed: the Windows install is a second machine install of the read-only vanilla fork, not a fresh install of the write-tool-enhanced version Sam has on his Mac.
Located the fork at samaguiar1982-cpu/google-ads-mcp, parent repo googleads/google-ads-mcp, Python, Apache 2.0, default branch main. Pulled the README, pyproject.toml, and tools directory listing.
Confirmed the pipx-installable entry point in pyproject.toml is google-ads-mcp pointing to ads_mcp.server:run_server. That is the vanilla upstream entry point. The fork on GitHub has no mutate.py, no server_stdio.py, and tools/ contains only core.py, get_resource_metadata.py, and search.py.
Pulled Google Ads credentials from Notion A - Passwords page (dc6e22b8-4666-4fa0-a9c5-e3c5fe4d6c1f). Confirmed the primary OAuth client from project-claude-489923 has a working refresh token. Developer token hsQ-65334MAZh6s02rXBJA has Explorer access. MCC is 867-659-9345 (login customer ID 8676599345, no dashes). Four accessible accounts: 3813916687 main search, 1581498091 LSA Louisville, 3050138639 LSA Lexington, 8676599345 additional.
Picked existing OAuth refresh token over gcloud ADC. Reasoning: Sam already has a valid refresh token in the vault tied to aguiarlawmarketing@gmail.com, the only identity with account access. gcloud ADC could silently authenticate under a different Google identity logged into the browser, and ADC refresh tokens have a known 7-day inactivity expiry quirk in some orgs. Writing an ADC-format JSON file that mimics gcloud's output lets the Google auth library consume the existing refresh token with no browser consent required.
Three deliverables saved to /mnt/user-data/outputs/ and presented to Sam:
Checked /mnt/skills/user/ for existing skills that might overlap. Only google-ads-optimizer exists. Inspected its first 60 lines and confirmed it covers analysis and recommendations (wasted spend analysis, bid adjustments, negative keywords, Quality Score work, RSA testing) with data-source fallbacks to CSV exports and Chrome browser scraping. The new google-ads-mcp skill is genuinely new scope: MCP server install, auth operations, GAQL syntax, troubleshooting. No overlap, no duplicate skill created.