🚀 Affise MMP now works in Claude, ChatGPT, Cursor and Claude Code — step-by-step setup for each. Connect Claude in a minute →
Model Context Protocol (MCP)

Ask Your Attribution Data in Claude, ChatGPT and Cursor

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.

https://mcp-mmp.affise.com/mcp
🔑 One API key 🌐 Nothing to install 🛡 Read-only by design
your AI assistant
> 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 minute · nothing to install

Connect Claude

One URL, one API key. No config file, no client ID, no secret — the connection registers itself.

https://mcp-mmp.affise.com/mcp

Any Claude account on a plan with connectors — claude.ai, Claude Desktop or the mobile apps — and your Affise MMP API key.

  1. 1

    Open connector settings

    In claude.ai, click your name in the bottom-left corner, then Settings ▸ Connectors. Claude Desktop uses the same path.

  2. 2

    Add a custom connector

    Scroll to the end of the connector list and click Add custom connector.

  3. 3

    Paste the endpoint

    Put the URL above into Remote MCP server URL and name it Affise MMP. Leave the advanced OAuth fields empty.

  4. 4

    Paste your API key

    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 →
Setup guides

Pick your AI assistant

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.

What you can ask

Questions, not report builders

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.

🔍 Attribution disputes

  • Why is the install for GAID d8313cad-… organic?
  • Partner 44 says they sent this install — who actually got credit?
  • Did Affise see a click for this device before the install?

🧩 SDK & QA

  • I installed on my test phone ten minutes ago — did the install and events arrive?
  • Which events does com.example.app send, and with which parameters?
  • Why does Affise say “invalid token” for our SDK?

📈 Growth & UA

  • Which partner drove the most installs this week compared to last week?
  • Break down last month’s installs and revenue by country and campaign.
  • What is day-7 retention per partner for installs from 1 to 23 September?

💰 Product & monetisation

  • How many purchases happen on day 0, 1 and 7 after install?
  • Show DAU, MAU and average session length for the last 30 days.
  • How many users went dormant last month, by country?
Tool reference

12 tools, every one of them read-only

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.

🔍 Attribution troubleshooting — One install, one device — who got credit and why. 2
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
🧩 SDK integration — Is the app actually sending what it should? 2
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
📊 Performance — Installs, clicks, revenue and ROAS, sliced the way you ask. 2
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
👥 Users & cohorts — What users do after the install, and whether they come back. 4
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
📮 Ad network postbacks — What Affise MMP sent on to the networks. 1
get_postback_delivery_log Postbacks sent to Google Ads and TikTok per day and event — send attempts, failed ones included. Read-only Client key
🗂 Raw data — The rows themselves, when the aggregate is not enough. 1
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.

How it works

Three steps, about two minutes

No API integration to build. Your assistant becomes the interface to Affise MMP.

1

Add the endpoint

Paste https://mcp-mmp.affise.com/mcp into your client’s connector settings. The setup guides show the exact menu path for each one.

2

Enter your API key

A browser window opens with one field. The key is checked with Affise MMP, then encrypted into a session only your requests can read.

3

Ask in plain English

Your assistant picks the right tool, pulls the data and answers. In Claude, raw data and performance come back as interactive tables.

12

Read-only MCP tools

5

Clients with setup guides

1 key

The only thing you enter

120/min

Rate limit per IP

Security & privacy

Read-only, scoped to your own key

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.

🛡

Nothing can be changed

All 12 tools are read-only and declared as such to your client. No tool writes to Affise MMP or sends a test event.

🔑

OAuth 2.0 with encrypted sessions

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.

👤

Your key, your scope

The server sees exactly what your API key sees. An agency key reaches only the apps and partners its clients granted it.

↩️

Revoke any time

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.

what your client is told about each tool
{
  "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.
FAQ

Questions we get asked

What is the Affise MMP MCP server?+
It is a Model Context Protocol server that gives an AI assistant read access to your Affise MMP attribution data. Instead of building a report or exporting raw data and pivoting it, you ask a question in plain English — “why is this install organic?”, “did my test install arrive?”, “what is day-7 retention per partner?” — and the assistant pulls the answer from Affise MMP itself.
Which AI assistants can connect to it?+
Anything that speaks MCP. There is step-by-step setup for Claude, Claude Code, ChatGPT and Cursor, plus a generic guide for Windsurf, Cline, Continue, VS Code and custom agents.
Do I need to install anything?+
No. The hosted endpoint at https://mcp-mmp.affise.com/mcp needs nothing installed — you paste the URL into your client and enter your API key once.
Which key do I need?+
Your Affise MMP API key — the 40-character integration key from your Affise MMP account settings. It is the only thing the server asks for: there is no base URL and no second credential.
Can it change anything in my Affise MMP account?+
No. All 12 tools are read-only and are declared read-only to your client. Nothing can change apps, partners, postbacks, links or settings, and no tool sends a test install or event — validating an integration only reads what already arrived.
Does it work with an agency key?+
Yes. An agency key sees the apps and partners its clients have granted it, and 10 of the 12 tools answer for it. Retention and the Google Ads / TikTok postback log are kept to the app owner by Affise MMP and answer “permission denied” rather than asking you to reconnect; so do raw conversions. Inside other tools, the DAU/MAU block, the SDK postback check and the tracking-service verdict in attribution diagnosis are skipped for an agency key, and the answer says so. Each question is scoped to one application at a time.
How does authentication work?+
OAuth 2.0 with PKCE. Your client opens a browser window with one field for your API key; the server checks the key with Affise MMP before it accepts the connection, then stores it encrypted in a session only your requests can use. Client registration is dynamic, so there is no client ID or secret to copy.
Is my data used to train AI models?+
Not by Affise. The server keeps no copy of your attribution data — each question is forwarded to the Affise MMP reporting API and the answer goes straight back to your assistant, with no answer cache. What your AI provider does with the conversation is governed by your agreement with them; business and enterprise plans from the major providers exclude API traffic from training by default.
What can it not answer?+
SKAdNetwork, ad revenue, subscriptions and raw impressions are not covered yet, and there is no tool that lists your apps or partners — name the app you mean. The postback log shows what was sent to Google Ads and TikTok, not whether the network accepted it. Raw data is paged and limited to 30-day windows; aggregated reports cover up to 92 days per question, the postback log 31, and the audience report 90 including its inactivity period.
Are there usage limits?+
The hosted endpoint allows 120 requests per minute per IP address. Affise MMP’s own reporting limits apply on top.
What does it cost?+
Nothing extra. The MCP server is included with your Affise MMP account.

Stop exporting raw data

Connect your assistant once and ask Affise MMP questions the way you would ask your attribution analyst.

https://mcp-mmp.affise.com/mcp