Skip to content
Get MCP AdsGet MCP Ads, home

Account scoping

Which advertising accounts a tool can reach, and how that limit is enforced.

Connecting a platform rarely grants access to one account. A Google Ads manager account reaches every client under it, a Meta Business Manager reaches every ad account it administers, and one Google Analytics connection in testing reached fourteen properties.

So the connection is not the permission. In the dashboard you tick the accounts to expose, and that list is the boundary.

Multiple sign-ins for the same sourceLink to this section

Open Sources, choose the platform, and click Add another account to authorize another identity. Existing connections stay in place. For Google Ads, choose the other Google account in the sign-in window; its accessible advertising accounts appear alongside those from your existing Google connections.

Select the advertising accounts you want to use from the combined list and save. Selected accounts count toward the shared limit of your plan, not the number of sign-ins. An advertising account accessible through two connections is counted once. Your MCP URL stays the same.

Use Reconnect on a specific connection to renew that authorization. Disconnect this account removes only that connection and its selections; other connections are kept. If another connection also has access to a removed account, select it again and save. Disconnect all accounts removes every connection for that source.

Where the check happensLink to this section

Server side, on every call, before the request reaches the platform. It cannot be influenced by the client, because an MCP client composes its own calls and can propose any identifier it likes.

The account parameter each source uses

SourceParameter
AdjustappToken
Amazon AdsaccountId
Apple AdsadAccountId
LinkedIn AdsadAccountId
Reddit AdsadAccountId
Microsoft AdvertisingaccountId
Snapchat AdsadAccountId
X Adsaccount_id
RTB HouseadvertiserId
Meta AdsadAccountId
Pinterest AdsadAccountId
Google AdscustomerId
TikTok AdsadvertiserId
Search ConsolesiteUrl
Google Analytics 4propertyId

The check does not stop at that parameter. Some tools are generic escape hatches that take a free-form body, and an account identifier can sit anywhere inside it. Every argument is walked, at any depth, and every account identifier found is checked against the allowlist.

jsonRefused: the identifier is nested, and still checked
{
  "name": "tiktok_get_read_endpoint",
  "args": {
    "endpoint": "campaign/get",
    "parameters": { "advertiser_id": "an advertiser you did not tick" }
  }
}

TokensLink to this section

  • Refresh and access tokens are encrypted at rest with AES-256-GCM.
  • No tool returns a token, and none is written to a log.
  • No token reaches the browser.
  • Revoking the connection in the dashboard, or at the platform, ends the access immediately.
Esc

Type to search