Add Lumail's current organization-aware tool catalog to Cursor so you can manage email marketing without leaving your editor.

## Setup: send this to your agent

Paste this into Cursor's agent and it does the setup for you — configuration, sign-in, verification.

<AgentPrompt
  label="Prompt"
  prompt="Read lumail.io/mcp/install and connect this MCP client to the correct Lumail organization. In Cursor, prefer one organization in a project-level .cursor/mcp.json and never register the same HTTP endpoint twice in one scope."
/>

Your agent fetches the machine-readable guide at [lumail.io/mcp/install](https://lumail.io/mcp/install), picks the connection style your Cursor version supports (OAuth when available, API token otherwise), writes the MCP configuration, and verifies the tool list.

## Setup

### 1. Get Your API Token

Go to **Settings > API Tokens** in your Lumail dashboard and generate a token.

### 2. Add MCP Server

Open Cursor Settings > MCP Servers and add:

```json
{
  "mcpServers": {
    "lumail": {
      "url": "https://lumail.io/api/mcp/sse",
      "headers": {
        "Authorization": "Bearer lum_your_api_token_here"
      }
    }
  }
}
```

If your Cursor version doesn't support HTTP MCP, use the stdio bridge:

```json
{
  "mcpServers": {
    "lumail": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://lumail.io/api/mcp/sse",
        "--header",
        "Authorization: Bearer lum_your_api_token_here"
      ]
    }
  }
}
```

### Recommended: one organization per project

Each MCP authorization is intentionally scoped to exactly one Lumail
organization. Put one `lumail` entry in each project's `.cursor/mcp.json` so the
repository and organization stay aligned.

Project-level configuration does **not** mean Lumail must run on localhost. A
normal project-level entry still targets `https://lumail.io/mcp`; "project
level" only describes where Cursor stores the configuration.

Do not commit an organization API token. Prefer OAuth, or keep any token-backed
project configuration out of version control.

### Multiple Lumail organizations

Do not register the same remote HTTP endpoint twice in one Cursor scope. Cursor
can collapse same-origin MCP entries even when their names or credentials
differ, leaving only one organization's tools available. This configuration is
therefore not reliable:

```json
{
  "mcpServers": {
    "lumail-main": {
      "url": "https://lumail.io/mcp"
    },
    "lumail-thumbfast": {
      "url": "https://lumail.io/mcp"
    }
  }
}
```

Use separate Cursor projects or profiles for separate organizations. If one
task must deliberately span organizations, use named Lumail CLI accounts and
pass `--account <name>` on each command. That keeps the organization explicit on
every operation instead of relying on hidden account-switching state.

### Local Lumail development

When developing Lumail itself, point the project entry at the Portly-managed
local server:

```json
{
  "mcpServers": {
    "lumail-local": {
      "url": "http://localhost:3002/api/mcp/sse",
      "headers": {
        "Authorization": "Bearer lum_your_api_token_here"
      }
    }
  }
}
```

Keep one organization per project and never commit the token. Localhost is a
development option for Lumail contributors, not the default customer setup. If
you are explicitly testing two local accounts in one Cursor profile, Cursor
needs distinct loopback origins such as `localhost` and `127.0.0.1`; unique
server names alone are not sufficient.

### 3. Use in Cursor Chat

Ask Cursor to interact with Lumail:

```
"Add all the emails from this CSV to Lumail with the tag 'import-march'"

"Create a campaign with the content from this markdown file"

"Check the open rate of our last campaign"
```

## Use Cases

- **Import subscribers** from code - ask Cursor to read a file and add contacts
- **Draft campaigns** - write content in your editor, then send via Cursor
- **Debug deliverability** - check bounce rates and email verification from your IDE
- **Automate workflows** - create email sequences while building features

Workflow automation uses the canonical graph tools such as `get_workflow` and `configure_workflow_draft`. Read the live MCP schema instead of using version-suffixed or step-by-step legacy names.

## Related

- [Send a newsletter from Cursor](/docs/playbooks/send-newsletter-from-cursor)
- [Claude Integration](/docs/ai-integration/mcp-claude)
- [Full MCP Reference](/docs/api-reference/mcp)
- [API Tokens](/docs/api-reference/api-tokens)

For the repeatable drafting, segmentation, launch, and reporting jobs, [get the seven prompts that run a newsletter](/?prompts=1).
