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
| Source | Parameter |
|---|---|
| Adjust | appToken |
| Amazon Ads | accountId |
| Apple Ads | adAccountId |
| LinkedIn Ads | adAccountId |
| Reddit Ads | adAccountId |
| Microsoft Advertising | accountId |
| Snapchat Ads | adAccountId |
| X Ads | account_id |
| RTB House | advertiserId |
| Meta Ads | adAccountId |
| Pinterest Ads | adAccountId |
| Google Ads | customerId |
| TikTok Ads | advertiserId |
| Search Console | siteUrl |
| Google Analytics 4 | propertyId |
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.
{
"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.