Skip to content

logly/mureo

v0.9.9 Feature

This release adds 3 notable features for engineering teams evaluating rollout.

✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

advertising agentic-ai ai-agents claude-code cli codex
+11 more
cursor facebook-ads gemini-cli google-ads marketing marketing-automation mcp meta-ads model-context-protocol python search-console

ReleasePort's take

Light signal
editorial:auto 11d

Release v0.9.9 introduces a public AnalyticsModule protocol and registry for deep analytics integration.

Why it matters: Enables external platforms to register analytics capabilities (detect anomalies, diagnose performance, audit creative, analyze budget efficiency) via the new mureo.analytics entry‑point group; all four adapters now advertise full capability sets.

Summary

AI summary

Adds a public AnalyticsModule protocol and registry enabling external‑integration platforms to provide deep analytics.

Changes in this release

Feature Medium

Adds opt‑in AnalyticsModule protocol with four methods.

Adds opt‑in AnalyticsModule protocol with four methods.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Introduces AnalyticsCapability enum (DETECT_ANOMALIES, DIAGNOSE_PERFORMANCE, AUDIT_CREATIVE, ANALYZE_BUDGET_EFFICIENCY).

Introduces AnalyticsCapability enum (DETECT_ANOMALIES, DIAGNOSE_PERFORMANCE, AUDIT_CREATIVE, ANALYZE_BUDGET_EFFICIENCY).

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Provides frozen-dataclass models: Anomaly, PerformanceDiagnosis, CreativeAudit, BudgetEfficiency.

Provides frozen-dataclass models: Anomaly, PerformanceDiagnosis, CreativeAudit, BudgetEfficiency.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Adds entry‑point group `mureo.analytics` registry for plugin registration.

Adds entry‑point group `mureo.analytics` registry for plugin registration.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Adds MCP tool `mureo_analytics_modules_list` to enumerate registered platforms and capabilities.

Adds MCP tool `mureo_analytics_modules_list` to enumerate registered platforms and capabilities.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Re‑exports TypedDicts for Google and Meta performance rows in `mureo.analytics`.

Re‑exports TypedDicts for Google and Meta performance rows in `mureo.analytics`.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Updates built‑in adapters `google_ads` and `meta_ads` to advertise all four analytics capabilities.

Updates built‑in adapters `google_ads` and `meta_ads` to advertise all four analytics capabilities.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Implements per‑campaign fan‑out for `detect_anomalies` to avoid masking single‑campaign issues.

Implements per‑campaign fan‑out for `detect_anomalies` to avoid masking single‑campaign issues.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Adds per‑campaign drilldown (`PerformanceScope.DEEP`) to `diagnose_performance` with sorted spend/CV/CPA metrics.

Adds per‑campaign drilldown (`PerformanceScope.DEEP`) to `diagnose_performance` with sorted spend/CV/CPA metrics.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Enhances `audit_creative` to check RSA/RDA/Meta ad shape, stamp campaign IDs, and provide per‑campaign summaries.

Enhances `audit_creative` to check RSA/RDA/Meta ad shape, stamp campaign IDs, and provide per‑campaign summaries.

Source: llm_adapter@2026-05-23

Confidence: high

Feature Medium

Implements `analyze_budget_efficiency` to normalize conversions/cost and suggest reallocation when spread is wide.

Implements `analyze_budget_efficiency` to normalize conversions/cost and suggest reallocation when spread is wide.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Feature Low

Updates skills (`daily-check`, `rescue`, `_mureo-shared`) to consult analytics registry before running diagnostics.

Updates skills (`daily-check`, `rescue`, `_mureo-shared`) to consult analytics registry before running diagnostics.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Full changelog

