EmailOctopus MCP server
25 operations0 webhooks
EmailOctopus lists, contacts, tags, custom fields, campaigns and automations on API v2.
Try EmailOctopus with your agent
Connect EmailOctopus, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in EmailOctopus on my account, then run one read-only example and show me the result.
EmailOctopus tools and triggers
Tools are what your agent can do in EmailOctopus through Corsair's MCP server. Triggers are the EmailOctopus events a routine can start from.
Contacts
- BatchWrite
Update many contacts on a list. Each entry is reported under success or errors
contacts.batch
- CreateWrite
Add a contact to a list. Fails if that email is already on it
contacts.create
- DeleteDestructive
Permanently delete a contact from a list
contacts.delete
- GetRead-only
Get one contact on a list
contacts.get
- ListRead-only
List contacts on a list, optionally filtered by status, tag or time, with cursor paging
contacts.list
- UpdateWrite
Update a contact by id
contacts.update
- UpsertWrite
Create a contact or update the existing one with the same email address
contacts.upsert
Campaigns
- GetRead-only
Get one campaign, including its subject and HTML content
campaigns.get
- ListRead-only
List campaigns, one page at a time
campaigns.list
- Report ContactsRead-only
List contacts for one campaign event, such as opened or bounced
campaigns.reportContacts
- Report LinksRead-only
Get click totals for each link in a campaign
campaigns.reportLinks
- Report SummaryRead-only
Get sent, bounce, open, click, complaint and unsubscribe totals
campaigns.reportSummary
Lists
- CreateWrite
Create a list
lists.create
- DeleteDestructive
Permanently delete a list and its contacts
lists.delete
- GetRead-only
Get one list, including its fields, tags and contact counts
lists.get
- ListRead-only
List every list in the account, one page at a time
lists.list
- UpdateWrite
Rename a list
lists.update
Tags
- CreateWrite
Create a tag on a list
tags.create
- DeleteDestructive
Permanently delete a tag from a list
tags.delete
- ListRead-only
List the tags on a list
tags.list
- UpdateWrite
Rename a tag. The current name is the URL; the new name is the body
tags.update
Fields
- CreateWrite
Add a custom field to a list
fields.create
- DeleteDestructive
Permanently delete a custom field from a list
fields.delete
- UpdateWrite
Update a text, number or date field on a list
fields.update
Automations
- StartWrite
Queue a contact into an automation
automations.start
Connect EmailOctopus to Claude, ChatGPT or Cursor
- 1
Connect EmailOctopus in Corsair
Add your EmailOctopus API key once in Corsair. Corsair stores the credential encrypted and makes the EmailOctopus API calls for your agent, so it never goes into a prompt or a config file. Connect EmailOctopus
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs EmailOctopus. On a ChatGPT personal plan, connect EmailOctopus here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, EmailOctopus's read and write operations run right away and its 4 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/emailoctopus, add the EmailOctopus plugin, and connect with an API key. Then call methods like corsair.emailoctopus.api.automations.start() from your app. Corsair keeps each tenant isolated.
Yes. EmailOctopus requires an API key from your EmailOctopus account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit EmailOctopus, GitHub, Notion, Stripe, and the rest. Trigger EmailOctopus from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for emailoctopus lists, contacts, tags, custom fields, campaigns and automations on api v2. Common builds include sync jobs, admin tooling, and agents that call EmailOctopus APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per EmailOctopus API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/emailoctopus in the open repo. When EmailOctopus ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your EmailOctopus data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store EmailOctopus data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put EmailOctopus on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 4 destructive EmailOctopus operations. You can change a link's mode at hub.corsair.dev/me.