Native vs official MCP
mureo native tools vs. official MCP providers (Google, Meta & Amazon)
Section titled “mureo native tools vs. official MCP providers (Google, Meta & Amazon)”Status: 2026-09-17. The official ad-platform MCPs are in beta and their tool surface changes over time — re-verify before relying on a specific capability. See also architecture.md and byod.md.
Summary
Section titled “Summary”mureo ships its own native tool families for three platforms: Google Ads,
Meta Ads and Search Console (mureo/google_ads, mureo/meta_ads,
mureo/search_console in this repository). GA4 is not native — mureo
installs Google’s official Analytics MCP as the ga4-official provider
(mureo providers add ga4-official; see integrations.md).
Every other platform arrives as a separately distributed, pip-installable
plugin that mureo discovers through the provider registry (the
mureo.providers entry-point group); see
plugin-authoring.md. The ad platforms now also publish
official MCP servers, and mureo can install and register those as
drivers. They are not mutually exclusive: mureo is the control plane, and an
official MCP is a thin driver onto the platform’s own API.
There are three connection models in mureo today:
| Model | Who holds the credentials | Who is in the request path | Example |
|---|---|---|---|
| mureo-native | mureo (~/.mureo/credentials.json) | mureo → platform API | Google Ads, Meta Ads, Search Console |
| Official, host-registered | the AI host / connector | client → platform MCP (mureo is bypassed) | google-ads-official, meta-ads-official, TikTok’s hosted MCP |
| Official, mureo-mediated bridge | mureo (~/.mureo/credentials.json) | mureo → platform MCP | Amazon Ads |
The third model matters because the second one costs you mureo’s safety layer:
a host-registered official MCP never reaches mureo’s dispatcher, so its calls
cannot be hard-gated, audited, or promoted into action_log. The bridge keeps
those properties for a platform mureo has no native client for. See
Amazon Ads — the mureo-mediated bridge
below.
The practical differences for Google and Meta:
| Google Ads | Meta Ads | |
|---|---|---|
| Official MCP | googleads/google-ads-mcp (pipx, ADC) | hosted https://mcp.facebook.com/ads (OAuth) |
| Official tool count | 3 — read-only | 29 — read + write |
| Official can mutate? | No | Yes (direct to live account, no undo/draft/confirm) |
| mureo native tool count | 92 | 90 |
| mureo native can mutate? | Yes | Yes |
| Safety (rollback, action_log, strategy gating) | native only | native only |
BYOD / mureo demo (CSV, no live API) | native only | native only |
Native tool counts are approximate and shift between releases. The authoritative list is
mureo/mcp/_tools_google_ads_*.pyandmureo/mcp/_tools_meta_ads_*.py.
Google Ads
Section titled “Google Ads”Official MCP — google-ads-official
Section titled “Official MCP — google-ads-official”- Package
googleads/google-ads-mcp, installed via pipx, ADC auth (GOOGLE_APPLICATION_CREDENTIALS; optionalGOOGLE_ADS_LOGIN_CUSTOMER_IDfor MCC access and optional legacyGOOGLE_ADS_DEVELOPER_TOKEN). - Exposes 3 tools, all read-only:
search— run a read-only GAQL queryget_resource_metadata— schema/metadata for a resource typelist_accessible_customers— list accessible account IDs
- Cannot create or change anything. No campaign / ad group / ad / keyword / budget creation or edits, no status changes, no applying recommendations, no conversion setup.
mureo native — Google Ads (92 tools)
Section titled “mureo native — Google Ads (92 tools)”Full read and write, exposed as opinionated, task-level tools:
- Campaigns, ad groups, ads (incl. display + image upload)
- Keywords & negative keywords (add / pause / audit / suggest / dedupe)
- Budgets (get / update / create / reallocate / efficiency)
- Conversions (list / create / update / tag / performance)
- Search terms (report / analyze / review), sitelinks, callouts
- Recommendations (list / apply), auction insights, bid adjustments
- Device / location / schedule targeting, change history
- Performance analysis, cost-increase investigation, health checks, RSA asset audit
- B2B optimizations, landing-page & creative research
- Monitoring goals (delivery / CPA / CV / zero-conversions), screenshot capture
- Cross-cutting control plane: rollback plan/apply, action_log, STRATEGY/STATE awareness, learning insights
Google — what you can do in each
Section titled “Google — what you can do in each”| Capability | Official MCP | mureo native |
|---|---|---|
| Read performance data | Yes | Yes |
| Arbitrary raw GAQL query | Yes | Partial (via report tools, not free-form GAQL) |
| Create / update campaigns, ad groups, ads | No | Yes |
| Keyword & negative-keyword management | No | Yes |
| Budget create / update / reallocate | No | Yes |
| Conversion setup & tagging | No | Yes |
| Apply recommendations | No | Yes |
| Diagnosis / health checks / monitoring | No | Yes |
| Rollback / audit log / strategy gating | No | Yes |
Bottom line (Google): the official MCP is a read-only reporting window (useful if you want to write your own GAQL). Every operation — and all safety — comes from mureo native.
Meta Ads
Section titled “Meta Ads”Official MCP — meta-ads-official
Section titled “Official MCP — meta-ads-official”- Hosted at
https://mcp.facebook.com/ads(Meta Ads AI Connectors, open beta since 2026-04-29). Registered as a claude.ai connector via browser OAuth (Meta Business Login). It does not support dynamic client registration, so it cannot be added as a Claude Code user-scope server. - 29 tools, read + write, in five groups:
- Campaign management (5): create campaign / ad set / ad, update entity, activate entity
- Product catalog for commerce (10): catalogs, feeds, product sets, products, feed-quality diagnostics
- Accounts, pages & assets (3): account / entity / page lookups
- Datasets & tracking (4): Pixel & Conversions API diagnosis (event quality, stats, errors) — read-only
- Insights & performance (7): reporting, benchmarks, anomalies, trends, opportunity scoring
- Writes apply directly to the live account — no undo, no draft, no confirmation. Meta’s own mitigation advice: use read-only permission for the first few days, or set an account-level budget cap.
- Documented gaps (the official Meta MCP cannot): create audiences / custom / lookalikes; send Conversions API events (diagnosis only); create or retrieve lead forms & leads; set up A/B tests; automated rules; create creative assets (copy, images, carousels, collections, dynamic ads); Instagram-specific actions.
mureo native — Meta Ads (90 tools)
Section titled “mureo native — Meta Ads (90 tools)”Covers the same operational class as the official MCP plus every documented gap above:
- Campaigns, ad sets, ads (CRUD + pause / enable) — including bid strategy, bid constraints (min-ROAS), and promoted_object (conversion optimization)
- Page discovery (
pages_list) - Audiences + lookalikes
- Targeting discovery — interest search + category catalogues (behaviors / demographics / etc.) that resolve Meta’s internal targeting IDs
- Creatives — single image or video / carousel / collection / dynamic / lead — + image/video upload, video processing-status polling and thumbnail selection
- Insights + breakdowns; analysis (performance / audience / placements / cost / compare / suggest creative)
- Pixels (list / get / stats / events / create) and Conversions API send (purchase / lead)
- Catalogs / products / feeds
- Lead forms + lead retrieval + CSV export
- Split tests, automated rules, page-post boost, Instagram (accounts / media / boost)
- Cross-cutting control plane: rollback, action_log, strategy gating, learning insights, BYOD
Meta — what you can do in each
Section titled “Meta — what you can do in each”| Capability | Official MCP | mureo native |
|---|---|---|
| Read performance / benchmarks / anomalies | Yes | Yes |
| Create campaigns / ad sets / ads | Yes | Yes |
| Edit budgets / targeting | Yes | Yes |
| Product catalog / feed (shopping) | Yes (10 tools) | Yes |
| Pixel & CAPI signal diagnosis | Yes | Partial (pixel stats/events) |
| Audiences & lookalikes | No | Yes |
| Conversions API event sending | No (diagnosis only) | Yes |
| Lead forms / lead retrieval / CSV export | No | Yes |
| Creative asset creation (carousel / collection / dynamic / lead) | No | Yes |
| Split tests / automated rules | No | Yes |
| Instagram-specific actions | No | Yes |
| Rollback / audit log / strategy gating | No | Yes |
| Undo / draft / confirmation guardrails | No (none) | Yes |
Bottom line (Meta): the official MCP can run live campaigns and catalogs, but with no guardrails and several capability gaps (audiences, creatives, CAPI send, leads, tests, rules). mureo native closes those gaps and adds the safety / audit / strategy layer.
Amazon Ads — the mureo-mediated bridge
Section titled “Amazon Ads — the mureo-mediated bridge”mureo has no native Amazon Ads client. Amazon publishes an official MCP, and mureo connects to it on your behalf instead of handing it to your AI host:
Claude → local mureo MCP → Amazon hosted MCP endpointWhy the bridge exists
Section titled “Why the bridge exists”- Credentials never enter the host config. The Login with Amazon (LwA)
client id / refresh token / client secret stay in the
amazon_adssection of~/.mureo/credentials.json(0600). A host-registered official MCP would need them in the host’s own MCP configuration instead. - Token auto-refresh requires mureo in the path. LwA access tokens expire in ~60 minutes. mureo mints one before the first forwarded call and performs exactly one refresh-and-retry when a call fails on expiry — it is what observes the failure, exchanges the refresh token, and retries. Nothing outside the request path can do that for you.
- Full participation in the safety layer. Because the call goes through
mureo’s dispatcher, Amazon tools are audited, throttled, strategy-gated, and
successful mutations are promoted into
STATE.jsonaction_logunderplatform="plugin:mureo-amazon-ads-bridge:amazon_ads"with an observation window — exactly what a host-registered official MCP cannot offer.
What that costs, and what it does not buy
Section titled “What that costs, and what it does not buy”| mureo-native (Google / Meta) | Official, host-registered | Amazon bridge | |
|---|---|---|---|
Credentials stay in ~/.mureo/credentials.json | Yes | No | Yes |
| Automatic token refresh by mureo | Yes | No | Yes |
Audit log / action_log promotion | Yes | No | Yes |
| Hard guardrail enforcement before dispatch | Yes (exact argument keys) | No | Yes on the 13 money-carrying tools (exact argument paths mureo declares), with the pattern scan applied underneath as a floor; best-effort (pattern-matched argument keys) alone on the rest of the surface |
| Rollback | Allow-listed operations are auto-reversible | No | Automatic before-state capture on eight paired campaign/ad/ad-group/target/portfolio updates; best-effort, see amazon-ads.md |
| mureo tool names / taxonomy | mureo’s | the platform’s | the platform’s (campaign_management-*, account_management-*) |
| Deep mureo analytics (anomaly baselines, RSA audit, CV-mismatch) | Yes | No | Not yet (#120) |
| Works while the mureo MCP server is stopped | No | Yes | No |
BYOD / mureo demo (CSV, no live API) | Yes | No | No (out of scope by design) |
Setup, environment variables, and the full caveat list: amazon-ads.md.
How they coexist
Section titled “How they coexist”When you install an official provider for a platform mureo also serves natively,
mureo sets MUREO_DISABLE_<PLATFORM>=1 on its own MCP server block so the two do
not expose duplicate tools. Per issue #102 / PR #265, mureo configure
does not disable native tools until the official provider is actually
credentialed (every one of its required_env names resolved to a stored
value), so that path never leaves you with zero working tools; the
mureo providers add CLI sets the flag as soon as it registers the provider.
Removing the official provider clears the flag and re-enables native tools.
- Switch native → official:
mureo providers add <provider>(or the configure dashboard toggle) - Switch back:
mureo providers remove <provider> - Search Console has no official MCP — mureo native remains canonical and is never disabled.
When to use which
Section titled “When to use which”- Stay on mureo native when you need: write operations with rollback/audit, strategy-driven automation, BYOD/demo on CSV, audiences / creatives / leads / tests / rules (Meta), or any Google Ads mutation.
- Add the official MCP when you want: the platform’s first-party data surface (raw GAQL on Google), or to drive Meta live operations through Meta’s hosted connector — ideally alongside mureo native for the gaps and guardrails.
- Use the mureo-mediated bridge when mureo has no native client for the platform but you still want the credentials, audit trail, and gating to stay with mureo. Amazon Ads is the current example, and it is the only way mureo supports Amazon today.