

It is a hosted endpoint at https://pma-mcp.web.app that exposes your PMA Hub to Model Context Protocol–compatible AI assistants. Once connected, your AI assistant can browse your connected data sources, inspect schemas, run analytics queries against your warehoused marketing data, and read or build Data Builder datasets, all through natural-language conversation. In short, it turns your Hub into a conversational analytics surface: instead of building a report to answer a one-off question, you can simply ask.
The MCP server is most useful for paid-media teams, agency analysts, and anyone running ad-hoc "what changed?", "compare X to Y," or "is anything weird?" investigations. It is designed for any PMA user with Hub access: the marketers and analysts who want answers without building a report first.
Both reach the same warehoused data. The MCP Server connects an AI assistant (Claude or ChatGPT) so you can ask questions in plain language; the PMA API gives your own code direct REST access. Both are now available to all PMA users. For a full breakdown, see PMA API vs. PMA MCP Server.
Yes. We’ve put together pre-built prompts for every role to help you get started fast. See the PMA MCP Server Prompt Playbook.
MCP is now available to all PMA users; no request or early access is needed. Simply connect your AI client using the setup guides linked at the end of this article. When you connect a browser-based AI client, your token is created automatically through the OAuth flow.
You'll need an active PMA Hub with at least one connected data source that has data syncing. That's it on the PMA side: MCP is available to all PMA users in Beta, with no special role or access request required. When you connect a browser-based AI client, your token is created automatically through the OAuth flow. For headless / server-to-server integrations, generate an API token from Hub settings (Settings > API Tokens).
Any MCP-compatible client that supports the Streamable HTTP transport works. Today that includes:
Each client has its own short setup guide, linked at the end of this article.
For browser-based AI clients, yes: you need a Claude or ChatGPT plan tier that supports custom MCP connectors (for example, Claude Pro or Team). Individual users on a qualifying plan can add the connector themselves. In organization contexts, the AI client's organization Owner adds the custom connector once for the whole org, and individual users then connect their own PMA accounts.
Anything that maps to the data you've centralized in your Hub. Common examples:
Behind the scenes, the server exposes 22 first-party tools grouped into discovery and diagnostics, sub-account and activity, analytics, Data Builder datasets, and template browsing. You'll rarely call them by name; your AI assistant picks the right tool based on your question. For the full inventory, see the PMA MCP Tools Reference.
Yes for Data Builder datasets: the MCP server can read, write, and query your Data Builder datasets, including creating a new dataset (from a template or blank) and adding data tables to it. A dataset created through MCP is the same dataset you see in the Hub; you can edit either one in the other surface.
Configuration tasks (connecting new sources, managing sub-accounts, or changing sync schedules) are still done in the Hub. The MCP server can list and inspect those settings, but it does not change them.
No. The MCP server is a new way to consume the data you've already centralized; it complements your existing tools rather than replacing them. Your Data Studio, Google Sheets, and Microsoft Excel reports stay authoritative for recurring, shareable, board-ready reporting. The PMA API and Custom-plan exports remain the path for programmatic, scheduled, and large-volume access. The MCP server proxies to the same warehoused, deduplicated, time-zone-normalized SQL layer those surfaces use; it is an additional access surface, not a replacement. It shines for ad-hoc, exploratory, single-user questions you'd otherwise build a whole report to answer.
PMA's MCP queries your warehoused, blended, multi-platform layer, so cross-platform comparison is a single tool call rather than a manual reconciliation. Because it reads the warehouse and not each platform's live API, it isn't subject to per-platform live-API rate limits or per-platform quirks.
A few things are out of scope today:
The MCP server queries PMA's warehoused data layer, so answers reflect the state of your warehouse after the most recent successful Data Sync for each platform. Sync cadence is plan-dependent: daily by default, with hourly refreshes available on Custom plans (with the optional hourly refresh feature). Each account's last-sync timestamp is queryable, so you (or your AI assistant) can always check current freshness by asking for your connected data sources.
The MCP layer does not currently enforce a maximum lookback window; that cap has not yet been decided. You can query historical ranges, but treat answers from very old date ranges as best-effort until the cap is formally set and documented.
This is intentional. Anomaly detection explicitly excludes zero-value days from anomaly results and reports them separately as data gaps rather than as performance drops. A zero-data day usually reflects a sync gap to backfill, not a real drop, so it's surfaced as "no data reported" instead of an anomaly.
No new passwords. There are two authentication paths, and both leverage credentials you already have:
Both paths resolve to the same underlying PMA API token, so no separate identity is created for the MCP server.
It can access the same warehoused marketing data your PMA login can reach in the Hub: your connected sources, schemas, analytics queries, and Data Builder datasets for the hub you authorize. It receives query results only as part of the conversation; it does not get a copy of your warehouse.
Open the MCP page in your Hub (left navigation). The Connected Application table lists the applications your organization has connected. (If PMA support connects to your organization to troubleshoot an issue, that connection is not shown and its usage is never counted toward your totals.) To revoke a connection, click the trash icon in the Actions column and click Confirm; that application immediately loses access, and your Hub data is unaffected. See Using the MCP Page in Your PMA Hub.
Your data continues to live in PMA's existing data warehouse. No data is mirrored into the AI client; the AI client only receives the specific query results needed to answer you, as part of your conversation. Those results are then handled under your AI provider's own terms (Anthropic for Claude, OpenAI for ChatGPT). The MCP layer introduces no new PMA sub-processors beyond Google (PMA's existing hosting and warehouse provider).
Wherever it already lives in PMA: the US data center (Google Cloud, Council Bluffs, Iowa) by default, or the EU data center (Google Cloud, Frankfurt, Germany) for organizations that selected EU data residency. The MCP server does not change your data residency. For full details on how PMA handles data, see the Privacy Policy.
MCP is free to use during its Beta soft launch, with no usage-based charges, through July 31, 2026. Starting August 1, 2026, MCP usage will move to usage-based billing. The specific usage limits and pricing for each plan are still being finalized; we will share the full details, and give you advance notice, before any charges begin. For your current plan details, check your Hub or contact your PMA representative. Any troubleshooting activity by the PMA support team is excluded from your usage stats and will never be billed to you.
A few behaviors are worth knowing up front. For symptom-by-symptom fixes, see the troubleshooting article linked below.
Yes. 30 requests per minute per organization is a hard limit. Agentic AI clients in chatty loops (or investigations that fan out across many platforms at once) can hit it and receive a generic "too many requests" error. This is intentional, not a bug; pause for a minute, then retry, and consider tightening your prompt to reduce the number of tool calls.
Canonical response formats for high-frequency queries are still being standardized, so the same prompt can occasionally return slightly different structures. If consistency matters for your workflow, state the output format you want in the prompt (for example, "answer as a table with columns Platform, Spend, Clicks").
ChatGPT does not invoke custom MCP connectors automatically. Open the tools menu and select PMA MCP at the start of each new chat, then resend your prompt. (Claude clients don't require this step.)