Skip to content

feat: first-class Amazon Ads support (official Amazon Ads MCP integration) #113

@hyoshi

Description

@hyoshi

Summary

Amazon Ads now ships an official, first-party MCP server (Amazon Ads MCP, open beta announced 2026-02-02, available worldwide, write-capable). Today mureo's workflow/value layer (skills, STRATEGY/STATE grounding, audit log, rollback, anomaly detection, scoring, BYOD) only covers Google Ads, Meta Ads, Search Console, GA4. Simply installing Amazon's MCP makes its tools available to the LLM but mureo does not orchestrate Amazon. This issue tracks adding first-class Amazon Ads support to mureo.

Current state / gap analysis (verified in code)

mureo has zero Amazon-specific code:

  • mureo/adapters/ = google_ads, meta_ads only.
  • Operational skills (daily-check, rescue, budget-rebalance, creative-refresh, search-term-cleanup, goal-review, weekly-report, sync-state, competitive-scan, onboard) iterate google_ads / meta_ads / search_console / ga4; Amazon is not a configured mureo platform → skills never include it.
  • coexists_with_mureo_platform / MUREO_DISABLE_* wired for google_ads / meta_ads (+ SC / GA) only.
  • mureo/byod/adapters/ = google_ads, meta_ads only.
  • No amazon-ads-official entry in mureo/providers/catalog.py (catalog = google-ads-official, meta-ads-official, ga4-official).
  • Skill provider-aware fallback text names only google-ads-official / meta-ads-official.

So this is a substantial feature, not a config/catalog add.

Official documentation findings (cite + confidence)

From the official Amazon Ads newsroom (https://advertising.amazon.com/library/news/amazon-ads-mcp-server-open-beta), 2026-02-02:

  • Status: open beta, available worldwide. Write-capable (campaign create/update/delete, reporting, account settings, billing/financial, multi-step incl. cross-region).
  • Auth: requires valid Amazon Ads API partner credentials (Login with Amazon / Amazon Ads API). Implies a pre-registered API client model — DCR support unconfirmed (likely the same "hosted OAuth needs a pre-registered client" pattern as Meta's hosted MCP; see the Meta-on-Claude-Code / Claude.ai-connector decision).
  • Connection: MCP "translation layer" integrating with AI platforms.
  • NOT yet verified (blocking): exact endpoint URL(s) + regional variants (NA/EU/FE), transport (streamable HTTP vs SSE), DCR vs pre-registered client, scopes, install/registration method, exact tool surface/count, rate limits, pricing/eligibility. The primary docs page https://advertising.amazon.com/API/docs/en-us/mcp/get-started is a JS-rendered shell and could not be machine-fetched.

Phase 0 — verify official docs (blocking, do FIRST)

Per maintainer instruction, development must be grounded in official Amazon docs. Before any code depends on endpoint/auth specifics, confirm against the official Amazon Ads MCP docs (browser/manual — auto-fetch blocked):

  • Exact MCP endpoint(s) + regional routing (NA/EU/FE).
  • Transport + auth (Login with Amazon scopes; DCR vs pre-registered client — decides whether mureo registers it like a user-scope server or steers users to a Claude.ai connector / manual client, exactly like the Meta decision).
  • Registration/connect method + minimal config.
  • Tool surface (Sponsored Products/Brands/Display/DSP/AMC), read/write scope, rate limits, eligibility, pricing.
  • Whether it's a hosted endpoint (no local install) — install_kind = hosted_http.

Proposed phased plan (mirrors how Meta hosted was onboarded)

Phase 1 — providers catalog + auth guidance (smallest shippable)

  • Add amazon-ads-official to mureo/providers/catalog.py (likely hosted_http), with notes reflecting verified Phase 0 facts.
  • Wizard/CLI guidance for Amazon auth (Claude.ai connector or pre-registered client — per DCR finding; reuse the Meta connector.code.* pattern).
  • Docs (README/getting-started/byod compat note), EN + JA.
  • Provider-aware skill fallback text extended to name amazon-ads-official for the relevant skills.

Phase 2 — mureo orchestration of Amazon

  • Add amazon_ads as a mureo platform: skill diagnostic loops include it; STRATEGY.md/STATE.json schema + onboarding cover Amazon; coexists_with_mureo_platform / MUREO_DISABLE_AMAZON_ADS wiring; native↔official dashboard toggle; audit log / rollback semantics for write-capable Amazon ops (safety-gating — Amazon MCP can mutate).
  • Decide: thin "official-only" platform (no mureo-native Amazon client) vs full native adapter. Likely official-only first (no Amazon API client maintenance), like the design intent for hosted providers.

Phase 3 — optional

  • BYOD adapter for Amazon (if a CSV/export path exists) — only if there is real demand; Amazon BYOD is out of scope unless an export format is defined.

Risks / open questions

  • Open beta → endpoint/tool surface volatile; pin/verify, expect churn.
  • Write-capable: mureo's safety model (strategy gating, BYOD read-only, rollback/audit) must explicitly cover Amazon mutations before exposing them, or scope Phase 1/2 to read/report only initially.
  • Hosted + likely no DCR → same UX friction as Meta on Claude Code (Claude.ai connector path); confirm in Phase 0.
  • "Amazon Ads partner credentials" eligibility may gate who can use it.

Acceptance criteria (Phase 1)

  • Phase 0 official-doc facts confirmed and recorded.
  • amazon-ads-official installable via mureo providers add / configure UI with correct auth guidance.
  • Skills' provider-aware fallback documents Amazon equivalents where applicable.
  • Docs (EN/JA) state Amazon support scope honestly (what works vs not).
  • Tests + CI green; no regression to existing providers.

Note: development will consult the official Amazon Ads MCP documentation at each step (maintainer instruction). Confidence on non-newsroom specifics is currently LOW until Phase 0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions