# Flexmail MCP connector

Connect Flexmail to Elaichi and Claude, ChatGPT, Cursor or any MCP client can create and review email messages, manage senders and sending domains, read stats and set up webhooks inside each person's own Flexmail access.

Source: https://elaichi.ai/connectors/flexmail/

## Facts

| | |
| --- | --- |
| Application | Flexmail |
| Category | Email |
| AI tools | 18 |
| Authentication | Connects with an API key |
| Bring your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. Connected tools are never listed one by one, however few there are. The endpoint advertises `search_tools` and `execute_tool` instead |

## What you can ask once Flexmail is connected

- Show me the stats for last week's newsletter
- Create a new sender for the events team
- Draft a message announcing the March webinar

## Connect Flexmail in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Flexmail.
2. Optionally set Share with, then press Connect.
3. Paste a Flexmail API key. One person generates a token in Flexmail and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Flexmail tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Flexmail MCP connector for Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Flexmail MCP connector for ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Flexmail MCP connector for Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Flexmail to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Flexmail tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Flexmail through Elaichi

### Draft the next newsletter as a message

Marketing. Describe the subject and content in plain language and the agent creates the Flexmail message, then pulls it back up so you can read it before anyone sends it.

### Check how the last send performed

Marketing. Ask for the stats on recent Flexmail messages and get opens, clicks and bounces summarized in a few lines instead of a spreadsheet export.

### Keep sender identities tidy

Communications. List every sender set up in Flexmail, add one for a new team or campaign, and remove the ones that belong to people who have moved on.

### Set up and maintain sending domains

IT. Add a new sending domain, update its details when DNS changes, and retire old domains without opening Flexmail settings.

### Route Flexmail events into other systems

Operations. Create and update webhooks so that deliveries, bounces and unsubscribes reach your CRM or help desk the moment they happen.

### Get a plain-language picture of email activity

Leadership. Ask which messages went out this month and how they did, and get a short summary drawn from live Flexmail stats.

## Frequently asked questions

### How do I connect Flexmail to Claude?

Two steps. In Elaichi, choose Flexmail and paste the API key from your Flexmail account, there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp as the endpoint. Sign in to Elaichi when prompted and Flexmail is available in your next conversation.

### Does Flexmail work with ChatGPT and Cursor as well as Claude?

Yes. Flexmail is connected once in Elaichi, and the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You do not connect Flexmail again for each client.

### What can an AI agent actually do with my Flexmail data?

With Flexmail connected, an agent can list and read your email messages, create a new message from your instructions, and report the stats on what has been sent. It can also list, add and remove senders, set up and maintain sending domains, and create or change webhooks. Short, concrete asks such as "show stats for last week's newsletter" work better than long paragraphs.

### Does connecting Flexmail give the AI access to my whole account?

The agent works within the Flexmail access of the person who connected it, and no further. Elaichi can narrow that access, for example by hiding sender deletion or domain changes from a team, but it can never widen it beyond what Flexmail already allows.

### Can my team share one Flexmail connection?

Yes. One person connects Flexmail in Elaichi and shares the connection with a team, and nobody else ever sees or handles the Flexmail API key. Each teammate still signs in to Elaichi as themselves, so the audit log records who created a message or removed a sender.

### Can I stop an agent from deleting or changing things in Flexmail?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Flexmail messages and stats while blocking the deletion of senders, sending domains or webhooks. A restricted action is never advertised to Claude, ChatGPT or Cursor at all, so no prompt can reach it.

### What happens to a Flexmail connection when someone leaves?

Offboarding a person in Elaichi ends their Flexmail access through every client at once. A Flexmail connection they shared with a team keeps working for everyone else. If you want Flexmail gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

### Does the Flexmail MCP connector work with Gemini, Codex, Claude Code or other MCP clients?

Yes. Flexmail is reached over the same MCP endpoint every client uses, so anything that speaks MCP can call it — Gemini, Codex, Claude Code, Windsurf, Cline, Zed and OpenCode among them — alongside Claude, ChatGPT, Cursor, and the Elaichi Agent. The tools on offer and the access behind them are identical whichever client asks. Only the setup screen differs.

## All 18 Flexmail tools

