Google Analytics MCP · safety architecture
Reports are easy. Archive is a one-way door.
Reporting is read-only. createKeyEvent and deleteKeyEvent are inverses. archiveCustomDimension is irreversible and cannot reuse parameterName. Writes wait for approval. runScript never wraps mutations.
Last verified · September 17, 2026 · NotFair product team
The NotFair GA4 write contract
Read freely. Label irreversible config before approval.
NotFair advertises 12 Google Analytics tools. Google requires analytics.readonly and analytics.edit for this combined surface.
- 01
List properties
The agent discovers GA4 properties and targets one explicitly.
- 02
Run reports
Data API and realtime reports include sampling and (other)-row caveats. runScript never mutates.
- 03
Preview config writes
Key-event and custom-dimension mutations show the intended parameter before approval.
- 04
Approve
Execution waits for explicit user approval.
- 05
Inverse or irreversible
Key-event create/delete reverse each other. archiveCustomDimension cannot be undone.
- 06
No ads impact snapshot
Google Ads impact review is not claimed for GA4.
Evidence table
What each control prevents
| Control | What it protects against | What the operator sees |
|---|---|---|
| Read/write split | Treating reports as mutations | runReport stays read-only |
| runScript boundary | Silent config writes inside a report fan-out | Mutations cannot be wrapped in runScript |
| Approval gate | Unexpected key-event or dimension changes | The staged Admin API operation |
| Archive warning | Believing archive can be undone | Irreversible label before confirm |
Limits and honest boundaries
- Archiving a custom dimension cannot be undone, and parameterName cannot be reused.
- Key-event create/delete are inverses; they are not Google Ads undo.
- Sampling and (other) rows can still mislead a model that ignores freshness metadata.
- Google requires both analytics.readonly and analytics.edit for this combined surface. NotFair does not claim Google Ads impact review on GA4.
Frequently asked questions
No. createCustomDimension, archiveCustomDimension, createKeyEvent, and deleteKeyEvent wait for explicit approval. Reporting tools are read-only.
No. Archiving is irreversible and parameterName cannot be reused. createKeyEvent and deleteKeyEvent are inverses.
No. runScript fans out up to five reports and never wraps mutations.
No. Google Ads impact review and undo are not claimed for Google Analytics.