>_

SpendSignoff documentation

The always-on operator for your ad accounts. Read and draft from your AI client — approve before anything goes live.

Start here

Quickstart

Four steps to a live SpendSignoff operator. You create an account, point your AI client at the MCP server, link Google Ads or Meta read-only, then approve the first drafted change. The connection never holds a spend scope — approval lives in the SpendSignoff app, not in OAuth.

Your AI can read and draft — it can never spend without your approval.
1

Create your SpendSignoff account

Sign up and create your workspace. The Free plan links one ad account and gives you ungated reads — you can watch the operator draft changes before you pay for anything.

  • Start by booking a demo. No card is required.
  • Flat, account-anchored plans — Free, Solo, Pro, Agency. Reads are free on every plan; you only pay to run more accounts and more drafting.
2

Connect your AI client

Add the SpendSignoff MCP server to Claude, ChatGPT, or Cursor. It connects over OAuth 2.1 and requests two scopes only: mcp.read and mcp.draft. There is no mcp.approve scope — approval never leaves the SpendSignoff app, so a connected client can read and draft but can never push a change live.

Settings → Developer → Edit Config, paste the block, then restart Claude.

claude_desktop_config.json

{
  "mcpServers": {
    "spendsignoff": {
      "url": "https://mcp.spendsignoff.com/mcp"
    }
  }
}
3

Link an ad account — read-only

OAuth into Google Ads or Meta. Both are live today. The first authorization is read-only: SpendSignoff reads spend, structure, and performance so the operator can find money. Nothing is changed yet — linking grants read access, not the ability to spend.

  • Google Ads and Meta are live now. TikTok, Microsoft, LinkedIn, and Amazon are coming soon.
  • Reads are ungated — the operator can survey the account on any plan, including Free.
  • Spend stays gated behind your explicit approval, not behind an OAuth scope. A read grant can never become a spend grant on its own.
4

Ship your first approval

The operator drafts a change — say, moving budget off a stalled ad set — and shows the before → after diff with projected impact. You open the approval queue and run the two-step Approve & push live → Confirm control. Only then does it touch the live account, with a KMS-signed audit entry and one-click rollback.

  • Two steps, on purpose: Approve & push live arms the change, Confirm applies it. Either step can be abandoned and nothing happens.
  • Every applied change writes an append-only audit record and keeps a one-click rollback to the prior state.
  • On Free, the approve control is the locked upgrade card — never a fake or disabled button.

Drafts are inert until you approve

A draft is a proposal, not a pending action. Nothing in a draft reaches your ad account until you run Approve & push live → Confirm. V1 is propose-only: the operator drafts, you decide, and every live change is one you signed off on.

Next

Concepts

Drafts, the approval queue, the autonomy loop, the 24h envelope, and rollback.

    Quickstart — SpendSignoff Docs