Skip to content
Marketing Data

MCP server for agencies

Ask your clients’ marketing data anything.

Connect Google Ads, GA4 and Tag Manager once. Then ask Claude, ChatGPT, Gemini — or any MCP client — about every client you manage, in plain language. Read-only by default.

We are opening up gradually. Invited already? Sign in with your work email.

Works with

  • Claude
  • ChatGPT
  • Gemini
  • any MCP client with OAuth
/mcp/p/client-a Read only

Which campaigns spent money last month without a single conversion?

ads_campaign_performance LAST_MONTH

Is the conversion tracking in their Tag Manager container set up right?

gtm_audit_container live version

Checks the live container for tags without triggers, paused tags, a missing conversion linker, consent settings and unpublished changes — each finding with why it matters and how to fix it.

Illustration. The assistant picks the tools; you just ask.

How it works

Three steps, then just ask.

Your Google logins plug into client projects; each project plugs into your assistant. The assistant only ever sees what you patched through.

  1. Connect a Google login once

    Sign in with Google for your organization — your agency login, an MCC, or a client’s own. Pick Read only (the default) or Read & write per product.

    you@agency.com · read only

  2. Pick each client’s accounts

    Create a project per client and tick the Google Ads accounts, GA4 properties and Tag Manager containers it uses. The assistant sees those — nothing else.

    • Google Ads account
    • GA4 property
    • Tag Manager container
  3. Add the project’s URL to your assistant

    Paste it into Claude, ChatGPT, Gemini or any MCP client. A browser window opens, you sign in and approve. OAuth — no API keys to copy.

    https://mdmcp.wind-codlet.ts.net/mcp/p/client-a

Example questions

The questions you’d ask an analyst, answered from live data.

Answers come back as compact tables with money in each account’s currency and CPA, ROAS and CTR already worked out. The tool names show what runs underneath.

Google Ads

  • “How are all my clients’ accounts doing this month?”

    ads_accounts_overview

  • “Which search terms cost money last month without converting?”

    ads_search_terms

  • “Which keywords have a low quality score, and which part is weak?”

    ads_keywords

  • “Conversions dropped on Tuesday — what changed in the account?”

    ads_change_history

Google Analytics 4

  • “Traffic and key events by channel, last 30 days against the 30 before.”

    ga4_traffic_overview

  • “Which landing pages brought in the most revenue last month?”

    ga4_run_report

  • “What are people doing on the site right now?”

    ga4_realtime_report

  • “Which key events are set up, and is Google Ads linked?”

    ga4_property_details

Google Tag Manager

  • “Audit the live container — anything broken or risky?”

    gtm_audit_container

  • “Which tags fire on every page, and which are paused?”

    gtm_list_tags

  • “Are there triggers or variables that nothing uses?”

    gtm_list_triggers gtm_list_variables

  • “What’s in the live version, and when was it saved?”

    gtm_container_summary

Where you allow changes, you can also say “Pause the Summer sale campaign”, “Add these as exact-match negatives” or “Mark sign_up as a key event” — always previewed first. How changes work

Built for agencies

Every client in its own sealed project.

Run all your clients from one organization, with your team, without data from one client ever showing up in another client’s conversation.

Organizations, members & roles
Invite your team as owners, admins or members. Members only see the projects you grant them.
One project per client
Each with its own accounts, MCP URL and AI instructions — KPIs, targets, tone — so the assistant knows whose numbers it’s reading.
Project isolation
Every tool call is checked against the project’s accounts before anything reaches Google.
As many Google logins as you need
Your agency login, an MCC, a client’s own login — connect each once and use it in any project.
Your organization

An assistant connected to client-a can’t list, read or change anything in client-b. One org-wide URL is there too, if you’d rather pick the project in the chat.

Safety & control

Read-only by default. Changes only where you allow them.

Your assistant works with clients’ live accounts, so control isn’t a setting you have to remember. It’s how the product is built.

  • Read-only by default

    New Google logins are read only. Google Ads has no read-only permission, so we enforce it in code, and test that it holds.

  • Four locks on every change

    Read & write on the Google login, “Allow changes” on the project, a person allowed to make changes, and their OK for the AI app when they connect it. Missing one? The assistant doesn’t even see the tools.

  • Guardrails

    Budget changes are capped per call (±50% by default), removals are off — pause instead — and Tag Manager publishing stays off until you turn it on.

  • Tokens encrypted at rest

    Google refresh tokens are stored with AES-256-GCM and only decrypted in memory for a request. They never reach your assistant.

  • Metadata-only logs

    We log which tool ran on which account, for whom and how long it took. Never report rows, API responses or tokens.

  • Hosted in the EU

    Your account, projects and encrypted tokens live in the EU. Report data isn’t stored: it’s fetched when you ask and kept in memory for a few minutes at most.

How a change happens

“Pause the Summer sale campaign.”

  1. 1

    Preview

    Nothing changes yet. You see exactly what would.

    ads_set_campaign_statusdry run

    Summer sale · status ENABLED → PAUSED

  2. 2

    Confirm

    You say yes, and exactly the previewed change is applied — if nothing moved in the meantime.

  3. 3

    Logged

    Before and after, who and when, in the project’s change log.

  4. 4

    Undoable

    One click in the project’s Activity tab, or ask the assistant — wherever the platform allows a change to be reverted.

