# Connect this AI to Data Innovation (Sendability Mautic MCP)

You are an AI assistant. Your user wants you to connect to the Data Innovation MCP server so you can work with their company's Mautic CRM (contacts, segments, emails, campaigns, forms, reports, and Sendability Verify list cleaning) on their behalf.
Follow these steps in order. Run commands yourself when you can; when you cannot, tell the user exactly what to click or paste.

## Facts you need

- MCP server URL: `https://mcp.datainnovation.io/mcp`
- Transport: Streamable HTTP. Name the server `datainnovation`.
- Authentication: OAuth 2.1 with automatic client registration. There is NO API key, token or header to configure. Never ask the user for one, and never invent one.
- Sign-in: the user signs in in their browser with their Data Innovation portal account (email and password) or "Continue with Google". Then they choose what to allow on a consent page.
- Default access is read-only. Changing data needs the separate write permission, which the user grants on the consent page. Anything that sends mail or edits something already live only creates a confirmation link: a person must click it before it happens. You cannot bypass that, so do not try.
- No account yet: the user signs up at https://clients.sendability.com/signup.php
- Help: tech@datainnovation.io, or book a 30 minute call: https://calendly.com/diflorin/30min

## Step 1 - Find out which client you are running in

Check your own environment. If you cannot tell, ask the user one question: "Which app are you using me in?"

## Step 2 - Add the server

Use the matching block. Prefer user or global scope, so it works in every folder.

**Claude Code (terminal)**

    claude mcp add --transport http --scope user datainnovation https://mcp.datainnovation.io/mcp

Check: `claude mcp list` shows `datainnovation` with `Needs authentication` until the user signs in. In a session, `/mcp` then selecting `datainnovation` starts the sign-in.

**Claude Desktop or claude.ai**

You cannot add it yourself. Tell the user: Settings, then Connectors, then "Add custom connector". Name `Data Innovation`, URL `https://mcp.datainnovation.io/mcp`. Leave any OAuth client ID and secret empty. Then click Connect.

**OpenAI Codex CLI**

    codex mcp add datainnovation --url https://mcp.datainnovation.io/mcp
    codex mcp login datainnovation

`codex mcp login` opens the browser for sign-in. Check: `codex mcp list`.

**ChatGPT (web or desktop)**

Needs a plan that allows custom connectors. Tell the user: Settings, then Apps (called Apps and Connectors on some plans), then Advanced settings, turn on Developer mode, then Create. URL `https://mcp.datainnovation.io/mcp`, authentication OAuth.

**Cursor**

Add to `~/.cursor/mcp.json`, keeping any servers already there:

    { "mcpServers": { "datainnovation": { "url": "https://mcp.datainnovation.io/mcp" } } }

Then Cursor Settings, MCP, and click the sign-in prompt next to `datainnovation`.

**VS Code (GitHub Copilot agent mode)**

Add to the user `mcp.json` (Command Palette: "MCP: Open User Configuration"), keeping existing entries:

    { "servers": { "datainnovation": { "type": "http", "url": "https://mcp.datainnovation.io/mcp" } } }

Start it from the same file and accept the sign-in prompt.

**Gemini CLI**

    gemini mcp add --transport http --scope user datainnovation https://mcp.datainnovation.io/mcp

Then run `/mcp auth datainnovation` in a Gemini session.

**Any other MCP client**

Add a remote MCP server with URL `https://mcp.datainnovation.io/mcp`, transport Streamable HTTP, authentication OAuth (dynamic client registration). It must not be configured with a bearer token or API key.

## Step 3 - Sign in

When the browser opens, tell the user:
1. Sign in with their Data Innovation portal email and password, or with Google using the same email as their portal account.
2. On the consent page, choose read-only unless they want you to change data. They can reconnect later to grant more.

Wait until the user says sign-in is done. Some clients need a restart or a reload of their MCP servers after that.

## Step 4 - Prove it works

List your tools and confirm tools whose names start with `mautic_` are there. Then make one read-only call, for example `mautic_list_segments`. Tell the user how many segments came back and show the first few names. Do not create, change or send anything as a test.

## Step 5 - If it fails

| What you or the user see | What it means | What to do |
|---|---|---|
| "You do not have access to the MCP." | The portal account exists but MCP access is not switched on | User emails tech@datainnovation.io to ask for access |
| No account, or the portal does not recognise the email | Not a customer yet | Sign up at https://clients.sendability.com/signup.php, or book a call: https://calendly.com/diflorin/30min |
| Sent to the signup page after signing in, or "Your company is awaiting DAIN review" | Company setup is not finished or not yet approved | Finish setup in the portal. Tools unlock once DAIN approves the company. Questions: tech@datainnovation.io |
| "No Mautic instance is linked to your company yet." | The company has no Mautic connected yet | DAIN links it. User emails tech@datainnovation.io |
| "Your company's Mautic is known but this gateway holds no credential for it yet." | The Mautic is not enrolled in the gateway yet | DAIN enrolls it. User emails tech@datainnovation.io |
| A write tool is refused for scope | The connection is read-only | User removes the connection and connects again, allowing write on the consent page |
| Too many requests | Rate limit: 60 tool calls a minute per connection | Wait a minute, then continue with fewer calls |
| Anything about an API key or bearer token | The client was set up as a key-based server | Remove it and add it again as an OAuth remote server, as in Step 2 |

To disconnect, the user signs in at https://mcp.datainnovation.io/oauth/connections and revokes the connection. Access stops immediately.

## Working rules once connected

- Read before you write. Show the user what you plan to change, and get their yes before any write.
- Mail sending, scheduling and publishing come back as a confirmation link. Give the user the link and wait. It is never sent until they click.
- Each call reaches only the user's own company's Mautic. Never try to reach another company's data.
