EmailOctopus MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.36.4Updated Nov 7, 2026

Manage lists, contacts and campaigns, and read campaign performance reports on EmailOctopus.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Hosted MCP server for EmailOctopus: lets an assistant browse lists, contacts and campaigns, read campaign reports, and edit lists and contacts.

What you can do
  • List and inspect email lists, with contact counts by status
  • List and read contacts in a list, including fields, tags and status
  • List and read campaigns, with subject, status and content
  • Read campaign performance reports: aggregate opens, clicks, bounces, unsubscribes, and per-link click counts
  • Create and rename lists, and create, update or delete contacts
  • Check monthly tool-call usage and manage the subscription plan
When to use it
Useful when you want an assistant to answer questions about EmailOctopus subscriber lists and campaign results, or to make small list and contact changes without opening the EmailOctopus dashboard.
Requirements
Remote endpoint at emailoctopus.usefulapi.io/mcp, added by URL only; no local install. Sign-in is via OAuth, and the login page asks for an EmailOctopus API token (Account, Integrations & API), stored per user. A free plan allows 50 tool calls per month; paid plans raise the limit.
Before you install
Write tools create, rename and delete live EmailOctopus data, and deleting a contact cannot be undone; confirm before running them. The server asks for an EmailOctopus API token, which it stores per user. Paid plans (Pro, Pro+) are billed through a Stripe checkout link, and cancelling gives no refund for the current period. Usage is metered per tool call.

Installation

In SourceWeft

  1. Open EmailOctopus MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Femailoctopus/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "emailoctopus-by-usefulapi": {
      "type": "http",
      "url": "https://emailoctopus.usefulapi.io/mcp"
    }
  }
}

README

EmailOctopus MCP by usefulapi

Manage EmailOctopus from Claude, Cursor, or any MCP client — manage lists, contacts and campaigns, and read campaign performance reports. Hosted, no local install: connect with your EmailOctopus API token.

Live endpoint: https://emailoctopus.usefulapi.io/mcp · Homepage: https://usefulapi.io

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://emailoctopus.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http emailoctopus https://emailoctopus.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "emailoctopus": {      "url": "https://emailoctopus.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your EmailOctopus credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/emailoctopus/

On first connect you'll paste your EmailOctopus API token (EmailOctopus → Account → Integrations & API). It's validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
emailoctopus_list_listsreadList lists
emailoctopus_get_listreadGet list
emailoctopus_list_contactsreadList contacts
emailoctopus_get_contactreadGet contact
emailoctopus_list_campaignsreadList campaigns
emailoctopus_get_campaignreadGet campaign
emailoctopus_get_campaign_reportreadGet campaign report
emailoctopus_get_campaign_links_reportreadGet campaign links report
emailoctopus_create_listwriteCreate list
emailoctopus_update_listwriteUpdate list
emailoctopus_create_contactwriteCreate contact
emailoctopus_update_contactwriteUpdate contact
emailoctopus_delete_contactwriteDelete contact
emailoctopus_usage_statusmetaUsage status (free-tier meter)
emailoctopus_request_featuremetaRequest a missing feature
emailoctopus_upgrademetaUpgrade to Pro or Pro+
emailoctopus_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)Unlimited*

*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].

Pro covers this server only. Subscribe with emailoctopus_upgrade (it returns a Stripe Checkout link). Cancel any time with emailoctopus_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running emailoctopus_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT — see LICENSE. Documentation only; the server is hosted.

Source: servers/emailoctopus/README.md at commit 4046075

Tools

13

emailoctopus_list_lists

List lists

List all lists in the account. Returns {data:[...],paging:{...}} — each list's id, name, contact counts by status, and created_at. Paginate with `limit` (max 100) and `starting_after` (cursor from the previous page). EmailOctopus: GET /lists.

Parameterslimitstarting_after

emailoctopus_get_list

Get list

Get a single list by its id. Returns the list's full state — name, contact counts by status, and created_at. EmailOctopus: GET /lists/{list_id}.

Parameterslist_idrequired