Your Google data

What we ask Google for, and why.

When you connect a Google account, Marketing Data asks for access to Google Ads, Google Analytics and Tag Manager. Read only, unless you pick Read & write for a product. It uses that access only for what you ask for.

Google Ads

Read only · default
adwords
Lists the accounts you can pick for a project and runs reports: campaigns, keywords, search terms, conversions, change history.
Read & write · if you choose it
adwords (the same permission)
Pauses or enables campaigns and keywords, changes budgets and bid targets, adds negative keywords. Google has one Ads permission for both, so we keep read-only logins to reports in our code, and test that it holds.

Google Analytics 4

Read only · default
analytics.readonly
Lists your properties and runs reports, realtime reports and property settings.
Read & write · if you choose it
analytics.edit
Marks events as key events, creates custom dimensions and metrics, changes data retention.

Google Tag Manager

Read only · default
tagmanager.readonly
Lists your containers and reads tags, triggers, variables and versions, for questions and the container audit.
Read & write · if you choose it
tagmanager.edit.containers tagmanager.edit.containerversions tagmanager.publish
Edits tags, triggers and variables in a workspace, creates versions, and publishes one — only in projects where an admin has turned publishing on.
  • Used only for what you ask

    To list your accounts in the app, answer your assistant’s requests, and apply changes you have previewed and confirmed. Google also tells us the connected account’s email (openid, email), so you can see which login a project uses.

  • Sent only to your assistant

    Results go to the AI assistant you connected to the project, in answer to its request. Nowhere else.

  • Not stored

    Report data is kept in memory for a few minutes at most. We store the names and ids of the accounts in your projects, an encrypted refresh token, a metadata-only activity log and, for changes, the old and new values.

  • Never sold or used for ads or AI training

    People don’t read it, unless you ask us to for support, for security, or because the law requires it.

  • Yours to revoke

    Remove a connection in Settings → Connections, which also revokes our access at Google, or revoke it any time at myaccount.google.com/permissions.

Limited Use

Marketing Data’s use of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Full details: how we handle personal data.

Pricing

Pay for connected accounts. Every feature on every plan.

What’s a connected account?

One Google Ads account, GA4 property or Tag Manager container in your projects. The same account in several projects counts once, and connecting a Google login is free.

  • Free

    €0 forever

    20 connected accounts

    For trying it on real clients. No card needed.

  • Solo

    €19 / month

    50 connected accounts

    For freelancers and small teams.

  • Agency

    €79 / month

    200 connected accounts

    For agencies with a full client roster.

  • Scale

    €199 / month

    600 connected accounts

    For large agencies and in-house teams.

Included in every plan

  • Google Ads, GA4 and Tag Manager
  • Any number of projects and team members
  • Read & write tools with preview and undo
  • Activity and change log per project
Request access

Prices in EUR, excluding VAT. Monthly, cancel anytime.

FAQ

Good questions.

Something missing? Write to hello@example.com.

What is MCP?

The Model Context Protocol is an open standard that lets AI assistants use tools on other servers. Marketing Data is such a server: when you ask about a client, your assistant calls it, and it fetches the answer from Google with your permission — no exports, no copy-pasting reports.

Which assistants work?

Any assistant that can add a remote MCP server with OAuth sign-in: Claude (claude.ai, Claude Desktop and Claude Code), ChatGPT with custom connectors, Gemini CLI and other MCP clients. The app shows the setup steps for each.

Is my clients’ data stored?

Report data isn’t. It’s fetched from Google when your assistant asks, returned, and kept in memory for a few minutes at most so repeated questions are fast. We store your account, your projects and settings, encrypted Google tokens, a metadata-only activity log — and, if you allow changes, a log of what was changed.

How do I remove access or delete my data?

Remove a Google login under Settings → Connections: that also revokes our access at Google, at once. You can revoke it yourself any time at myaccount.google.com/permissions. To delete everything, an owner deletes the organization under Settings → Organization: projects, connections, members and logs are deleted together and Google access is revoked. Each person can delete their own account under Settings → Account. Want a copy first? Export your data as JSON on the same pages.

Can it change my campaigns?

Only if you allow it. Everything is read-only until a Google login has Read & write access, the project has “Allow changes” on for that product, and the person asking may make changes. Even then each change is previewed first, applied only when confirmed, logged with before and after, and can be undone where the platform allows it.

Do my clients need to do anything?

No. You connect a Google login that already has access to their accounts — your agency login, an MCC, or a login the client shares with you — and choose which accounts each project uses.

Which platforms are supported?

Google Ads, Google Analytics 4 and Google Tag Manager today. More ad platforms are planned.

Can I cancel anytime?

Yes. Paid plans are monthly and can be cancelled in the app at any time; your organization then moves to the Free plan. If it uses more accounts than Free includes, assistant requests pause until you remove some or upgrade again. The web app keeps working either way.

Ask your first question today.

Connect a Google login, set up a client project and add its URL to your assistant. It takes a few minutes.

We are opening up gradually. Invited already? Sign in with your work email.