Drive your ad accounts from Cursor without leaving the editor.
Register SpendSignoff in ~/.cursor/mcp.json, sign in over OAuth, and ask Cursor’s agent to read accounts and stage changes — spend stays behind approval.
@SpendSignoff check the Google Ads Search campaign for disapproved ads and draft pausing any with a disapproval.A draft pausing the 2 ads flagged disapproved in the Search campaign — staged for your approval, the rest left running.
Staged as a draft. Nothing reaches your ad accounts until you approve it.
Cursor reads MCP servers from a JSON config. Add the SpendSignoff entry to ~/.cursor/mcp.json (or a project .cursor/mcp.json), complete the OAuth sign-in, and the agent gains read and draft tools for your connected ad accounts.
Cursor is issued mcp.read and mcp.draft. The agent can read live data and write drafts inline; pushing a change live is a separate step in the SpendSignoff dashboard.
What it does
Register it in ~/.cursor/mcp.json
Add an SpendSignoff entry with the URL https://mcp.spendsignoff.com/mcp to your ~/.cursor/mcp.json. A project-scoped .cursor/mcp.json works too. Reload to pick it up.
OAuth sign-in on first call
On first use Cursor runs the OAuth flow in your browser. You grant mcp.read and mcp.draft — the approve scope does not exist to grant.
Ask the agent, read comes back live
In the Cursor chat, ask about a campaign. The agent calls the read tools and returns live spend, ROAS, and pacing from Google Ads or Meta.
Drafts route to the approval queue
Ask for a change and Cursor stages a typed draft in your SpendSignoff queue with the before → after diff. It never pushes spend from the editor.
How it works
Read
Ask Cursor’s agent about an account. It calls the read tools and answers from live Google Ads and Meta data.
Draft
Tell the agent what to change. It writes a typed draft — a budget shift, a bid change, a pause — and stages it for review.
Approve
Open the SpendSignoff queue, read the diff, and use the two-step approve to push it live. The action is signed into the audit log.
Questions
Can Cursor push a change live by itself?
No. Cursor holds read and draft scopes only. The agent stages the draft; you approve it with a two-step confirm in the SpendSignoff dashboard.
Global or per-project config?
Either. Use ~/.cursor/mcp.json for every workspace, or a project .cursor/mcp.json to scope SpendSignoff to one repo.
Is an API key involved?
No. The config points at the SpendSignoff MCP URL and the connection authenticates over OAuth 2.1 in your browser.
Connect it to
Put Cursor on autopilot — with your hand on the switch.
Free to connect and read. You only pay when you want the operator drafting around the clock.