IGSendMail

AI-native email marketing

Email Marketing MCP Server for Claude, ChatGPT & Cursor

The IGSendMail MCP server is an open-source connector that lets AI assistants manage your email marketing through the Model Context Protocol. Ask Claude to add a subscriber, pull last week's campaign stats, or draft a newsletter to a list, and it happens in your IGSendMail account with your own API token. It is free on every plan, including the free plan.

Try it in one sentence

  • “Add jane@example.com to my Newsletter list with first name Jane.”
  • “How did last week's campaign do? Show opens, clicks and the top three links.”
  • “Draft a campaign to the Customers list announcing the September release, don't send it yet.”
  • “Import these 200 leads into the Webinar list and tag them webinar-sept.”

Connect it in one command

Nothing to install. Get your token at mail.igsendmail.com → Account → API token, then point your client at the hosted endpoint.

Claude Code

claude mcp add --transport http igsendmail https://igsendmail.com/api/mcp \
  --header "Authorization: Bearer YOUR_TOKEN"

Claude Desktop, claude.ai and ChatGPT

Add a custom connector and paste the URL https://igsendmail.com/api/mcp, with the header Authorization: Bearer YOUR_TOKEN.

Cursor, Windsurf and other clients

Add this to your MCP config:

{
  "mcpServers": {
    "igsendmail": {
      "url": "https://igsendmail.com/api/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

The endpoint is stateless. Your token travels on each request, is used for that request only, and is never stored. Revoke or regenerate it any time from your account.

Every tool, and what it takes

32 tools. Read-only ones are marked, and anything irreversible needs an explicit confirmation before it will run.

get_accountread-only

Who the token belongs to, the instance version, and dashboard counts including subscriber usage against the plan.

list_listsread-only

List mailing lists with subscriber counts and open/click rates.

page? · per_page?

get_listread-only

Get one mailing list by uid, including its custom fields.

list_uid

create_list

Create a mailing list. from_email should sit on a verified sending domain.

name · from_email · from_name · default_subject? · contact_email?

add_list_field

Add a custom field (merge tag) to a list, e.g. tag FIRST_NAME of type text.

list_uid · type · label · tag

delete_listneeds confirmation

Delete a mailing list and every subscriber on it. Irreversible.

list_uid · confirm

list_subscribersread-only

List subscribers on a list with their status and custom fields. Use keyword to search.

list_uid · keyword? · page? · per_page?

get_subscriberread-only

Get one subscriber by numeric id.

id

find_subscriber_by_emailread-only

Find subscriber records across lists by email address.

email

add_subscriber

Add or update one subscriber on a list. fields are merge tags such as FIRST_NAME.

list_uid · email · fields? · tags? · status?

bulk_add_subscribers

Import up to 1,000 subscribers into a list in one call. Each row needs EMAIL plus optional merge-tag fields.

list_uid · subscribers · mode?

update_subscriber

Update a subscriber's email, status or custom fields.

id · email? · status? · fields?

subscribe_subscriber

Set a subscriber's status to subscribed on a list.

list_uid · id

unsubscribe_subscriberneeds confirmation

Unsubscribe a subscriber from a list by id.

list_uid · id · confirm

unsubscribe_by_emailneeds confirmation

Unsubscribe an email address from a list.

list_uid · email · confirm

delete_subscriberneeds confirmation

Permanently delete a subscriber record. Irreversible.

id · confirm

add_subscriber_tag

Add tags to a subscriber.

id · tags

remove_subscriber_tag

Remove tags from a subscriber.

id · tags

list_campaignsread-only

List campaigns with status, delivery time, and open and click rates.

page? · per_page?

get_campaignread-only

Get a campaign with full statistics: sends, opens, clicks, bounces, unsubscribes, top links and top subscribers.

campaign_uid

create_campaign

Create a DRAFT campaign from HTML for a list. Nothing is sent until send_campaign is called.

name · subject · from_email · from_name · reply_to · html · mail_list_uid · plain?

update_campaign

Update a draft campaign's name, subject, sender or HTML.

campaign_uid · name? · subject? · from_email? · from_name? · reply_to? · html? · plain?

send_campaignneeds confirmation

Launch a campaign to its list NOW. Irreversible: mail goes out. Always confirm with the person first.

campaign_uid · confirm

pause_campaign

Pause a sending campaign.

campaign_uid

resume_campaign

Resume a paused campaign.

campaign_uid

delete_campaignneeds confirmation

Delete a campaign. Irreversible.

campaign_uid · confirm

list_automationsread-only

List automation workflows with status and email counts.

page? · per_page?

execute_automationneeds confirmation

Trigger an automation workflow for its list. Irreversible: it can send mail.

automation_uid · confirm

ai_subject_lines

Generate subject line options for an email. Uses one AI generation credit from the plan.

subject? · context? · count? · instruction?

ai_rewrite

Rewrite email copy, a preheader, a campaign or list name, or form text. Uses one AI generation credit.

task? · text · action? · instruction? · tone? · context? · count?

ai_send_timeread-only

Best day and hour to send, computed from this account's own open history over 90 days. Free, uses no credits.

ai_statusread-only

Whether AI is configured on the server, which model is in use, and AI generation credits remaining this period.

A trailing question mark means the parameter is optional. Email verification tools follow with the verification API.

Frequently Asked Questions

An MCP (Model Context Protocol) server is a small program that exposes a product's capabilities as tools an AI assistant can call. IGSendMail's MCP server exposes your lists, subscribers, campaigns and automations, so Claude, ChatGPT or Cursor can read your stats, add contacts or draft a campaign when you ask in plain English, using your own API token.

Any client that supports MCP: Claude Code, Claude Desktop, claude.ai, ChatGPT connectors, Cursor, Windsurf, and VS Code in agent mode. They all connect the same way — point the client at https://igsendmail.com/api/mcp and pass your API token as a bearer header. There is nothing to install.

Yes, on every IGSendMail plan including the free plan. You only need an API token from your account settings. Usage counts against the same sending and subscriber limits as the web app, nothing extra.

No. Creating a campaign only makes a draft. Sending, deleting, unsubscribing and triggering automations require an explicit confirm flag and are marked destructive in the tool metadata, so compliant clients ask you before running them. The server never acts on its own; it only responds to tool calls your assistant makes.

Add or import subscribers with custom fields and tags, search your lists, create and edit lists and merge fields, draft campaigns from HTML, launch, pause or resume them, pull full campaign statistics including opens, clicks, bounces and top links, and trigger automation workflows. Every tool is listed on this page with the parameters it takes.

The token lives in your MCP client's config and is sent over HTTPS on each request. The endpoint is stateless: it reads your token from the Authorization header, uses it for that one request against your own account, and stores nothing. Revoke or regenerate it any time from Account → API token.

Your AI assistant, now with an email list

Unlimited contacts on every paid plan, 3,000 free emails a month to start, and an MCP server included on all of them.