Skip to content

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.

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:

ModelWho holds the credentialsWho is in the request pathExample
mureo-nativemureo (~/.mureo/credentials.json)mureo → platform APIGoogle Ads, Meta Ads, Search Console
Official, host-registeredthe AI host / connectorclient → platform MCP (mureo is bypassed)google-ads-official, meta-ads-official, TikTok’s hosted MCP
Official, mureo-mediated bridgemureo (~/.mureo/credentials.json)mureo → platform MCPAmazon 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 AdsMeta Ads
Official MCPgoogleads/google-ads-mcp (pipx, ADC)hosted https://mcp.facebook.com/ads (OAuth)
Official tool count3 — read-only29 — read + write
Official can mutate?NoYes (direct to live account, no undo/draft/confirm)
mureo native tool count9290
mureo native can mutate?YesYes
Safety (rollback, action_log, strategy gating)native onlynative only
BYOD / mureo demo (CSV, no live API)native onlynative only

Native tool counts are approximate and shift between releases. The authoritative list is mureo/mcp/_tools_google_ads_*.py and mureo/mcp/_tools_meta_ads_*.py.


  • Package googleads/google-ads-mcp, installed via pipx, ADC auth (GOOGLE_APPLICATION_CREDENTIALS; optional GOOGLE_ADS_LOGIN_CUSTOMER_ID for MCC access and optional legacy GOOGLE_ADS_DEVELOPER_TOKEN).
  • Exposes 3 tools, all read-only:
    • search — run a read-only GAQL query
    • get_resource_metadata — schema/metadata for a resource type
    • list_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.

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
CapabilityOfficial MCPmureo native
Read performance dataYesYes
Arbitrary raw GAQL queryYesPartial (via report tools, not free-form GAQL)
Create / update campaigns, ad groups, adsNoYes
Keyword & negative-keyword managementNoYes
Budget create / update / reallocateNoYes
Conversion setup & taggingNoYes
Apply recommendationsNoYes
Diagnosis / health checks / monitoringNoYes
Rollback / audit log / strategy gatingNoYes

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.


  • 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.

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
CapabilityOfficial MCPmureo native
Read performance / benchmarks / anomaliesYesYes
Create campaigns / ad sets / adsYesYes
Edit budgets / targetingYesYes
Product catalog / feed (shopping)Yes (10 tools)Yes
Pixel & CAPI signal diagnosisYesPartial (pixel stats/events)
Audiences & lookalikesNoYes
Conversions API event sendingNo (diagnosis only)Yes
Lead forms / lead retrieval / CSV exportNoYes
Creative asset creation (carousel / collection / dynamic / lead)NoYes
Split tests / automated rulesNoYes
Instagram-specific actionsNoYes
Rollback / audit log / strategy gatingNoYes
Undo / draft / confirmation guardrailsNo (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.


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 endpoint
  • Credentials never enter the host config. The Login with Amazon (LwA) client id / refresh token / client secret stay in the amazon_ads section 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.json action_log under platform="plugin:mureo-amazon-ads-bridge:amazon_ads" with an observation window — exactly what a host-registered official MCP cannot offer.
mureo-native (Google / Meta)Official, host-registeredAmazon bridge
Credentials stay in ~/.mureo/credentials.jsonYesNoYes
Automatic token refresh by mureoYesNoYes
Audit log / action_log promotionYesNoYes
Hard guardrail enforcement before dispatchYes (exact argument keys)NoYes 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
RollbackAllow-listed operations are auto-reversibleNoAutomatic before-state capture on eight paired campaign/ad/ad-group/target/portfolio updates; best-effort, see amazon-ads.md
mureo tool names / taxonomymureo’sthe platform’sthe platform’s (campaign_management-*, account_management-*)
Deep mureo analytics (anomaly baselines, RSA audit, CV-mismatch)YesNoNot yet (#120)
Works while the mureo MCP server is stoppedNoYesNo
BYOD / mureo demo (CSV, no live API)YesNoNo (out of scope by design)

Setup, environment variables, and the full caveat list: amazon-ads.md.


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.
  • 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.