Camberstack

Camberstack documentation

Camberstack is a hosted MCP server that gives your AI assistant access to your Google Ads account and, optionally, read-only Search Console. The AI reads the account and proposes changes. Nothing changes until you approve a specific proposal, and every applied change can be undone.

Connect

The server URL is:

https://camberstack.io/mcp

It speaks Streamable HTTP with OAuth 2.1 (dynamic client registration), so your AI app handles sign-in: you sign in with Google and choose what to share. No Google Ads developer token or API key is needed.

Claude (web and desktop app)

Connect from Camberstack's page in Claude's connector directory, or browse the directory in Settings, under Connectors. You don't need the URL above. Setup guide.

ChatGPT

Turn on developer mode, add the URL as an MCP app, then type @Camberstack in a chat. Step-by-step guide.

Claude Code

claude mcp add --transport http camberstack https://camberstack.io/mcp

Cursor, VS Code and other MCP clients

{ "mcpServers": { "camberstack": { "url": "https://camberstack.io/mcp" } } }

Start by asking "List my Google Ads accounts". A manager (MCC) login lists the client accounts under it.

How it works

  1. Read. account_overview summarises an account; run_gaql runs any read-only Google Ads query; keyword_ideas and keyword_metrics size search demand. None of these change anything.
  2. Propose. propose_changes stores the change as a proposal and checks it with Google (validate-only). Nothing is applied.
  3. Approve. Your AI shows you the proposal. You approve that specific proposal in the conversation.
  4. Apply. apply_changes applies an approved proposal. The server refuses anything that wasn't proposed first, is older than 24 hours, or belongs to someone else. Keep your AI app's confirmation prompt on for apply_changes.
  5. Undo. undo_changes builds the reverse of an applied proposal, which you approve and apply the same way. change_history lists everything applied.

What it can change

Negative keywords, budgets and end dates, pausing and re-enabling, bids, targeting and bid strategy, conversion goals, and whole new Search, Performance Max, Display and YouTube campaigns (always created paused). You approve each change, and each one can be undone. The full list, and every tool.

Building campaigns

Your AI can build four kinds of campaign. Each is created paused, so building it and letting it spend are two separate approvals, and undo removes it.

Images can be ones already in your Google Ads account (your AI finds them with a query) or public https links to PNG, JPEG or GIF files of up to 5 MB, which Camberstack downloads and uploads to your account. Shapes: landscape 1.91:1 (e.g. 1200×628), square 1:1 (e.g. 1200×1200), portrait 4:5 (Performance Max), and logos square 1:1 or landscape 4:1. Google reviews every new ad against its policies; if it rejects one, your AI gets the reason and can reword it.

Search Console

If you leave the Search Console box ticked when you sign in, your AI can read (never change) your sites' search data: totals against the previous period, queries and pages, rising and falling queries, near-page-1 opportunities, index status for given URLs, sitemap status, and searches you pay for that already rank organically. Camberstack can't request indexing or submit sitemaps; you do that in Search Console. More on the Search Console tools.

Demo account

Account 000-000-0001 is a sample plumbing business with six months of campaigns and search terms. Every tool works on it, changes there never reach Google, and it doesn't count toward your plan. Ask "Show me Camberstack's demo account".

Plans and limits

PlanCovers
FreeEvery tool, unlimited applied changes, on 1 Google Ads account. No card.
Pro, $15/monthThe same, on up to 10 Google Ads accounts. Cancel any time.

An account counts when you use Camberstack on it; it stops counting 30 days after its last use. Manager (MCC) accounts and the demo don't count. Using one more account than your plan covers returns a plan_limit error listing the accounts in use, when one frees up, and, on Free, a personal upgrade link valid for 7 days. Undo, change history and billing are never limited. Ask "What plan am I on?" to see your usage.

Google API access and your data

Camberstack accesses the Google Ads API under its own developer-token access, with the user's Google OAuth consent. Search Console is read through Google's Search Console API under the same consent, with a read-only scope. Camberstack is independent and not affiliated with Google.

It stores your Google email, an encrypted Google refresh token, and your proposals with their results so you can undo them. Reports and query results are not stored. Details in the privacy policy.

Disconnect

Sign in at camberstack.io/account and choose Disconnect Google Ads, or remove Camberstack at myaccount.google.com/permissions. You can also ask your AI to use the disconnect tool.

Troubleshooting

Your AI app answers without using Camberstack

Mention Camberstack by name, for example "Using Camberstack, how did my campaigns do last month?", and check the connector is enabled for this chat.

A tool or feature mentioned here isn't available

Your AI app reads Camberstack's list of tools when you add it, and keeps that list. After Camberstack adds tools, remove Camberstack from your AI app and add it again. Your Camberstack plan, proposals and change history are kept.

"No Google Ads accounts" or only the demo account

The Google login you connected with has no access to a Google Ads account (Google's message is NOT_ADS_USER), so Camberstack offers the demo account instead. Check which Google login has access in Google Ads, under Admin, then Access and security, and connect again with that one. Remove Camberstack from your AI app and add it again.

"Enable 2-Step Verification" (TWO_STEP_VERIFICATION_NOT_ENROLLED)

The Google Ads account requires 2-Step Verification on every login that uses it, including through apps like this one. Turn it on at myaccount.google.com/security, then ask again.

A change is refused for lack of permission

Reading needs any access to the account; applying a change needs Standard or Admin access. With Read only access, ask an account admin to raise it in Google Ads, under Admin, then Access and security.

"Proposal is older than 24 hours"

Proposals expire after a day, because the account may have changed since. Ask Your AI app to propose the change again.

"Plan limit"

The Free plan covers one Google Ads account at a time, so a second one asks you to upgrade, with a personal checkout link. An account stops counting 30 days after you last used it. Undo and change history always work. Plans.

"Search Console access isn't part of this Google connection"

The Search Console box was unticked on Google's sign-in screen, or you connected before the Search Console tools existed. Connect again and leave the box ticked: remove Camberstack from your AI app and add it again.

"User does not have sufficient permission for site"

The website name must match a Search Console property exactly: sc-domain:example.com and https://www.example.com/ are different properties. Ask "List my Search Console sites" first. If the site isn't listed, it's verified under a different Google login.

More

Every tool and its parameters · Source code (MIT) · Questions: adam@camberstack.io