# Amply — Full Context for LLMs > In-app orchestration. Decide which experience each user gets, without an app release. Your app already has the screens and actions — Amply decides who sees each one, and when, from a dashboard your growth team owns. ## What is Amply? Amply is an in-app orchestration layer for mobile apps. It is the decision layer between user context and what in-app logic fires next. The product separates two concerns: - **Your app** owns the screens, flows, paywalls, surveys, and any custom functions. They are built once, by engineering, and registered with Amply. - **Amply** owns the rule for who sees each one, when, and under what conditions. Growth and product teams configure those rules from a dashboard. The result: engineering ships the integration once. Growth runs experiments from then on. No release ships when a campaign changes. ## What Amply Is Not - Not a payment or subscription platform — keep RevenueCat, Adapty, or your existing IAP layer. - Not an analytics or BI tool — keep Amplitude, Mixpanel, PostHog, or your warehouse. - Not an attribution or MMP — keep AppsFlyer, Adjust, Branch. - Not an ad mediation stack. - Not a push-notification service or marketing-automation suite. - Not a backend for your game economy or item catalog. Amply runs alongside these tools and controls when registered in-app logic fires. ## How It Works (3 steps) ### Step 1 — Connect Engineering runs the setup autopilot in their editor: it installs the Amply SDK, wires up events, and provisions the dashboard — one engineering sign-off, no integration sprint. From there, the team registers the screens and custom functions the app exposes to campaigns. This is a one-time integration; future campaigns don't require code changes. ### Step 2 — Create The growth team opens the dashboard and builds a campaign with three parts: - **When** — pick an event already fired by the SDK (e.g. `SessionStarted`, `ExportTapped`, `DiveLogged`, `MoodTracked`). - **Who** — narrow the audience with custom properties (e.g. `is_premium = false`, `country = "US"`, `app_version >= 2.4.0`). - **What** — choose which registered screen, deeplink, or app-side function fires. ### Step 3 — Run Launch the campaign, observe results, adjust. New experiments roll out instantly via remote configuration — no release, no store review. ## AI-Agent Integration and Tooling Amply publishes two AI-agent tools. These two tools are the setup autopilot referenced in How It Works. Both are open source under Apache-2.0. ### MCP server The Model Context Protocol (MCP) server gives an AI agent programmatic access to Amply. It is **hosted by Amply** — there is nothing to install and no local runtime. - Endpoint: `https://api.amply.tools/mcp`, over HTTP. - Authentication: the agent opens a browser, the user signs in to Amply and approves the access the client asked for. No password is shared with the agent and no credentials are written to disk. Access is revoked in the Amply admin under Profile Settings → Connected apps. - Broadly: setting Amply up in an app, authoring and publishing campaigns, reading analytics, and managing price changes. The tool list and the access each one needs are documented and kept current at https://docs.amply.tools/reference/mcp-tools — they are not restated here, so this file does not go stale as the server gains tools. Install: - Claude Code: `claude mcp add --transport http amply https://api.amply.tools/mcp`, then run `/mcp` and authenticate. - Any other MCP client that supports a remote server over HTTP: use the same URL. The former local server, published to npm as `@amplytools/amply-mcp` and run over stdio, is **retired**. Every version is deprecated and its endpoint returns 404; it cannot be made to work. Migration notes: https://docs.amply.tools/reference/mcp-tools ### Integration skill The `amply-integration` skill integrates the Amply SDK (React Native, Expo, iOS/Swift, Android/Kotlin, Kotlin Multiplatform). Its phases: 1. Analytics audit — read the project's existing product analytics. 2. Event and Custom-Property mapping — events to PascalCase names, properties to snake_case keys. 3. Analytics-wrapper generation and SDK init. 4. Who/When/What campaign-readiness audit. 5. Deeplink wiring and OS scheme registration. 6. Build verification and test-event confirmation. 7. Optional campaign creation. When the Amply MCP is connected, the skill uses it for backend automation (projects, keys, campaigns) instead of manual dashboard steps. - Source repo: https://github.com/amply-tools/sdk-skill - Plugin catalog: https://github.com/amply-tools/claude-plugins (marketplace name: `amply`) Install: - Claude Code plugin: `/plugin marketplace add amply-tools/claude-plugins` then `/plugin install amply-integration@amply` - skills CLI: `npx skills add amply-tools/sdk-skill` ### Tool naming The MCP server and skill run in any MCP-compatible AI agent. Claude Code and Codex CLI are the verified hosts, with the documented install commands above. ## Core Concept: Campaigns A campaign in Amply is a rule: - **When** — the trigger event, plus repeat behavior (e.g. first time only, every Nth session, every event). - **Who** — an audience based on custom properties the app reports. - **What** — the action: open a registered screen, follow a deeplink, fire a registered function, present a native prompt, etc. Repeat rules and frequency caps keep campaigns from over-firing. If the dashboard is unreachable the SDK falls back to a cached configuration, so the app never breaks because of Amply. ## Beyond Screens Amply triggers more than UI — test the actions behind each screen. Anything engineering registers as a callable function — rewarded ads, refresh routines, server pings, feature unlocks — can be the **What** of a campaign. The dashboard becomes the experiment surface for in-app logic, not just visual flows. ## Live in Production Real campaigns currently running on Amply: ### Happens — voice journal - **Job:** Rate-review prompt at a value moment. - **When:** `MoodTracked`, first time. - **What:** Native iOS/Android review prompt. ### StillFrame — video frame grabber - **Job:** Rewarded-ad gate. - **When:** `ExportTapped`, every time. - **Who:** `is_premium = false`. - **What:** Deeplink to a rewarded-ad screen (`stillframe://rewarded-ad/export`). ### Seabook — fish ID and dive log - **Job:** Premium upsell at a value moment. - **When:** `DiveLogged`, first time. - **Who:** `is_premium = false`. - **What:** Deeplink to the premium intro screen (`seabook://premium/intro`). ## Use Cases ### Onboarding by entry Users from different ad campaigns or referral sources get different first sessions. The screen is the same registered onboarding flow; the variant fired changes based on the source attribute. ### Survey after friction When a user abandons setup, skips a key step, or fails a flow, fire an in-app survey before the context is gone — while they still remember what frustrated them. ### Offer at the upgrade point When a user hits a feature limit, free-tier ceiling, or a premium-gated action, run an experiment on the next best offer for that exact moment. ### Rate-review prompt at a value moment Reserve the one-shot native review prompt for users who just hit a positive moment in the app, rather than firing it on a generic session counter. ### Rewarded-ad gate For non-paying users, gate a premium action behind a rewarded ad. Switch which action is gated, or the targeting, without an app release. ### Premium upsell at intent moment When a user takes an action that signals premium intent, route them straight to the most relevant paywall variant. ### Second-chance offer Fire a fresh offer on sessions 2–3 for users who dismissed the first paywall, or after a defined gap. ### Win-back on return Detect users returning after N days of absence and present a re-engagement offer or a re-onboarding flow. ## Target Audience ### Solo founders with multiple apps Pain point: every change is a code change and a release. Amply removes the release cycle for in-app experimentation across all their apps from one dashboard. ### Small mobile teams (2–10 people) Pain point: growth experiments are blocked by the engineering queue. Amply unblocks growth without permanently consuming engineering time. ### Growth and product managers Pain point: depending on developers for every paywall, onboarding, or offer change. Amply gives them autonomy over the targeting and timing of in-app experiences. ### Performance marketing teams Pain point: ads promise one thing, the app shows the same generic experience to everyone. Amply matches the in-app experience to the campaign that brought the user in. ## Frequently Asked Questions ### How long does integration take? Engineering adds the SDK, registers approved screens and custom functions, ships once. After that, the growth team configures experiments from the dashboard without code changes. ### Do we need to rebuild our paywalls or surveys? No. Amply triggers flows your app already owns. Engineering decides what can be opened or fired; Amply decides when, where, and for whom. ### Will Amply slow down the app? No. Experiment configuration is fetched remotely and cached locally. If Amply is unreachable, the app falls back to the default behavior shipped in the build. ### Is Amply a payment, analytics, or ad platform? No. Keep RevenueCat, Amplitude, AppsFlyer, Adjust, and your ad mediation stack. Amply controls where in-app logic fires while existing tools keep doing their jobs. ### Does Amply replace existing backend systems? No. Amply does not run an in-game economy or item catalog. It controls when registered experiences and functions are triggered; existing systems remain the source of truth. ## Platform Support - **iOS** — supported. - **Android** — supported. - **React Native** — supported. - **Unity** — coming soon. - **Flutter** — coming soon. ## Pricing Free to start. No credit card. Annual billing saves about 20%. ### Starter — Free - 1 project - 1,000 monthly active users - 3 experiments ### Core — $49/month ($39/month billed annually) - 3 projects - 25,000 MAU per project - 20 experiments per project - Remote price changes ### Growth — $149/month ($119/month billed annually) - 10 projects - 100,000 MAU - Unlimited experiments - Remote price changes ### Enterprise — Custom - Custom limits - Remote price changes - Dedicated support - Contact: contact@amply.tools ## Naming Conventions - **Event names** are PascalCase (e.g. `SessionStarted`, `ExportTapped`, `DiveLogged`, `MoodTracked`, `CampaignShown`). - **Custom property keys** are snake_case (e.g. `is_premium`, `app_version`, `country`). ## Integration Notes - **SDK** — lightweight native SDKs for iOS, Android, and React Native. The SDK reports events and custom properties from first launch and exposes a registry for screens and functions the dashboard is allowed to call. - **Dashboard** — single control surface for campaigns, audiences, experiments, and analytics. Changes go live without a release. - **Offline resilience** — last known configuration is cached locally, so campaigns continue to fire while the device is offline or the dashboard is unreachable. - **Data and privacy** — see the privacy policy for full details on data handling. ## Links - Website: https://amply.tools - Documentation: https://docs.amply.tools - Terms of Service: https://amply.tools/terms - Privacy Policy: https://amply.tools/privacy-policy ## Contact - Email: contact@amply.tools