Per-platform analytics module surface for external-integration platforms (#120)

External-integration platforms — official MCPs and third-party plugins alike — now have an opt-in path to mureo's deep analytics on the same terms as the built-in google_ads / meta_ads adapters. Workflow skills (daily-check, rescue, …) consult a new registry and either run the platform's analytics module or honestly report analytics_not_available_for_<platform>. Auto-deriving heuristics from tool schemas is explicitly rejected — it would fabricate plausible-but-wrong analysis and violate mureo's trustworthiness principle.

New public surface in mureo.analytics

  • ProtocolAnalyticsModule (runtime_checkable, opt-in) with four methods: detect_anomalies, diagnose_performance, audit_creative, analyze_budget_efficiency. Modules advertise their actually-supported subset via capabilities(); un-advertised methods raise NotImplementedError. Discovery validates structurally and detects un-overridden Protocol stubs by qualified name.
  • Capability enumAnalyticsCapability (DETECT_ANOMALIES, DIAGNOSE_PERFORMANCE, AUDIT_CREATIVE, ANALYZE_BUDGET_EFFICIENCY).
  • Frozen-dataclass modelsAnomaly, AnomalySeverity, PerformanceDiagnosis (with optional per_campaign_metrics for DEEP scope), PerformanceScope, CreativeAudit (with findings + per_campaign_summary), CreativeFinding (with campaign_id), BudgetEfficiency.
  • Registry — entry-point group mureo.analytics, independent of mureo.providers / mureo.skills. Plugin packages register one class via [project.entry-points."mureo.analytics"]. Built-in adapters auto-register; broken plugins are skipped with AnalyticsModuleWarning and never crash the MCP server.
  • MCP toolmureo_analytics_modules_list returns the registered platforms + advertised capabilities + source distribution so skills can branch dynamically.
  • TypedDictsGoogleLivePerformanceRow, GoogleByodPerformanceRow, GoogleMetricsDict, GooglePerformanceRow, MetaLivePerformanceRow, MetaByodPerformanceRow, MetaActionEntry, MetaPerformanceRow, GoogleAdRow, MetaAdRow — re-exported for plugin-side typing. All total=False; field-set contract documented in docs/ABI-stability.md §4a.

Built-in adapters wired against live + BYOD clients

  • google_ads and meta_ads advertise all four capabilities.
  • detect_anomalies runs per-campaign fan-out — single-campaign anomalies are no longer masked by offsetting movements at the aggregate.
  • diagnose_performance returns aggregate metrics by default and per-campaign drilldown (sorted by spend descending, one finding per campaign with spend / CV / CPA) at PerformanceScope.DEEP.
  • audit_creative checks RSA / RDA / Meta ad shape against Google's Ad-Strength thresholds and Meta's creative requirements, stamps campaign_id on every finding, and exposes a sorted CreativeAudit.per_campaign_summary.
  • analyze_budget_efficiency normalises conversions/cost across campaigns and emits a concrete reallocation suggestion when the spread is wide.
  • Lazy auth + BYOD routing; missing credentials in live mode produce sentinel responses (empty anomaly tuple, sentinel PerformanceDiagnosis headline). Tolerates both live row shape and BYOD flat shape — regression tests pin both.

Skill integration

daily-check, rescue, _mureo-shared updated to consult mureo_analytics_modules_list before running deep diagnostics on any external-integration platform.

Docs

  • docs/plugin-authoring.md §14 "Shipping analytics with your plugin"
  • docs/ABI-stability.md §4a (Protocol contract) + §6 (entry-point group mureo.analytics) + TypedDict field-set rules

PRs in this release

  • #137 — Protocol + registry + skill integration + docs
  • #138 — Live client wiring + BYOD shape fix
  • #139 — Per-campaign fan-out + audit_creative + analyze_budget_efficiency
  • #140 — Per-campaign drilldown for audit_creative
  • #141 — DEEP scope drilldown for diagnose_performance + TypedDicts
  • #142 — Release commit

Closes #120.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track logly/mureo

Get notified when new releases ship.

Sign up free

About logly/mureo

Framework for AI agents (Claude Code, Cursor, Codex, Gemini) to operate Google Ads, Meta Ads, and Search Console. Grounded in a local STRATEGY.md — not metric-chasing. Defense-in-depth security, local-first. Apache 2.0.

All releases →

Related context

Beta — feedback welcome: [email protected]