Skip to content
Get MCP AdsGet MCP Ads, home
Start free

Security

Your assistant neverholds an ad token.

The connected assistant never holds an ad platform token: it talks to the gateway, the gateway talks to the platforms. Everything below is a fact about the shipped gateway, stated once and published in three formats.

5
Sub-processors
3
Outside the EU
7
Stored items
2026-08-29
Last reviewed

Tokens

At rest
Ad platform tokens are encrypted at rest with AES-256-GCM and never leave the server.
Assistant exposure
The connected assistant never holds an ad platform token: it talks to the gateway, the gateway talks to the platforms.
Revocation
Revoking an assistant's access happens in the dashboard and does not require rotating any platform credential.

Authentication

Protocol
OAuth 2.1 with PKCE (S256), dynamic client registration (RFC 7591), protected resource metadata (RFC 9728).
API keys
No static API keys exist for the MCP surface.

Account scoping

The property most reviews come here to check: connecting a manager account does not expose the accounts under it.

Model
Per ad account, not per connection. Only accounts explicitly ticked in the dashboard are reachable.
Enforcement
Server side, on every call, including calls routed through run_tool. Nested account identifiers in arguments are checked too.

Safe Writes

Preview
Every write returns a description of the change and stops. Applying it requires a second call with confirm set to true.
Creation
Campaigns are always created paused. There is no option to create them active.
Free plan
The Free plan announces no write tool and refuses any write call.

Data

Advertising data is never stored. What is stored is the plumbing that makes an account reachable, and it is listed in full.

Advertising data
Never stored: answers stream from the platform APIs to the assistant.
Everything stored in your browser
NameKindWhyKept
__session, __client_uatcookieKeeps you signed in, so the dashboard does not ask again on every page.Until you sign out.
gma_orgcookieRemembers which organisation you are looking at, when you belong to more than one.One year.
oauth statecookieTies an advertising platform's authorisation response to the request you started. Without it, the flow cannot be verified.The duration of the connection flow.
sidebar:statecookieRemembers whether you collapsed the sidebar.One year.
themelocal storageRemembers whether you chose light or dark.Until you clear your browser data.
gma_consentlocal storageRemembers your answer about analytics, so we do not ask again.Six months, then we ask again.
Vercel Web Analyticslocal storageCounts page views and where visitors come from. No cookie, no cross-site identifier, no profile.Aggregated. Nothing identifies a visitor.
Retention on the server
WhatHow long
Your account and organisationFor as long as the account exists. Deleting the account removes them, and an organisation left with nobody in it is removed with it.
Advertising access tokensUntil you disconnect the platform, or the platform revokes them. Disconnecting deletes the row rather than marking it revoked.
Advertising data itselfNever stored. Campaigns, spend and performance are read from the platform on demand and passed straight to your assistant.
Usage countersThirteen months, so a year-on-year comparison is possible. They hold a count, not a query.
InvitationsKept as a record of who was invited and when. The link itself is stored only as a hash and is never recoverable.

Sub-processors

5 services touch personal data. 3 of them process it outside the European Union, and each one says where.

Sub-processors, what they do and where
ServiceRoleDataRegion
VercelHosts the website and the dashboard.Request metadata, and the session of a signed-in user.Edge in Paris, functions in Virginia (iad1).outside EU
NeonPostgreSQL database.Account, organisation, memberships, invitations, encrypted advertising tokens, usage counters.AWS us-east-1, Virginia.outside EU
CloudflareRuns the MCP gateway and serves DNS.Request metadata and the bearer token presented by an MCP client.Nearest edge location. Requests from Europe are served in Europe.
ClerkSign-in, sign-up, password reset and session management.Email address, name, password hash, session and device metadata.United States.outside EU
ResendSends transactional email: invitations and the welcome message.Recipient email address, and the content of the message.AWS eu-west-1, Ireland.

What an agent is never allowed to do

These are not exposed as agent capabilities at all: the boundary is architectural, not advisory.

Human only

  • Granting OAuth consent on an advertising platform.
  • Choosing which ad accounts to expose.

The four guarantees

The same four the product is sold on, stated here where they can be quoted.

  1. Your assistant never holds an ad token

    It talks to the gateway; the gateway talks to Google, Meta, TikTok and Pinterest. Ad platform credentials are encrypted at rest with AES-256-GCM and never leave the server, so a leaked chat transcript is not a leaked ad account.

  2. Exposure is per account, not per connection

    A Google MCC or a Meta Business Manager can sit over dozens of client accounts. Connecting one does not expose them all. The gateway answers only for the account IDs you explicitly ticked, and returns nothing for the rest.

  3. Safe Writes: every change previews first

    Every write tool returns a description of the change and stops. Applying it takes a second call with confirm set to true. An assistant that picked the wrong campaign shows you the wrong campaign instead of pausing it. Campaigns are always created paused.

  4. OAuth 2.1, not an API key in a config file

    The client registers itself dynamically, PKCE is required, and the code is bound to the redirect URI it was issued for. Revoking an assistant's access does not mean rotating a secret across your team.

Found something this page does not answer, or something it answers wrongly? Write to us. The privacy policy carries the legal detail behind these facts.