Cursor takes the Google Ads connector as a four-line entry in mcp.json,
reached through Settings → MCP. The setup is two minutes; the reason to
do it in Cursor rather than a chat app is what sits next to the tools —
your codebase, in the same Agent session as your ad account. Per-client
config for every other client lives on
the MCP clients pillar; this page is Cursor's specifics.
Add the server
Open Cursor Settings, find the MCP section, and add a new server — Cursor
edits mcp.json for you, or you can write it directly:
{
"mcpServers": {
"adcopilot": {
"url": "https://mcp.adcopilot.cloud/c/<your connector key>/mcp"
}
}
}
Cursor-specific details that matter:
- The field is
urlfor a remote server — Cursor detects the transport from the endpoint, so streamable HTTP needs no extra flags. - Two possible homes:
~/.cursor/mcp.json(global, every project) or.cursor/mcp.json(this project only). Use the global one. The project file lives in the repo, repos get shared, and the address is a credential — treat it like an API key, because it behaves like one. The security model explains what the key can and cannot reach.
Back in the MCP settings page, the server should show as connected with
a tool count in the thirties — reads like search, writes like
create_campaign and add_negative_keywords. Toggle it on if it is
not already.
First prompts — in Agent mode
MCP tools run in Cursor's Agent mode, not plain autocomplete or a bare chat. Open an Agent chat and start with reads:
List the Google Ads accounts you can see.
In account <account>: last 14 days of spend, conversions and cost per
conversion by campaign. Then the top 10 search terms with cost and no
conversions. Read-only — change nothing.
Reads execute without ceremony. The first write — adding a negative, creating a paused campaign — makes Cursor stop and show the tool call for your approval before running it. Keep that behaviour: auto-run belongs to read-only servers, and the reasoning — which calls to graduate, which to gate forever — is the approval workflow.
The actual point: ads and code in one session
Everything above works in any client. What Cursor adds is that the agent holding your ad account also holds your repository, and real tasks live across both:
Read the hero copy and pricing section of app/landing/page.tsx. Now pull
the responsive search ads in campaign <campaign> from account <account>.
Where do the ads promise something the page no longer says? Propose ad
copy updates — show me before creating anything.
We renamed the /pricing route in this repo. Which enabled ads or
sitelinks in account <account> still point at the old URL? List them,
then create replacement sitelinks on the new route for the ones I
confirm — I'll retire the old links in the Google Ads UI.
Message-match audits, URL drift after refactors, drafting a campaign for the feature you just shipped from the code that implements it — these are one-session jobs in Cursor and multi-tool afternoons anywhere else. Audit output can land in the repo too: ask for findings written to a markdown file and commit it, the same file-based pattern that makes terminal clients good at recurring checks.
Quirks
- Agent mode only — if the tools seem missing, check which mode the chat is in before debugging config.
- JSON errors fail silently — a stray comma and Cursor just ignores the file. The MCP settings page showing the server is your parse check.
- Restart-ish — config changes usually surface on toggling the server or reopening settings; a full restart is the reliable fallback.
- Same address everywhere — the URL works unchanged in Gemini CLI, Claude and Copilot. One connector, many clients; if it connects nowhere, that is a troubleshooting matter, not a Cursor one.
Five-minute version: paste the JSON into the global mcp.json, open an
Agent chat, run the two read prompts, and try the message-match audit on
a page you actually ship. No connector yet?
Start a free pilot — your own
Google sign-in, a private address, and Cursor is one paste from your ad
account. Seven days, up to five accounts, no card.
Frequently asked questions
Why don't the ads tools show up in my Cursor chat?
Three usual causes: the chat is not in Agent mode — MCP tools only run there; the server toggle in Settings → MCP is off; or the JSON has a syntax error, in which case Cursor ignores the file quietly. Check the MCP settings page first — a healthy server shows its status and a tool count — then fix mode or JSON accordingly.
Should the connector go in project mcp.json so my team gets it?
No. A project .cursor/mcp.json gets committed, and the connector address is the credential — anyone who reads the repo could act on the ad account as you. Keep it in the global ~/.cursor/mcp.json. Teammates should each connect with their own Google sign-in and get their own address; that keeps access individually revocable and changes correctly attributed.
Is it safe to let Cursor auto-run MCP tools?
Auto-run is fine for a server that can only read; this one can write. Keep the ask-before-run behaviour for the ads server, whatever you allow elsewhere — the confirmation you would be skipping is the only human step between a misunderstood instruction and a changed campaign. Reads never need the ceremony; writes always deserve it.
Try it on your own account for a week
The full set of tools for the week, so you can see what it actually does — and it still cannot delete anything. No cost, no card, no contract: you connect your own Google account and can withdraw the access whenever you like.
- Up to 5 accounts
- One week
- Full tools
- No card
- Autonomous agentsLevels of autonomy in Google Ads management, which optimisation work is safe unattended versus which needs approval, and why irreversible actions should not be automated.
- Google Ads MCP serverWhat a Google Ads MCP server is, how free self-hosted servers compare to a hosted one, the full tool list AdCopilot exposes, and what you need to connect.
- Connect ClaudeStep-by-step instructions for adding a Google Ads MCP connector to Claude Desktop, claude.ai and Claude Code, including what to ask it first and how to revoke access.
- Connect ChatGPTStep-by-step instructions for adding a Google Ads MCP connector to ChatGPT, what it can read and change, and how to withdraw access.