Dry-run
Every write previews through the same guard. Kill switch off means dry-run, not a fake 200.
Paste one MCP URL. Sign into Google in the browser. Every write goes through dry-run, house rules, and an audit row with undo. The agency OS you already run stays where it is.
https://mcp.qwebmaster.com/google_adsRaw Google Ads MCP is three read-only tools and a developer token. Hosted write wrappers pause campaigns and hope. This path is the one we already use on live accounts: Display expansion off, bidding targets that survive the adapter, negatives that are actually attached, conversion actions, offline conversions through Data Manager. The method is compiled onto the execution layer. It is not a wiki the model has to remember to open.
Every write previews through the same guard. Kill switch off means dry-run, not a fake 200.
QWEBMASTER-OS rules attach at describe_action. Deterministic checks can fail a dry-run with a rule id.
Every MCP call is a row: tool, client, dry-run or live, duration, error. Every write is an ActionExecution with state before, rollback action, and an Undo that runs the inverse through the same guard.
Agents call report_issue. You get an inbox. Their corporates do not leak into your playbooks.
One Google login, many client accounts. Platform allowlist so this tenant cannot connect Meta.
| Official Google MCP | Typical hosted MCP | QWeb Ads | |
|---|---|---|---|
| Writes | No | Pause / budget, often live | Dry-run, then live, then re-read |
| Developer token | You bring it | Vendor | Vendor |
| House rules | None | None | Compiled from QWEBMASTER-OS |
| Undo | No | Rare | Stored inverse through the guard |
| Agency OS | No | No | Same core. app.qwebmaster.com unchanged |
mcp.qwebmaster.com/google_ads
Search, PMax, bidding, negatives, conversion actions, Data Manager. Live now.
mcp.qwebmaster.com/ga4
Same vault, same guard. Pack exists. Connect when you want it.
mcp.qwebmaster.com/gtm
Publish stays a level-3 live-approval action. Same core.
Agency work continues at app.qwebmaster.com. This host is the product face. One adapter. One execution engine. No copied OS.
Open the panel