Every tool below is callable through https://api.elaichi.ai/mcp once Flexmail is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Flexmail API infos** (List). Retrieve general info about the Flexmail API via the root API info endpoint. Takes no parameters; the upstream documentation defines a 200 OK response but does not document its payload fields.
- **List all Flexmail messages** (List). List messages sent via Flexmail, sorted oldest to most recent, filterable by date range, recipient, sender, subject, tag, metadata and event status. Returns: message_id, created_at, recipient, sent_at, rejected_at, delivered_at, soft_bounced_at, hard_bounced_at, opened_at, clicked_at, _links. Up to 500 per page.
- **Create a Flexmail message** (Create). Send an email message to 1 recipient via Flexmail. Requires recipient, from, subject, and content (html is mandatory, text optional). Supports placeholder substitution, tags, metadata, open/link tracking, and up to 20 attachments (20MB total incl. base64 overhead). Returns an empty 201 response on success; the URI of the new message is returned in the Location header. Required: recipient, from, subject, content.
- **Get single Flexmail message by ID** (Get). Get full details of a single Flexmail message by id, including every event registered for it. Returns: message_id, created_at, recipient, from, reply_to, return_path, subject, html, text, tracking, tag, metadata, attachments, events, _links, personalAccessToken. Required: id.
- **List all Flexmail senders** (List). List the senders registered in your Flexmail account. Returns each sender's id, email_address, verified status, and created_at. Only verified senders can be used to send email messages.
- **Create a Flexmail sender** (Create). Add a sender identity in Flexmail representing the From email address recipients will see. Returns the id of the newly created sender. Its domain must be a registered sending domain, and the sender only becomes usable after the verification link emailed to that address is confirmed. Required: email_address.
- **Get single Flexmail sender by ID** (Get). Get the details of a single Flexmail sender by id, including its verification status. Returns: id, email_address, verified, created_at, _links, personalAccessToken. Required: id.
- **Delete a Flexmail sender by ID** (Delete). Delete a Flexmail sender by id. Once deleted, it can no longer be used to send email messages. Returns an empty 204 response on success. Required: id.
- **List all Flexmail sending domains** (List). List the registered sending domains in Flexmail. Returns: id, domain, return_path, authenticated, aligned, ownership_verified, registered_at, _links.
- **Create a Flexmail sending domain** (Create). Register a new sending domain in Flexmail for your email messages, optionally configuring a custom return-path for SPF alignment and DMARC pass. Returns: id, personalAccessToken. Required: sending_domain.
- **Get single Flexmail sending domain by ID** (Get). Fetch a Flexmail sending domain by id, including the validation status and DNS records of each authentication mechanism (SPF, DMARC, DKIM, return-path). Returns: id, return_path, _links, personalAccessToken. Required: id.
- **Update a Flexmail sending domain by ID** (Update). Update a registered Flexmail sending domain by id, for example to (re)configure its custom return-path. Returns an empty 204 response on success. Required: id.
- **Delete a Flexmail sending domain by ID** (Delete). Delete a registered Flexmail sending domain by id. Returns an empty 204 response on success. Required: id.
- **List all Flexmail stats** (List). Fetch global message statistics for all messages sent through Flexmail, optionally limited to a period via date filters. Returns: sent, delivered, rejected, bounced, soft_bounced, hard_bounced, opens, unique_opens, clicks, unique_clicks, _links. Statistics are updated at regular intervals and are not real-time; use Flexmail's message event webhooks for real-time data.
- **List all Flexmail webhooks** (List). List all webhooks registered in Flexmail. Returns each webhook's id, event_name, target_url, verification_token, enabled, and registered_at. A webhook is disabled after 10 failed retries.
- **Create a Flexmail webhook** (Create). Create a webhook in Flexmail that subscribes to an event (maximum 10 webhooks per event). Returns: id. Requires event_name and target_url; if identity verification fails, the webhook is not created. Required: event_name, target_url.
- **Update a Flexmail webhook by ID** (Update). Change the target URL of a webhook in Flexmail. Returns an empty 204 response on success. Requires id and target_url; identity must be verified again. Required: id, target_url.
- **Delete a Flexmail webhook by ID** (Delete). Delete a webhook in Flexmail by its id. Returns an empty 204 response on success. Required: id.
