EmailOctopus MCP server
EmailOctopus in any MCP client, through Memtro: EmailOctopus does not publish this server. Memtro's EmailOctopus connector reads EmailOctopus through its API with the credentials you connect, and one endpoint hands those tools, every other system you connect and Memtro's memory tools to Claude Code, Cursor, Claude Desktop or anything else that speaks Streamable HTTP, as you.
What the model can do
EmailOctopus email marketing: lists with subscriber counts, a list's contacts by status, tag or date with their tags, a list's tags, campaigns with subject, sender and status, and a campaign's results (sent, opens, clicks, bounces, unsubscribes, complaints); and, when asked, add, update, unsubscribe or delete a contact, start an automation for one, create, rename or delete a list, add a field, and create, rename or delete a tag.
Reads
emailoctopus_list_listsEmailOctopus lists: id, name, double opt-in, subscribed, unsubscribed and pending counts, tags, and dates.emailoctopus_list_contactsContacts on one EmailOctopus list with one status (subscribed by default, or unsubscribed, pending, or all three): email…emailoctopus_list_tagsThe tags defined on one EmailOctopus list.emailoctopus_list_campaignsEmailOctopus campaigns: name, subject, preview text, status (draft, sending, sent, error), the list ids it went to, sender…emailoctopus_campaign_reportOne EmailOctopus campaign's results: contacts sent to, hard and soft bounces, total and unique opens and clicks, complaints and unsubscribes…
Acts, when you ask
These change something in EmailOctopus. The model is told to use them only when you ask for exactly that, and each one is granted by name: per team on a shared connection, by the owner on a personal one.
emailoctopus_create_tagCreate a new tag on an EmailOctopus list.emailoctopus_create_contactAdd a new contact to an EmailOctopus list, with an explicit status.emailoctopus_upsert_contactCreate a contact on a list, or update the one with this email if it is already there.emailoctopus_update_contactUpdate one contact on a list (by contact id or email): a new email address, field values, tags to add or remove, or status.emailoctopus_unsubscribe_contactUnsubscribe one contact (by id or email) from a list: they stop receiving that list's campaigns and automations.emailoctopus_delete_contactDelete one contact (by id or email) from a list, permanently, with their fields and tags.emailoctopus_start_automationStart an automation for one contact (by id or email); the automation then emails them as it is built to.emailoctopus_create_listCreate a new, empty EmailOctopus list.emailoctopus_rename_listRename an EmailOctopus list.emailoctopus_delete_listDelete an EmailOctopus list and every contact on it, permanently.emailoctopus_create_fieldAdd a field to a list (text, number, date, or a single or multiple choice).emailoctopus_rename_tagRename a tag on a list; contacts carrying it keep it under the new name.emailoctopus_delete_tagDelete a tag from a list, permanently; it is removed from every contact carrying it.
Connect it
First connect EmailOctopus on Dashboard → Connections, then add Memtro to your client once. The EmailOctopus tools appear alongside the tools of everything else you have connected; nothing is configured per connector.
Claude Code
The Memtro plugin registers the server and a skill for when to use it; the tools are then available in every session.
claude plugin marketplace add memtro-org/claude-memtro
claude plugin install memtro@memtro --config api_key=sk-memtro-...Cursor
Add the server to .cursor/mcp.json in the project, or to the global file under ~/.cursor/.
{
"mcpServers": {
"memtro": {
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Claude Desktop
Create a personal API key on Dashboard → Profile → API keys. In Claude Desktop add an MCP server of type HTTP with URL https://platform.memtro.com/api/mcp and the header Authorization: Bearer sk-memtro-…
OpenCode
A remote server in opencode.json.
{
"mcp": {
"memtro": {
"type": "remote",
"url": "https://platform.memtro.com/api/mcp",
"headers": {
"Authorization": "Bearer sk-memtro-..."
}
}
}
}Pi
One command: pi mcp add memtro --url https://platform.memtro.com/api/mcp --bearer-token-env-var MEMTRO_API_KEY. Tools arrive as mcp__memtro__*. The pi-memtro extension registers it for you, alongside Memtro as the model.
Any other client
Add an MCP server of type HTTP (Streamable HTTP, stateless) at https://platform.memtro.com/api/mcp with the header Authorization: Bearer sk-memtro-.... Codex, Zed, Windsurf, Cline and the SDKs all take a remote server this way.
Who may use it
The key identifies the person, and the server offers that person the tools they may use everywhere else in Memtro. A shared EmailOctopus connection is used by the teams an administrator granted it to, tool by tool, on the Permissions page; a personal connection is used by its owner alone, and its tools that act stay off until the owner allows them. See Teams and permissions and Connectors.
Ask it like this
- › How did the last campaign do on opens and clicks?
- › How many subscribers are on the newsletter list?
- › Who unsubscribed from the customers list this month?
- › Add priya.sharma@globex.com to the newsletter list as pending
- › Tag everyone from yesterday's webinar sign-ups with webinar-2026
Questions
- Is this an official EmailOctopus MCP server?
- No. It is Memtro's MCP server with Memtro's EmailOctopus connector behind it: the connector reads EmailOctopus through its API with the credentials you connect on Dashboard → Connections, and EmailOctopus publishes nothing here. The same endpoint carries every other system you connect and Memtro's memory tools.
- What does it cost?
- Nothing on top of Memtro. One price per organisation by its number of users, from $50 a month for up to 10 users after a 7-day free trial, with every connector, the MCP server, jobs and memory included. You bring your own model keys.
- Can it change anything in EmailOctopus?
- Only when you ask, and only what it has been granted: create a new, empty tag on a list, rename a tag, or delete one; add a contact to a list, or create-or-update one by email, with an explicit status (subscribed or pending can email them); update a contact's email, fields, tags or status, or unsubscribe them; delete a contact from a list (permanent); start an API-triggered automation for one contact (it emails them); create, rename or delete a list (deleting removes its contacts, permanently); add a field to a list. Every other tool reads, searches or lists. An administrator grants each acting tool by name per team, and a personal connection acts only after its owner allows it.
- Which clients work?
- Any MCP client that speaks Streamable HTTP: Claude Code, Cursor, Claude Desktop, OpenCode, Codex, Zed, Windsurf, Cline and the Anthropic and OpenAI SDKs. There is no local process to run; the server is remote and authenticated with your key.