>_

SpendSignoff documentation

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

AI client setup

Connect Claude Cowork

Claude Cowork MCP support is rolling out. The intended setup adds the SpendSignoff server in the workspace MCP settings — read-only first, drafts your team approves in the SpendSignoff app.

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

Claude Cowork support is rolling out

Claude Cowork is the shared team workspace for Claude. SpendSignoff support is on the way: the plan is a workspace-level MCP server entry, registered over OAuth 2.1 with the mcp.read and mcp.draft scopes only.

The intended config is below. In a shared workspace the boundary matters more, not less — Cowork reads and drafts; pushing a change live still takes a human approval inside the SpendSignoff app.

Intended config

Add the SpendSignoff server in the workspace MCP settings:

workspace MCP config

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

Three steps to live

1

Connect the client

Add the SpendSignoff MCP server to your client and finish the OAuth 2.1 handshake. The client requests two scopes only — mcp.read and mcp.draft. There is no mcp.approve scope to grant.

2

Authorize an ad account, read-only

OAuth into Google Ads or Meta. The first authorization is read-only: SpendSignoff reads spend, structure, and performance so the operator can find money. Reads are ungated on every plan, including Free.

3

Review and ship your first approval

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

Shared workspace, same scope boundary

Anyone in the Cowork workspace can ask the operator to read accounts and draft changes with mcp.read and mcp.draft. No one can push a change live from the client. Every live change still routes through the SpendSignoff approval queue and the KMS-signed audit log.

What works today

  • Read campaigns, ad sets, budgets, bids, and performance across linked Google Ads and Meta accounts.
  • Ask the operator for a plain-English read: pacing, wasted spend, top movers, anomalies.
  • Draft budget reallocations, bid changes, and pacing fixes as reviewable diffs via propose_change.
  • Approve or reject drafts in the SpendSignoff app — never inside the AI client.

Next

Connect Claude

Claude Desktop is live today — start there while Cowork rolls out.

    Connect Claude Cowork — SpendSignoff Docs