AdOps
AdOps lets your AI assistant (Claude or Perplexity) read the agency's Google Ads accounts. It can look, but it can never change anything.
What AdOps does
- Read-only Google Ads access. Your assistant can look up campaigns, budgets, ads, keywords and results for the accounts you can already see in Google Ads. It cannot change anything: AdOps has no tools that make changes, and it blocks any other kind of request before it reaches Google.
- Shared account notes. Your assistant can read and add notes about each Google Ads account (decisions, exceptions, useful context), so every assistant on the team remembers them. Only people who can open that account in Google Ads can see its notes.
- A full audit log. Every sign-in, request and Google Ads query is recorded, so admins can see what happened and when.
You sign in with your own Google account, so AdOps only ever sees the accounts that your Google account can see.
Before you start
- Ask an AdOps admin to add your Google email address. AdOps refuses sign-in from any address that isn't on its list.
- Check that you can open the client accounts at ads.google.com with that same Google account. AdOps can only show what that account can see.
- Turn on 2-Step Verification for that Google account. It is now a key to client data, so protect it. A passkey, security key or the Google app prompt is safer than text messages.
- Have Claude (any plan; the Free plan allows one custom connector) or a paid Perplexity plan.
Your connector address
Every assistant asks for this address. Copy it exactly:
https://adops-159129075318.europe-west1.run.app/mcp
Connect your assistant
Follow the steps for the assistant you use:
Claude on the web and Claude Desktop
- Open claude.ai and go to Customize → Connectors. (In older versions this is Settings → Connectors.)
- Click Add custom connector.
- Enter the name AdOps and paste the connector address. Leave the OAuth Client ID and Client Secret fields (under Advanced settings) empty. If Claude asks how to register, keep the recommended option.
- Click Add. If the sign-in doesn't start by itself, click Connect next to AdOps, then follow what you'll see when you sign in.
- In a chat, open the + menu → Connectors and check that AdOps is switched on.
Claude Desktop uses the same connector. Once you've added it on claude.ai, it appears
in the desktop app when you're signed in to the same Claude account. If you add it from the desktop app
instead, the sign-in opens in your web browser. Don't add AdOps to
claude_desktop_config.json.
Claude Team or Enterprise? An owner adds AdOps once under Organization settings → Connectors. Each person then finds it under Customize → Connectors, clicks Connect and signs in with their own Google account.
Claude Code
- In a terminal, run:
To use AdOps in every project rather than just the current folder, add
claude mcp add --transport http adops https://adops-159129075318.europe-west1.run.app/mcp--scope userbeforeadops. - Start Claude Code, type
/mcp, choose adops and pick Authenticate. Your browser opens to sign in. - Back in Claude Code,
/mcpshows adops as connected.
If you've already added AdOps on claude.ai and Claude Code is signed in with the same Claude account,
it may already be listed in /mcp.
Perplexity (paid plans)
Perplexity's custom connectors are newer and less tested with AdOps than Claude. If a step fails, tell an admin and use Claude in the meantime.
- On the Perplexity website (the mobile apps may not show custom connectors), open Plugins in the sidebar. If you don't see Plugins, go to Customize → Connectors.
- Choose Add custom → Connector → Add MCP connector → Remote.
- Fill in the form:
- Name: AdOps
- MCP Server URL: the connector address
- Authentication: OAuth (leave any client ID and secret empty)
- Transport: Streamable HTTP
- Tick the acknowledgement and click Add.
- Click the AdOps connector card to sign in and switch it on.
If Perplexity says "Dynamic client registration did not return a client_secret", that's a known Perplexity problem. Tell an admin.
What you'll see when you sign in
- AdOps "Application Access Request" page. It names the app that wants to connect and
the address your sign-in will be sent to. Check that it matches your assistant, then click
Allow Access:
- Claude:
https://claude.ai/api/mcp/auth_callback - Claude Code:
http://localhost:…/callback(the number changes each time) - Perplexity:
https://www.perplexity.ai/rest/connections/oauth_callback
- Claude:
- Google sign-in. Choose the Google account that an admin added to AdOps.
- "Google hasn't verified this app". AdOps is a small internal tool that hasn't been
through Google's app review, so Google warns you. Before you continue, check that the screen names
AdOps or adops-159129075318.europe-west1.run.app. If it names anything else, stop and tell an admin.
If it matches:
- While AdOps is in Google's testing stage, the screen says you've been given access to an app that's being tested. Click Continue. You'll see this screen each time you reconnect, about once a week.
- After AdOps leaves the testing stage, the screen looks different: click Advanced, then the Go to … (unsafe) link.
- Google's permission screen. Google asks you to let AdOps use your Google Ads account. Google offers only one Google Ads permission, and its wording includes making changes. AdOps itself only ever reads. If there is a tick box next to Google Ads, tick it: AdOps can't work without it. Then click Continue.
- You're sent back to your assistant, and you're connected.
If AdOps says your Google account isn't on its list, ask an admin to add the exact address you signed in with.
Am I connected?
- Ask your assistant:
Use AdOps to run whoami.
It replies with your email address, your role, and how many Google Ads requests you've used today out of your daily limit. - Or sign in on this website at My status. It shows your AdOps account, today's usage, and when your assistant last used AdOps.
Signing in on this website doesn't connect your assistant. It's only a way to check your status.
Things to ask
Using AdOps, list the Google Ads accounts I can access.
Using AdOps, show last month's cost and conversions by campaign for account 123-456-7890.
What do the AdOps notes say about account 123-456-7890?
Add an AdOps note to account 123-456-7890: the client wants brand campaigns kept running at weekends.
If you get an access error for a client account that the agency manages through its manager account,
give your assistant the manager account ID as well (for example through manager account
111-222-3333
).
Notes are shared with everyone who can open that account. Don't put passwords or personal details in them.
Each person has a daily limit on Google Ads requests; whoami shows yours. It resets at
midnight UTC.
When you need to reconnect
- While AdOps is still in Google's testing stage, Google ends every sign-in after 7 days. When your
assistant asks you to reconnect AdOps, click Connect again (or run
/mcpin Claude Code) and sign in. - When AdOps leaves the testing stage, everyone reconnects once more. After that you stay connected.
- If you don't use AdOps for about 90 days, you'll need to sign in again.
How to disconnect
- In your assistant:
- Claude: Customize → Connectors → AdOps → Disconnect. To delete it completely, use the … menu → Remove.
- Claude Code:
/mcp→ adops → Clear authentication, or runclaude mcp remove adopsto delete it completely. - Perplexity: open Plugins (or Customize → Connectors), open the AdOps connector and disconnect or remove it.
- At Google (stops AdOps using your Google account everywhere): go to Google Account → Security → Your connections to third-party apps & services, choose AdOps and remove its access.
When someone leaves the agency, an admin also disables them in AdOps and removes their Google address from the agency's Google Ads manager account.
Need help?
Ask an AdOps admin. If you saw an error, tell them roughly when it happened and include any request ID it showed.