What a ticked-account allowlist is
Connecting a Google MCC or a Meta Business Manager does not expose the client accounts under it. After OAuth, every account starts unticked. The gateway answers only for the IDs you tick, and the check runs server-side on every call, including calls routed through run_tool. That is 1 product rule, not a UI filter.
By The Get MCP Ads teamPublished by BENLY HLG30 Aug 2026
What this is about
Read this in
Each one opens that assistant with this URL and asks it for a summary.
Key takeaways
- OAuth on an MCC or Business Manager proves who you are, not which client the assistant may see.
- After connect, the dashboard lists what the token can reach and every account starts unticked.
- The allowlist is checked server-side on every call, including calls routed through
run_tool. - Un-ticking an account removes access on the next call rather than hiding a row.
- An agent cannot tick accounts. That step is human-only, like platform OAuth.
- There is no X Ads source to tick. Microsoft Advertising is soon: OAuth exists, tools do not.
Why is MCC OAuth not enough?Link to this section
A Google MCC or a Meta Business Manager can sit over dozens of client accounts. The token the platform issues after OAuth can often list all of them. If the MCP server forwarded that list to the assistant, every client would be one prompt away. That is the default shape of many ads APIs. It is the wrong shape for an agency desk.
Get MCP Ads splits the two decisions. OAuth answers who connected the platform. The ticked-account allowlist answers which account IDs the gateway may use. Connecting does not tick. An agent cannot tick. See account scoping. The same split applies to Search Console properties and GA4 properties: they are accounts in the same picker, not a courtesy filter.
A worked example: an MCC over 40 Google Ads customers. After OAuth the dashboard lists 40 rows, all unticked. You tick the two clients on this week's brief. list_accounts returns those two. A prompt that names a third customer ID is refused, with the allowed list in the refusal. That is the product working. Official Google Ads MCP's list_ returns whatever that auth can see; it is a different server with a different contract.
Where is the check enforced?Link to this section
On the server, on every tool call. Hiding a row in the dashboard is not the control. If the assistant names an unticked ID, the call is refused and the allowed list is named in the refusal. Routing through run_tool does not get around it. list_accounts only returns ticked accounts. That is true for reads and for writes.
- Connect the platform in the Get MCP Ads dashboard and complete OAuth as the account owner.
- Open the account picker for that platform. Every account starts unticked.
- Tick only the client accounts this assistant may reach.
- Paste the hosted MCP URL into your MCP client and ask something that names a ticked account.
- Untick an account when the job ends; the next call is refused for that ID.
search_tools, describe_tool and run_tool are routing tools, not a second permission system. If the inner tool names an unticked account, the call is refused. Writes still need a ticked account and, on a paid plan, confirm set to true. Confirm does not escalate an unticked ID. See authentication and Pause a campaign from an assistant.
The URL is still https:/. The allowlist is not a second URL. It is a check on the first. Seats are people on your organisation; they share the ticked set unless you split organisations. Do not put two competing clients on one organisation with both ticked and then hope the assistant keeps them straight.
How do Search Console and GA4 use the same rule?Link to this section
Search Console properties and GA4 properties are accounts in the same picker. Connecting a Google identity that can see fourteen GA4 properties does not expose fourteen properties. You tick the property the assistant may query. Ticking a Google Ads customer does not tick a GA4 property. Each source has its own allowlist.
A Monday question that joins Ads spend to checkout events needs a ticked customer and a ticked GA4 property. If only Ads is ticked, ga4_run_report is refused for the unticked property. That is better than silently reading the wrong brand. See Google Ads and GA4 in one MCP and Connect Search Console via MCP. Official Google Ads MCP still does not include those sources.
Pinterest advertisers, TikTok advertisers and Meta ad accounts follow the same tick. There is no X Ads source to tick. Microsoft Advertising is soon: OAuth exists, tools do not, so ticking nothing there is not a workaround. Live sources stay the six we ship.
What happens if you untick during a chat?Link to this section
The next call against that ID is refused. In-flight results from the previous call are already in the thread; we do not reach into the assistant to erase them. Spend, impressions and conversions are not stored here, so the next question cannot reread an unticked account. Untick before you share the connector with a broader seat.
Untick when a retainer ends, not next quarter. An agent cannot tick or untick. Dashboard WebMCP tools, when they appear, are read only and will not grow a tick action. If a vendor promises an agent can grant account access, that is a different product and a different risk. Hand the human the dashboard link and the list of IDs to tick.
Seats are not the allowlist. A viewer seat still cannot write, and still cannot see unticked accounts. Free is one ad account and read only; Agency raises the account and seat caps. See pricing rather than treating the allowlist as a plan. The agency article walks who should hold confirm.
When should you not rely on a hosted allowlist?Link to this section
A hosted allowlist is the wrong control when you run a local MCP as the ads user on a machine that should see everything that token sees, when you need a source we do not ship, or when you are on Free and expected a write. There is no X Ads. Microsoft Advertising has no tools yet.
- You run a local MCP as the ads user on a machine that should see everything that token sees. Then the API's own ACL is the allowlist, and you operate that risk.
- You need a source we do not ship. There is no X Ads. Microsoft Advertising has no tools yet, so ticking nothing there is not a workaround.
- You are on Free and expected a write. Writes are absent, allowlist or not.
- You wanted Meta official mcp.facebook.com/ads grant-wide reach. That is Meta's server, not this check.
Official Google Ads MCP returns customers list_ can see for that auth. Official Meta MCP reaches whatever that Meta grant reaches. Those are first-party contracts. This gateway's contract is the tick. Use the first-party server when that is the job. Use the tick when an agency desk cannot let one prompt see every client.
Get MCP Ads
Two ways to run Google Ads over MCP
- Hosted
Google Ads MCP Server
44 tools behind one hosted URL, 10 of them writes that describe the change before they apply it. Nothing to install, and no key to paste.
- Open source, Apache 2.0
Run it yourself
The same server, published as a package you can read, audit and host on your own machine. No account, and no gateway in the path.
@getmcpads/google-ads-mcp-server
Questions
Answered in one paragraph each
Keep reading
- Google Ads with your assistant44 tools, what to ask, what it can change.
- Google Ads MCP ServerThe server itself: 44 tools, the endpoint, the repository.
- Google Ads MCP API referenceEvery parameter of every tool, with what it accepts.
- PricingWhich plan includes writes.
- One MCP URL for six live sourcesWhy the URL is one and the accounts are many.
- MCP for ad agencies, ticked accountsSeats, Agency, ticked clients.
- Pause a campaign from an assistantPreview, confirm, Free has no writes.
Spec
- Product
- Get MCP Ads
- Category
- hosted MCP gateway
- Protocol
- MCP (Model Context Protocol)
- Live sources
- 6: Meta Ads, Pinterest Ads, Google Ads, TikTok Ads, Search Console, Google Analytics 4
- Auth
- OAuth 2.1 + dynamic client registration
- Transport
- HTTPS, streamable HTTP
- Endpoint
https:// mcp-review. getmcpads. com/ mcp - Account access
- ticked-account allowlist, checked server-side
- Account access
- ticked-account allowlist, checked server-side including run_tool
- Pricing
- Free 0 (1 ad account, 1 seat, 200 tool calls per period, read only). Pro 39 per month. Team 99 per month. Agency 199 per month.
Sources
- Account scopingGet MCP Adswww.getmcpads.com/docs/concepts/accounts
- AuthenticationGet MCP Adswww.getmcpads.com/docs/authentication
Who wrote this
Written by the team that ships Get MCP Ads, the hosted MCP gateway this page describes. Every count on the page is read from the tool catalogue rather than typed out, so it cannot drift from what the gateway serves. BENLY HLG publishes the site; Get MCP Ads is a separate product from Benly and does not read Benly data.
This page as Markdown: /articles/ticked-account-allowlist.md. Every page under /articles answers to Accept: text/markdown as well.