One address, every client
The point of a protocol is that the server does not care who is calling. You sign in with Google once, get one private address, and paste it wherever you want to work. The tools it exposes, the accounts it can reach and the tier it runs on are all properties of the address, not of the client.
https://mcp.adcopilot.cloud/c/<your key>/mcpClaude and ChatGPT have their own walkthroughs — Claude, ChatGPT. Everything else is below.
GitHub Copilot
Copilot reads MCP servers from an mcp.json, either in your user settings or in .vscode/mcp.json for a single workspace. Prefer user settings here, so the address does not end up in a repository.
{
"servers": {
"adcopilot": {
"type": "http",
"url": "https://mcp.adcopilot.cloud/c/<your key>/mcp"
}
}
}Reload the window, then check the tool picker in Copilot Chat for the connector's tools.
Gemini CLI
Gemini CLI takes its servers from settings.json in its config directory. HTTP servers use the httpUrl key.
{
"mcpServers": {
"adcopilot": {
"httpUrl": "https://mcp.adcopilot.cloud/c/<your key>/mcp"
}
}
}Cursor
Cursor keeps MCP servers in ~/.cursor/mcp.json for every project, or .cursor/mcp.json inside one. Same caution about committing the file.
{
"mcpServers": {
"adcopilot": {
"url": "https://mcp.adcopilot.cloud/c/<your key>/mcp"
}
}
}OpenCode
OpenCode declares remote servers in its config under mcp, with the type set to remote.
{
"mcp": {
"adcopilot": {
"type": "remote",
"url": "https://mcp.adcopilot.cloud/c/<your key>/mcp",
"enabled": true
}
}
}Claude Code
One command, no file editing:
claude mcp add --transport http adcopilot https://mcp.adcopilot.cloud/c/<your key>/mcpAdd --scope user to make it available in every project rather than the current one.
Which client to use
| If you want to… | Use |
|---|---|
| Ask questions in prose and get explanations | Claude or ChatGPT, in the browser or desktop app |
| Cross-reference ads data with a codebase or analytics | Claude Code, Copilot or Cursor |
| Script something repeatable in a terminal | Gemini CLI or Claude Code |
| Keep everything inside an editor you already live in | Copilot, Cursor or OpenCode |
There is no wrong answer, and no lock-in: the same address works in all of them at once, so trying a second client costs nothing.
If a client won't connect
- Check it supports remote HTTP servers. Some clients only launch local stdio processes. Every client on this page supports remote.
- Check the address ends in
/mcpwith no trailing slash, and that the key is complete. - Restart or reload after editing a config file. Most clients read MCP config once at startup.
- Seeing only three tools? That is the read-only tier and it is the pilot default, not a connection fault.
- Seeing no accounts? The Google login behind the address probably does not have access to them.
Frequently asked questions
Does the same connector work in every MCP client?
Yes. MCP is a protocol, so a server written once works in any client that speaks it. The same address goes into Claude, ChatGPT, GitHub Copilot, Gemini CLI, Cursor, OpenCode and Claude Code — only the place you paste it differs.
Do I need a different connector for each person or each client?
One per person, not one per client. Your address is tied to your Google sign-in, and you can add the same address to as many clients as you like. Each teammate gets their own — see the team access model.
What transport does the connector use?
Streamable HTTP. Clients that only support stdio servers — the kind you run as a local process — need a bridge, but every client listed here supports remote HTTP servers directly.
Can I use a coding assistant for advertising work?
Yes, and it is less strange than it sounds: the connector returns structured account data, and a coding assistant is good at querying, filtering and cross-referencing structured data. It is a poor choice for judgement about copy or offers.
Is my connector address safe to put in a project config file?
No — treat it like a password. Put it in the client's own settings, or in a file that is not committed to version control. Anyone holding the address holds your Google Ads access until it is switched off.
Try it on one account for a week
Read-only to begin, so it can look but not touch. No cost, no card, no contract — you connect your own Google account and can withdraw the access whenever you like.
- One account
- One week
- Read-only
- No card
- Google Ads automationThe layers of Google Ads automation from Smart Bidding to scripts to AI agents, what each layer decides, what none of them will do, and what to automate first.
- Negative keywordsHow to automate negative keywords: the three negative match types, account, campaign, ad group and shared list placement, the intent patterns worth blocking, and how an AI connector applies them.
- Performance Max AIWhat is visible and controllable in a Performance Max campaign, what an AI agent can genuinely do including creating PMax campaigns and asset groups, and where it cannot help.
- API access and tokensWhat a Google Ads developer token is, how it differs from OAuth credentials, the test, basic and standard access levels, what else self-hosting needs, and when a hosted connector removes the need.