AppsFlyer · Claude · ChatGPT
AppsFlyer MCP for Claude and ChatGPT
Installs and in-app events from your AppsFlyer reports, by media source, campaign, geo and day, in plain words and next to your ad spend and subscriptions.
- AppsFlyer
Free while in beta
What you can ask
- “Installs by media source and campaign last week.” Aggregate reports: daily, partners, partners by date, geo and geo by date.
- “Which campaigns brought purchases in Germany?” In-app events by media source, campaign, ad set and geo.
- “Export last week’s non-organic installs row by row.” Raw installs and in-app events, if your plan has Raw Data. Device IDs, IPs and customer user IDs are removed unless you ask for them.
- “Are our purchases counted twice?” See the next section.
- “What parameters does OneLink link X have?”
Purchase duplicates: SDK and S2S
When the app logs a purchase from the SDK and RevenueCat sends the same purchase server-to-server, AppsFlyer can count it twice. The purchase_dedup mode reads raw in-app events of one app for up to 31 days, splits them by Event Source (SDK or S2S) and receipt validation, and finds groups of duplicates.
It returns counts only, no IDs, and needs the Raw Data module. Claude then compares the result with RevenueCat charts for the same days and suggests one source per event: the first purchase and the trial start from the app, conversions, renewals, cancellations and refunds from RevenueCat. Marketing Kit does not change your AppsFlyer or RevenueCat settings or your app’s code.
How to connect
- Install Marketing Kit: in Claude, the plugin from claude.ai/customize/plugins; in ChatGPT, the connector in Developer mode.
- In AppsFlyer open Security center → API tokens, create an API token V2 with Pull API access and paste it on Connections. In Claude Desktop with the Marketing Kit extension you can keep it in the extension settings instead.
- Ask in a new chat. A good first message: “check Marketing Kit status”.
What it reads, and what it can change
- Reads: your apps, aggregate and raw Pull API reports, purchase duplicates and OneLink links by ID.
- Changes, each previewed before → after and applied only after your explicit yes: creating, updating or deleting OneLink short links (needs a separate OneLink API token), and copying partner integration settings from one app to another.
- The Marketing Kit GPT in ChatGPT only reads.
Limits
- Raw reports and purchase duplicates need the Raw Data module in your AppsFlyer plan; aggregate reports work without it.
- Tokens issued before 2026-03-10 no longer work; create a new V2 token.
- The OneLink API token is enabled by your AppsFlyer manager (CSM); reports work without it.
Questions
Is the AppsFlyer connection read-only?
Reports are read-only. Changes are limited to OneLink links and copying partner integration settings; each is shown before → after and applied only after your explicit yes in chat. Without the OneLink token no link can be changed.
Where is my AppsFlyer token kept?
Saved on Connections, it is encrypted (AES-256-GCM) and only its last characters are ever shown. Kept in the Claude Desktop extension, it stays on your computer and is sent with each request; a token in the extension takes priority.
How does it find purchases counted twice?
The purchase_dedup mode matches purchases by order ID when both sides have it, otherwise by the same AppsFlyer ID or customer user ID within 60 minutes by default, and reports the groups as counts: app and server, app and app, server and server.
Does it work in ChatGPT?
Yes. Add https://marketing-kit.app/mcp as a connector in ChatGPT Developer mode, on chatgpt.com with Plus, Pro, Business, Enterprise or Edu; in Business workspaces only admins and owners can turn Developer mode on. The steps are on Install.
Is my data stored?
No. Your AppsFlyer numbers are fetched when you ask and passed to your assistant. The server keeps a short in-memory cache (about 15 minutes, per user) so identical requests are not repeated, and a result too large for the chat waits behind a download link for up to 24 hours, for you only. Details are in the privacy policy.
Read-only access, keys encrypted, your data fetched and not stored. Privacy policy