mobile UA reimagined.

Hosted MCP server for mobile UA teams — Meta, Google Ads, Unity, AppLovin, Mintegral through one Claude-native endpoint.
Currency-safe. Multi-tenant. Spend-guarded.

Six networks One MCP endpoint Immutable audit Currency-safe guard
What it does

One control plane.
Six ad networks.
Every install accounted for.

I.

Cross-network compare

Query Meta CTR against Google Ads CPI in a single call. Granularity-safe, currency-segregated, honest about missing data.

II.

Spend-guard with confirm tokens

Every mutation demands a 60-second, one-shot token. Nothing lives-fires without an explicit tenant-scoped cap check.

III.

Immutable audit trail

Every tool call, every token issue, every rejection lands in mcp_events. Debuggable from the log alone.

IV.

Multi-tenant vault

Each client's credentials live isolated in PocketBase. Service-token access only, through custom endpoints, per tenant.

V.

Currency-safe aggregation

USD spend never silently pollutes EUR limits. Per-currency buckets, mismatch refusal for tokens, foreign-account warnings.

VI.

Proxy-routed per credential

Each Meta account binds to its own proxy pool. No shared server IP for Facebook — no checkpoint, no cascade risk.

Six networks, one endpoint

Wired to the sources of
mobile UA truth.

Unity AdsLive TikTokWiring MetaLive AppLovinLive MintegralLive Google AdsLive Unity AdsLive TikTokWiring MetaLive AppLovinLive MintegralLive Google AdsLive
0
Networks live
0
MCP tools shipped
0s
Confirm-token TTL
0
Silent currency mixes

All five live adapters share one MCP-tool surface: metrics.pull, campaign.list, budget.adjust. Cross-network comparison is a single call — not an ETL job.

Protocol

Connect. Set caps.
Guard live-fires.

I.

Bring your credentials

Each client's credentials land in the vault, isolated by tenant, resolved only through service-token endpoints.

# .mcp.json (project-scoped) "uamcp": { "url": "…", "headers": { "Authorization": "Bearer ${TOKEN}" } }
II.

Set the cap

Daily, weekly, and monthly ceilings live in tenant_limits. spend.limits reads them, aggregates by currency, and refuses foreign-currency confirms.

# tenant_limits row (per currency) currency: "EUR" dailyLimitMinor: 50000 # €500 alertThresholdPct: 80
III.

Mutate under a token

Any live-fire — budget.adjust, campaign.upsert — presents a 60-second one-shot token. Miss the cap, miss the currency, miss the window → refusal, logged.

# budget.adjust (guarded) { campaignId: "…", networkAccountId: "…", newDaily: 15.00, confirmToken: "stk_…" }
What operators say

Words from the ops line.

AppLovin, Unity, and Mintegral in one call — that's the difference between shipping and stalling.
A

Ana Ribeiro

Head of UA/Nightsky Games

01 / 03
Pricing

Metered by tenant.
Never per seat.

Solo

Founder

€0/ month

One tenant, one client, personal projects and evaluation.

  • All 6 networks, read-only
  • 10 000 MCP calls / month
  • 7-day audit retention
  • Community support
Agency

Atelier

Custom

Multi-tenant agencies, white-label, SOPS-encrypted secrets.

  • Everything in Studio, plus:
  • Unlimited tenants + MCP calls
  • SOPS + age secret encryption
  • Dedicated proxy fleet
  • Custom SLA, priority Slack channel
  • Self-host option
FAQ

Asked, answered.

An MCP server that fronts six ad networks as one tool surface. Your agent calls metrics.pull, campaign.list, budget.adjust — UA·MCP handles auth, normalisation, and guardrails per network.

No. Every mutation demands a 60-second, one-shot confirm token, checked against per-currency tenant caps. Miss the cap, miss the currency, miss the window — refusal, logged in mcp_events.

In a per-tenant vault, isolated in PocketBase, resolved only through service-token endpoints. On Atelier, secrets are SOPS + age encrypted, with a self-host option.

Per-currency buckets, always. USD spend never silently pollutes EUR limits; confirm tokens refuse currency mismatches, and foreign-account aggregation carries an explicit warning.

Unity Ads, Meta, AppLovin, Mintegral, and Google Ads are live. TikTok is wiring. All share one MCP-tool surface, so a cross-network comparison is a single call.

Yes — the Atelier tier ships a self-host option with a dedicated proxy fleet and custom SLA. Founder and Studio run on our hosted control plane.

Ready to ship

One MCP endpoint.
All six networks.

Six live adapters, spend-guard with confirm tokens, immutable audit — hosted or self-run. Start free, upgrade when you outgrow.

No credit card Self-host option SOC-2 ready