AI client setup
Connect Windsurf
Windsurf MCP support is rolling out. The intended setup adds the SpendSignoff server to the Windsurf MCP config — read-only first, drafts you approve in the SpendSignoff app.
Windsurf support is rolling out
Windsurf is the agentic editor from Codeium. SpendSignoff support is on the way: the plan is a remote MCP entry in the Windsurf config, registered over OAuth 2.1 with the same mcp.read and mcp.draft scopes.
The intended config is below. It will read your linked Google Ads and Meta accounts and draft changes; approval stays in the SpendSignoff app.
Intended config
Add this to the Windsurf MCP config:
mcp_config.json
{
"mcpServers": {
"spendsignoff": {
"url": "https://mcp.spendsignoff.com/mcp"
}
}
}Three steps to live
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.
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.
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.
The client only ever holds read and draft
mcp.read and mcp.draft alone. It can read your accounts and draft changes. It cannot push a change live — approval happens in the SpendSignoff app, behind a two-step confirm, and is recorded in a KMS-signed append-only 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 Cursor
Cursor is live today — the editor setup is nearly identical.