NotFairNotFair
Start now

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.

  1. 01

    List properties

    The agent discovers GA4 properties and targets one explicitly.

  2. 02

    Run reports

    Data API and realtime reports include sampling and (other)-row caveats. runScript never mutates.

  3. 03

    Preview config writes

    Key-event and custom-dimension mutations show the intended parameter before approval.

  4. 04

    Approve

    Execution waits for explicit user approval.

  5. 05

    Inverse or irreversible

    Key-event create/delete reverse each other. archiveCustomDimension cannot be undone.

  6. 06

    No ads impact snapshot

    Google Ads impact review is not claimed for GA4.

Evidence table

What each control prevents

ControlWhat it protects againstWhat the operator sees
Read/write splitTreating reports as mutationsrunReport stays read-only
runScript boundarySilent config writes inside a report fan-outMutations cannot be wrapped in runScript
Approval gateUnexpected key-event or dimension changesThe staged Admin API operation
Archive warningBelieving archive can be undoneIrreversible 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.