Created 2026-05-22. Canonical operating rules for the google-ads-mcp skill. The SKILL.md file is read-only in the Cowork environment, so this Notion page is the source of truth. When the skill file next becomes editable, add a one-line pointer to this page near the top.
The Google Ads lane in Cowork is the NotFair Google Ads MCP, not the pipx fork in the current SKILL.md body. Tool namespace: mcp__f17b8372-f34f-4cf9-b565-a26180b7a3b4__*. Primary tool is runScript — a read-only GAQL sandbox where ads.gaqlParallel fans out up to 20 queries per call. Mutations use the dedicated tools (addNegativeKeyword, bulkPauseKeywords, updateBid, etc.). SAIL search account: CID 3813916687. The fork-based pipx MCP and its install/troubleshooting steps remain valid as the self-hosted ALTERNATE lane (Path B) but are not what runs in Cowork today.
The NotFair free tier allows 300 Google Ads operations per month. Each GAQL query inside a runScript / gaqlParallel batch counts as one operation. The cap resets monthly on the account billing date. It exhausted on 2026-05-22 with a reset of 2026-06-15.
When the cap is hit the tool returns NOTFAIR_QUOTA_EXHAUSTED with retryable:false and an explicit instruction not to retry. Do not retry on this error. Read the resetsAt timestamp in the error payload before assuming the lane is usable again.
Budgeting: a weekly performance batch is ~8 operations; a daily-negatives run is ~7. Daily-negatives alone across a month (~210 ops) plus the weekly tasks can exceed 300. While on the free tier, watch the monthly total. The clean fix is upgrading NotFair to Growth (https://notfair.co/upgrade), which removes the cap.
runScript — preferred whenever quota is available.ENOSPC and an OAuth consent screen stuck in Testing mode (weekly refresh-token expiry). Needs both fixed before it is reliable.Do not hard-fail a scheduled run. Produce a deliverable containing: the block and every lane attempted, the audit framework with pass/fail thresholds, the last-known baseline from the most recent successful run, the staged read-only runScript GAQL batch ready to execute on restore, and carry-forward recommendations. Always finish with a Notion session export to the SAIL Knowledge Base flagged Needs Follow-up, plus a clickable multiple-choice self-audit. This is the standing pattern for all google-ads-* scheduled tasks.
project_oauth_blocked_streak.md.notfair-quota-check (created 2026-05-22) probes the lane and estimates month-to-date consumption.