emailoctopus_list_contacts

List contacts

List the contacts in a list. Returns {data:[...],paging:{...}} — each contact's id, email_address, fields, tags, status, and created_at. Paginate with `limit` (max 100) and `starting_after`. EmailOctopus: GET /lists/{list_id}/contacts.

Parameterslimitlist_idrequiredstarting_after

emailoctopus_get_contact

Get contact

Get a single contact in a list. Returns email_address, fields, tags, status, and created_at. `contact_id` is the MD5 hash of the lowercased email address, or the `id` returned by emailoctopus_list_contacts. EmailOctopus: GET /lists/{list_id}/contacts/{contact_id}.

Parameterslist_idrequiredcontact_idrequired

emailoctopus_list_campaigns

List campaigns

List all campaigns in the account. Returns {data:[...],paging:{...}} — each campaign's id, name, status, subject, and created_at. Paginate with `limit` (max 100) and `starting_after`. EmailOctopus: GET /campaigns.

Parameterslimitstarting_after

emailoctopus_get_campaign

Get campaign

Get a single campaign by its id. Returns the campaign's full state — name, status, subject, from, content, and created_at. EmailOctopus: GET /campaigns/{campaign_id}.

Parameterscampaign_idrequired

emailoctopus_get_campaign_report

Get campaign report

Get a campaign's aggregate performance report — sent, opened, clicked, bounced, unsubscribed, complained, and related counts. EmailOctopus: GET /campaigns/{campaign_id}/reports/summary.

Parameterscampaign_idrequired

emailoctopus_create_list

Create list

CREATES a new list — this MODIFIES live data. Provide a `name`. EmailOctopus: POST /lists. Returns the created list.

Parametersnamerequired

emailoctopus_update_list

Update list

UPDATES an existing list by id — this MODIFIES live data. Sets the list's `name`. EmailOctopus: PUT /lists/{list_id}. Returns the updated list.

Parametersnamerequiredlist_idrequired

emailoctopus_create_contact

Create contact

CREATES a new contact in a list — this MODIFIES live data (adds a subscriber). `email_address` is required; optionally set `fields` (keyed by field tag), `tags`, and `status`. EmailOctopus: POST /lists/{list_id}/contacts. Returns the created contact.

Parameterstagsfieldsstatuslist_idrequiredemail_addressrequired

emailoctopus_update_contact

Update contact

UPDATES an existing contact in a list — this MODIFIES live data. Send only the fields you want to change (email_address, fields, tags, status). `contact_id` is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: PUT /lists/{list_id}/contacts/{contact_id}. Returns the updated contact.

Parameterstagsfieldsstatuslist_idrequiredcontact_idrequiredemail_address

emailoctopus_delete_contact

Delete contact

PERMANENTLY REMOVES a contact from a list — this MODIFIES live data and cannot be undone. `contact_id` is the MD5 hash of the lowercased email address, or the id from list_contacts. EmailOctopus: DELETE /lists/{list_id}/contacts/{contact_id}.

Parameterslist_idrequiredcontact_idrequired

Version history

21
  1. v1.36.4LatestNov 7, 2026
  2. v1.35.3Nov 5, 2026
  3. v1.35.2Nov 5, 2026
  4. v1.35.1Nov 4, 2026
  5. v1.35.0Nov 3, 2026
  6. v1.34.1Nov 3, 2026
  7. v1.33.0Nov 1, 2026
  8. v1.31.0Oct 31, 2026
  9. v1.30.0Oct 31, 2026
  10. v1.29.2Oct 30, 2026
  11. v1.29.0Oct 30, 2026
  12. v1.24.0Oct 26, 2026
  13. v1.21.3Oct 25, 2026
  14. v1.21.0Oct 25, 2026
  15. v1.20.0Oct 24, 2026
  16. v1.17.0Oct 23, 2026
  17. v1.16.4Oct 22, 2026
  18. v1.16.3Oct 21, 2026
  19. v1.11.1Oct 9, 2026
  20. v1.10.0Oct 9, 2026
  21. v1.0.0Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations