Why is this install organic? Did my test install arrive? Which partner drove last week’s growth? Ask Affise MMP in plain English and get the answer straight away — no report builder, no raw-data export. 12 read-only tools cover attribution, SDK checks, performance, cohorts and raw data.
> Why is the install for GAID d8313cad-… organic? Reading Affise MMP · diagnose_attribution raw installs, last 30 days · tracking check INSTALL 2026-10-14 09:12 UTC com.example.app STATUS organic CLICK found · click_id 7f3a… · 2026-10-14 08:57 CTIT 15 min REFERRER click_id=… utm_source=partner44 Root cause: click_not_credited — a click from partner 44 exists but was not credited. The stored install carries its fraud flags and CTIT; the API does not give a reason, so start there rather than with the partner.
One URL, one API key. No config file, no client ID, no secret — the connection registers itself.
Any Claude account on a plan with connectors — claude.ai, Claude Desktop or the mobile apps — and your Affise MMP API key.
In claude.ai, click your name in the bottom-left corner, then Settings ▸ Connectors. Claude Desktop uses the same path.
Scroll to the end of the connector list and click Add custom connector.
Put the URL above into Remote MCP server URL and name it Affise MMP. Leave the advanced OAuth fields empty.
Click Connect, paste your Affise MMP API key into the one field and click Authorize. The window closes itself and the connector reads as connected.
Check it worked. Ask “Using Affise MMP, show yesterday’s installs by partner.” A working connection answers with real numbers.
Full guide, with troubleshooting →Every guide is the same shape: the exact menu path, the URL to paste, and what a working connection looks like. None takes more than two minutes.
claude.ai, Claude Desktop and the mobile apps — sign in once, no config file.
Setup guide →The terminal agent — one claude mcp add command, sign-in in the browser.
Plus, Pro, Business and Enterprise — via developer mode or a workspace connector.
Setup guide →Check an SDK integration from the editor — one entry in mcp.json.
Windsurf, Cline, Continue, VS Code, custom agents — anything that speaks MCP.
Setup guide →These are real asks, typed the way you would say them out loud. The server works out which report, dimensions, filters and date range each one needs.
This is the complete surface your assistant gets. Nothing here can change anything in Affise MMP, and nothing sends a test install or event — the tools are declared read-only to your client, so it can call them without asking every time.
| diagnose_attribution | Why one install from the last 30 days is attributed, organic or missing: the credited partner, the matched click, click-to-install time and, for client keys, the tracking service’s own verdict. | Read-only Any key |
| find_device | Everything the raw data holds about one device — install records and in-app events — by GAID, IDFA (as adid), Affise device ID, random user ID, click ID or customer user ID. | Read-only Any key |
| validate_integration | Did installs and events arrive in the last hour, did your test device show up, and are the SDK postbacks valid — token, app ID, package name. | Read-only Any key |
| list_event_parameters | Which in-app events an app sends and which affise_p_* parameters each one carries, with sample values. | Read-only Any key |
| get_performance_overview | Headline metrics by date, app or partner, with the change against the previous period worked out for you. | Read-only Any key |
| get_report_breakdown | The same metrics grouped by up to three of ~35 dimensions — country, event, campaign, sub1–5, app or SDK version, fraud level, hour. Events and revenue are counted for users installed in the period unless you ask for all activity. | Read-only Any key |
| get_event_cohorts | Per event: users, count, revenue, and events on exactly day 0, 1, 3, 7, 14 and 30 after install. | Read-only Any key |
| get_retention | Share of an install cohort that returns on day N — overall, per partner and per install date. | Read-only Client key |
| get_engagement | Sessions and session length, DAU, MAU and ARPDAU, active and loyal users. | Read-only Any key |
| get_audience | Active, new, re-installed, resurrected, dormant and uninstalled users by geo, device, OS, version or partner. | Read-only Any key |
| get_postback_delivery_log | Postbacks sent to Google Ads and TikTok per day and event — send attempts, failed ones included. | Read-only Client key |
| get_raw_data | One page of raw clicks, installs, events or conversions as a table, with filters by app, partner, event and device. In Claude, a “load more” button fetches the next page. | Read-only Any key |
Any key works with a client or an agency API key · Client key tools are kept to the app owner by Affise MMP and answer “permission denied” to an agency key; inside other tools, a part closed to agencies is skipped and the answer says so.
No API integration to build. Your assistant becomes the interface to Affise MMP.
Paste https://mcp-mmp.affise.com/mcp into your client’s connector settings. The setup guides show the exact menu path for each one.
A browser window opens with one field. The key is checked with Affise MMP, then encrypted into a session only your requests can read.
Your assistant picks the right tool, pulls the data and answers. In Claude, raw data and performance come back as interactive tables.
Read-only MCP tools
Clients with setup guides
The only thing you enter
Rate limit per IP
The server holds no copy of your data. It forwards each question to the Affise MMP reporting API under your own key and returns the answer — nothing is cached.
All 12 tools are read-only and declared as such to your client. No tool writes to Affise MMP or sends a test event.
Your API key is checked before it is accepted, encrypted with AES-256-GCM, and never written to a log or put in a URL.
The server sees exactly what your API key sees. An agency key reaches only the apps and partners its clients granted it.
When your client revokes its token on disconnect, the stored session and key are deleted. Rotating the key in Affise MMP cuts off every session that holds the old one.
Exactly what this server receives, what it stores, for how long, and who else sees it is set out in the MCP data notice — written for the server, not the website.
{
"name": "get_raw_data",
"title": "Affise MMP raw report data",
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": true
}
}
# Every tool carries these hints, so your
# client knows nothing here can mutate data.
Connect your assistant once and ask Affise MMP questions the way you would ask your attribution analyst.