Connect Multiple Ad Accounts to One Ads MCP

VigilDog Team · October 14, 2026 · 6 min read

Agencies almost never run a single ad account. You're managing Google, Meta, and LinkedIn for a dozen clients, and the whole point of an Ads MCP is letting Claude or ChatGPT touch all of them without you clicking through three dashboards. The catch is doing it safely: one connection, many accounts, and no cross-client mistakes. Here's how the plumbing actually works and how to keep every client cleanly separated.

One MCP, many accounts: the mental model

An Ads MCP is a single server your AI assistant talks to. It doesn't hold one account, it holds credentials for a platform and then addresses individual accounts by their ID. Google Ads works through a manager account (an MCC); Meta works through a Business Manager; LinkedIn works through its business-and-ad-account structure. So when you set out to connect multiple ad accounts, what you're really doing is authorizing once at the parent level, then letting the MCP enumerate and target each child account by its ID.

That distinction matters because it changes what "adding a client" means. You don't run a new OAuth flow every time you onboard someone. You add their account under the manager you already authorized, and the MCP can see it. The VigilDog Ads MCP follows this pattern on all three platforms, so a single connected identity can span your entire book of business.

How Google, Meta, and LinkedIn address accounts

Each platform names accounts differently, and knowing the scheme saves you from targeting the wrong one. Every write your assistant makes should name the account explicitly rather than relying on a default.

  • Google Ads: a manager account (MCC) is the login-customer-id, and each client is a 10-digit customer ID beneath it. The MCP authenticates as the manager and passes the specific customer ID per request.
  • Meta: a Business Manager owns many ad accounts, each addressed as act_<id>. One system-user token scoped to the business can reach every account you've been granted.
  • LinkedIn: sponsored ad accounts live under a business, each with its own numeric account ID. Access is granted per account to the authorized app.
  • In every case: authorize the parent once, then reference the child account ID on each call.

Connecting them, step by step

The flow is the same on each platform: prove who you are at the top, then let the accounts flow down. Start by making sure your manager structures exist. For Google, your clients' accounts should already be linked under your MCC. For Meta, the ad accounts should be added to your Business Manager. For LinkedIn, your app needs account-level access granted.

With those in place, connect each platform to the MCP once. The assistant can then list the accounts it can reach and you pick which one a task applies to. From there, a prompt like "pause the branded search campaign in the Acme account" resolves to a specific customer ID, and nothing touches your other clients. If you're new to driving Google specifically, the walkthrough in running Google Ads from Claude covers the connect step in detail.

You (chat)ClaudePreviewdry-runApproveAd account
How an Ads MCP runs a change safely

Keeping clients from bleeding into each other

The real risk with many accounts under one connection isn't access, it's ambiguity. If you say "increase the budget on the summer campaign" and three clients each have a summer campaign, you want the assistant to ask which one, not guess. Two habits prevent almost every mistake.

First, always name the account in the instruction, or have the assistant echo back the account name and ID before acting. Second, lean on the platforms' own naming: consistent campaign prefixes per client make it obvious when a match is wrong. The MCP will happily operate across accounts, so the discipline of confirming the target is what keeps a Tuesday budget tweak from landing on the wrong brand.

Dry-run and approval gating do the heavy lifting

Multi-account access is only comfortable because writes aren't fire-and-forget. Every change is previewed first: the assistant shows you exactly what it will do, on which account, before anything is committed. You approve, then it executes. That approval gate is what makes it reasonable to hand one connection the keys to twelve clients, because a misread instruction surfaces as a preview you can reject, not a live campaign edit you have to unwind.

Set up this way, one Ads MCP becomes the control plane for your whole ad operation: read performance across accounts, draft changes in plain language, and confirm each one before it ships.

Questions

Frequently asked

Do I need a separate connection for each client account?

No. You authorize once at the manager level (Google MCC, Meta Business Manager, LinkedIn business) and every account beneath it becomes reachable. Onboarding a new client means linking their account under that parent, not running a new connection.

Can one Ads MCP handle Google, Meta, and LinkedIn at the same time?

Yes. Each platform is connected once with its own credentials, and the assistant targets the right account on the right platform per request. You can compare performance or make changes across all three from a single chat.

How do I stop the assistant from editing the wrong client's account?

Name the account in every instruction and have the assistant confirm the account name and ID before writing. Because every change is previewed and approval-gated, a wrong target shows up as a preview you can reject before anything goes live.

Run every client's ad account from one place

The VigilDog Ads MCP connects Google, Meta, and LinkedIn to Claude and ChatGPT, with dry-run previews and approval on every write.

Your first domain is free forever