mob.dev
early access· v0

MCP server / for mobile apps

Find the leak.Ship the fix.Prove the lift.

Add mob to your coding agent. It reads your Mixpanel, RevenueCat and Superwall, finds where users drop off before they pay, and runs an in-app experiment against a holdout. Nothing ships until you approve it.

We'll only use your email to tell you when early access opens. Reply to any email from us to be removed.

simulated session · illustrative data
~/code/my-app — claude

One loop. Four tools.

Your agent calls them in order, and the output of each one is the input to the next.

diagnose() → Leak[]

Reads your analytics and subscription data. Returns leaks ranked by impact, each with evidence, a hypothesis and a suggested experiment.

instrument(leak) → PR

Finds the events a leak needs that you don't track yet and proposes them as a pull request. You merge it.

run_flow(leak) → Experiment

Drafts one in-app message for the leak's segment, with a holdout. It waits for your explicit approval before anyone sees it.

measure(exp) → Verdict

Lift on the one metric the experiment targeted, against the holdout, with confidence. Then keep, kill or iterate.

↻ then it runs diagnose again.

What you need

mob doesn't replace your stack. It reads and writes through the services you already use. Here's what each tool needs.

ToolRequiredOptional
diagnose
Required
  • Mixpanelraw event export, read through the data connectors of JJ, Ninefold's analytics agent
Optional
  • RevenueCatsubscription charts, for churn evidence
  • Superwallpaywall views to purchases
instrumentthe tool comes later; this is the in-app setup today
Required
  • MobSur SDKFlutter 2.1+, in your app
  • Your app forwards its analytics events and sets is_subscribed and days_since_install
Optionalnothing else
run_flow
Required
  • MobSurdraft, approval, and the experiment with its holdout
  • MobSur SDKshows the message in your app
  • Superwalloryour own paywall: the button opens a paywall placement
Copy: one of these
  • NinaNinefold's content agent writes the message, if configured
  • Claude APIwrites it otherwise
measure
Required
  • MobSurwho saw what, per arm
  • Mixpanelwho converted, joined on your user id
Optionalnothing else
nextcoming soon
Planned
  • Superwalla second place to run experiments: run_flow and measure on paywall campaigns, through Superwall's API
Statusnot built yet

Third-party service names are plain labels, and mob isn't affiliated with them. Nina and JJ are Ninefold's own agents.

Built with guardrails

Your agent proposes the experiments and you approve each one. Every experiment keeps a holdout, so the number you get at the end is lift you can defend.

There's no dashboard to learn and no campaign builder. mob works from any MCP client, such as Claude Code, Codex or Cursor, and it returns text and JSON your agent can act on.

# invariants
holdout    always on, random by user id
approval   explicit, per experiment
surface    in-app messages first
reads      mixpanel · revenuecat · superwall
writes     PRs you review, drafts you approve
ui         none. your agent is the interface

Your agent already writes the code.
Let it find the money.

We'll only use your email to tell you when early access opens. Reply to any email from us to be removed.