MCP for Google Ads and Meta Ads: how AI agents access your campaigns
Google and Meta launched official MCP servers for their own ad accounts. See what each one does, where it stops and how to connect it to your CRM.
Published on
5 min read

The Google Ads MCP is the official server that Google launched to let an AI agent query campaigns, budget and status directly in the ad account, without copying a spreadsheet into the prompt. Meta did the same on its side, with its own server for Meta Ads. Each one uses MCP, the open protocol that standardizes this access, but handles well only the piece it sees, which is the account of its own channel. The problem shows up in the question that crosses both at the same time, such as which campaign, between Google and Meta, really brought in customers this month.
How the official Google Ads MCP works
This feature runs as a server that Google itself maintains, documented in the Google Ads API Developer Toolkit, with three tools: list accessible accounts, run queries in GAQL (Google Ads' query language) and fetch metadata for each resource type. It is strictly read-only: the documentation states that it does not change bids, does not pause campaigns and does not create new ads. This is a deliberate choice for those who want the agent to only answer questions, with no risk of touching the campaign.
The installation runs locally or on Google Cloud, with authentication through OAuth2 or a service account. For this article, what matters is the practical result: an agent connected to this server lists the user's accounts, runs a query and returns the real campaign metric, without making up numbers.
What changes with Meta's Ads MCP Server
Meta also has an official MCP server for ads, hosted by Meta itself at mcp.facebook.com/ads, accessible to any agent compatible with the protocol. The difference from Google's side is in the reach of the actions: besides performance reports, this server creates and edits campaigns, ad sets and ads, handles product catalogs and queries A/B tests and incrementality studies. It is a read and write server, not just a query one.
Even so, the two share the same limit: each server sees only its own ad account. An agent connected to Meta's MCP does not know what happened in the Google Ads account, and vice versa.
The limit of two separate servers per channel
An agent connected only to the Google Ads MCP, or only to Meta's server, will always answer for half of the funnel. Each server was built for its own account, so the comparison between channels and the link to what happened after the click are left out.
- It does not compare Google Ads with Meta Ads in the same report, because each server only sees its own account.
- It does not know whether the click became a qualified lead or a customer, because that information lives in the CRM, not in the ad account.
- It does not know whether two campaigns, one in each channel, are competing for the same audience, because it has no view of the whole funnel.
The result is an agent that answers "how much did we spend" well and "who bought because of it" poorly, the same gap that appears whenever the MCP covers only a slice of the funnel instead of the whole funnel.
How an agent sees Google Ads, Meta Ads and the CRM at the same time
The way out is to connect the agent to a database that has already joined paid media and CRM before the question arrives, instead of each ad account in isolation. This requires centralized data, a standardized access protocol and real context from the operation, the same three ingredients that decide whether an AI agent answers accurately or returns an estimate.
A concrete example is Google Ads click tracking. The identifier that links the click to the lead, the GCLID, is valid for only 90 days and now travels through the Data Manager API, no longer through the standard Google Ads API. An agent that only talks to the Google Ads MCP does not know whether that lead closed a deal later; the one that makes this bridge is the database that already recorded the click, the event and the funnel stage together.
Laiki connects this same agent to paid media, CRM and sales funnel already organized in a single database, so the question about Google Ads and Meta Ads comes back with the sales data behind it, not just the click data. The connection starts from the account's org_id and the Data Knowledge Base, the record of how that company names campaigns, events and stages, which keeps the agent from having to guess the structure with every new question. Discover Laiki MCP for AI agents.
Frequently asked questions about MCP for Google Ads and Meta Ads
Can the Google Ads MCP pause a campaign or change a bid?
No. According to the official documentation, it is strictly read-only: it lists accounts, runs queries and returns metadata, without changing bids, pausing campaigns or creating new ads.
Does Meta's Ads MCP Server do the same thing?
Not exactly. It also reads reports and performance, but goes further: it creates and edits campaigns, ad sets and product catalogs through the conversation itself.
Do these two servers replace a marketing and sales data platform?
No. Each one handles its own ad account well, but neither cross-references that with the CRM, website events or sales stages. This whole-funnel view depends on a database that has already organized the data before the question arrives.
Do I need a technical team to connect an agent to these two servers?
It depends on where the data lives. When a marketing and sales data platform already offers this connection ready-made, users just ask the question in natural language, and the configuration stays on the side of whoever built the database.
Before connecting an agent only to the Google Ads MCP or only to Meta's server, it is worth confirming which question it will really answer. Isolated account queries, both do well. A question that crosses channels and the sales funnel depends on a database that has already joined that data, and that is where the mechanism Laiki solves comes in.


